:root{
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  --ink:#fff;
  --ink-dim:rgba(240,250,255,.93);
  --accent:#ffe27a;
  --accent-ink:#33270a;
  --sky-top:#5db7e6;
  --horizon:#c9edf5;
  --sky-ink:#062a44;
  --panel:rgba(3,24,44,.4);
  --rule:rgba(234,248,255,.24);
  --display:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  --text:"Newsreader",Georgia,"Times New Roman",serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){--sky-top:#3a86b8;--horizon:#a9d6e6}
}
:root[data-theme="dark"]{--sky-top:#3a86b8;--horizon:#a9d6e6}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
*,*::before,*::after{box-sizing:inherit}
body{
  margin:0;background:#0d5f86;color:var(--ink);
  font-family:var(--text);font-size:clamp(1.05rem,.98rem + .3vw,1.25rem);line-height:1.6;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}

/* ---------- stałe warstwy oceanu ---------- */
.deepbg{position:fixed;inset:0;z-index:0;background:linear-gradient(180deg,#1a8fab,#0d5f86)}
#fx{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.critters{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.fishes,.jellies{position:absolute;inset:0;opacity:0}

.fish{position:absolute;left:0;width:var(--w,54px);color:var(--c,#c5e8f2);opacity:.85;
  animation:swim var(--t,40s) linear var(--delay,0s) infinite;will-change:transform}
.fish svg{display:block;width:100%;height:auto;animation:bobf 3.2s ease-in-out infinite alternate}
.fish.r{animation-name:swimr}
.fish.r svg{scale:-1 1}
.fish.school{width:130px;height:70px}
.fish.school svg{position:absolute;width:20px}
@keyframes swim{from{transform:translateX(112vw)}to{transform:translateX(-180px)}}
@keyframes swimr{from{transform:translateX(-180px)}to{transform:translateX(112vw)}}
@keyframes bobf{from{transform:translateY(-7px)}to{transform:translateY(7px)}}

.jelly{position:absolute;filter:drop-shadow(0 0 12px rgba(190,150,255,.7));
  animation:jf var(--t,14s) ease-in-out infinite alternate}
.jelly svg{display:block;width:100%;height:auto;transform-origin:50% 40%;animation:pulse 3s ease-in-out infinite}
@keyframes jf{from{transform:translate(0,-5vh)}to{transform:translate(2vw,7vh)}}
@keyframes pulse{0%,100%{transform:scale(1,1)}50%{transform:scale(1.08,.9)}}

/* ---------- nawigacja ---------- */
.nav{
  position:fixed;z-index:8;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:.2rem;padding:.35rem .45rem .35rem 1.1rem;border-radius:999px;
  background:rgba(3,24,44,.46);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  color:#fff;font:500 .95rem var(--display);white-space:nowrap;
}
.nav b{font-weight:700;margin-right:.6rem}
.nav .brand{display:flex;align-items:center;gap:.5rem}
.nav .logo{width:auto;height:32px;flex:none;display:block}
.nav a{color:inherit;text-decoration:none;padding:.4rem .8rem;border-radius:999px}
.nav a:hover,.nav a:focus-visible{background:rgba(255,255,255,.18);outline:none}
.nav a:focus-visible{box-shadow:0 0 0 2px #fff}

/* ---------- hero: nad i pod taflą ---------- */
.hero{position:relative;z-index:3;height:280vh}
.stage{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden}
.sky{
  position:absolute;left:0;right:0;top:0;height:64%;z-index:2;will-change:transform;
  background:linear-gradient(180deg,var(--sky-top),var(--horizon));
}
.sun{
  position:absolute;top:11%;right:11%;width:clamp(70px,9vw,120px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,#fffbe6 0 40%,#ffe9a0 62%,rgba(255,233,160,0) 74%);
  box-shadow:0 0 90px 30px rgba(255,244,200,.5);
}
.sky-copy{position:absolute;left:0;right:0;bottom:16%;padding:0 6vw;color:var(--sky-ink)}
.sky-copy h1{
  font:300 clamp(2.7rem,8.6vw,7.6rem)/.94 var(--display);font-variation-settings:"opsz" 96;
  letter-spacing:-.03em;margin:0 0 1.1rem;max-width:11ch;
}
.sky-copy p{max-width:29rem;margin:0}
.boat{position:absolute;right:19%;bottom:-40px;width:clamp(110px,15vw,180px);z-index:1;
  transform-origin:50% 92%;animation:bob 5s ease-in-out infinite}
.boat svg{display:block;width:100%;height:auto}
@keyframes bob{0%,100%{transform:rotate(-1.2deg) translateY(0)}50%{transform:rotate(1.2deg) translateY(3px)}}
.wave{position:absolute;left:0;top:100%;width:200%;height:44px;margin-top:-1px;animation:wave 9s linear infinite}
.wave .fill{fill:var(--horizon)}
.wave .foam{fill:none;stroke:rgba(255,255,255,.8);stroke-width:2}
@keyframes wave{to{transform:translateX(-50%)}}

.under{
  position:absolute;inset:0;z-index:3;display:grid;place-content:center;text-align:center;padding:0 12vw;
  opacity:0;text-shadow:0 2px 24px rgba(0,25,45,.5);pointer-events:none;
}
.under h2{font:300 clamp(2.3rem,6.6vw,5.2rem)/1 var(--display);letter-spacing:-.025em;margin:0 0 .8rem}
.under p{margin:0;font-style:italic;color:var(--ink-dim)}
.cue{
  position:absolute;z-index:3;left:50%;bottom:calc(5vh + env(safe-area-inset-bottom,0px));transform:translateX(-50%);
  text-align:center;font:500 .95rem var(--display);color:#fff;text-shadow:0 1px 10px rgba(0,30,50,.6);
}
.cue i{display:block;width:14px;height:14px;margin:.7rem auto 0;border-radius:50%;border:2px solid #fff;animation:cue 2.4s ease-in infinite}
@keyframes cue{0%{transform:translateY(10px);opacity:0}30%{opacity:1}100%{transform:translateY(-16px);opacity:0}}
.flash{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;
  background:radial-gradient(ellipse at 50% 55%,rgba(255,255,255,.75),rgba(255,255,255,0) 62%)}

/* maska nurkowa: widok „z twarzy” */
.mask{position:fixed;inset:-3%;width:106%;height:106%;z-index:6;pointer-events:none;opacity:0;filter:blur(9px)}
.mask path{fill:rgba(2,10,22,.94);fill-rule:evenodd}

/* ---------- znacznik głębokości: jeden stały panel ---------- */
.meter{
  --mc:#fff;--ms:rgba(0,25,45,.55);
  position:fixed;z-index:7;right:max(40px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);width:14rem;
  display:flex;flex-direction:column;align-items:flex-end;gap:.55rem;text-align:right;color:var(--mc);text-shadow:0 1px 8px var(--ms);
  transition:color .4s,opacity .5s,visibility .5s;pointer-events:none
}
.meter.light{--mc:#062a44;--ms:transparent}
.meter p{margin:0}
.meter .n{font:300 4.4rem/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.03em;white-space:nowrap}
.meter .n .u{font:500 1.4rem var(--display);margin-left:.3rem;letter-spacing:0}
.meter .n .p{font:500 1.15rem var(--display);margin-left:.45rem;letter-spacing:0;opacity:.9}
.meter .t{width:100%;height:4.2rem;font:500 1.05rem/1.3 var(--display);transition:opacity .35s,visibility .35s}
.meter .mbtn{width:100%;height:5rem;display:flex;align-items:center;justify-content:center;border-radius:20px;padding:.5rem 1rem;
  white-space:normal;text-align:center;font:600 .98rem/1.25 var(--display);text-shadow:none;transition:opacity .35s,visibility .35s,background .2s,transform .2s}
.meter:not(.has) .t,.meter:not(.has) .mbtn{opacity:0;visibility:hidden}
.meter.has .mbtn{pointer-events:auto}
.rail{position:fixed;z-index:7;right:14px;top:14vh;height:72vh;width:3px;border-radius:2px;color:#fff;background:currentColor;opacity:.9;pointer-events:none;transition:color .4s,opacity .5s,visibility .5s}
.rail.light{color:#062a44}
.meter.gone,.rail.gone{opacity:0;visibility:hidden}
.meter.gone .mbtn{pointer-events:none}
.rail i{position:absolute;right:0;top:calc(var(--d) / 40 * 100%);width:12px;height:3px;background:currentColor;transform:translateY(-50%)}
.rail .marker{position:absolute;right:-5.5px;top:0;width:14px;height:14px;border-radius:50%;background:var(--accent);
  transform:translateY(-50%);box-shadow:0 0 0 5px rgba(255,226,122,.3)}


/* znacznik: pełny tylko tam, gdzie mieści się obok treści */
@media (min-width:1440px) and (max-width:1599px){.meter{width:13rem;right:28px}}
@media (max-width:1439px){
  .meter{width:auto;right:30px;gap:0}
  .meter .t,.meter .mbtn{display:none !important}
  .meter .n{font-size:2.2rem}
  .meter .n .u{font-size:.95rem;margin-left:.2rem}
  .meter .n .p{display:block;font-size:.78rem;margin:.3rem 0 0}
}
/* ---------- treść pod wodą ---------- */
.ocean{position:relative;z-index:3}
.depth{min-height:0;display:flex;align-items:center}
.wrap{
  width:100%;max-width:72rem;margin:0 auto;padding:6vh 6vw;padding-right:max(6vw,110px);
  display:grid;grid-template-columns:minmax(0,38rem) minmax(0,1fr);gap:3rem 5vw;align-items:end;
  text-shadow:0 1px 14px rgba(0,25,45,.38);
}
.wrap.wide{grid-template-columns:minmax(0,1fr)}
.wrap.wide .note{margin-top:1.5rem}
.wrap h2{font:300 clamp(2.1rem,4.8vw,3.8rem)/1.02 var(--display);letter-spacing:-.025em;margin:0 0 1.3rem;font-variation-settings:"opsz" 72}
.wrap p{margin:0 0 1rem;max-width:36rem}
.note{
  margin:0;max-width:19rem;padding-left:1rem;border-left:2px solid var(--accent);
  font-style:italic;font-size:1rem;line-height:1.5;color:var(--ink-dim);
}
.ph{border-bottom:1px dashed currentColor}

.rows{list-style:none;margin:2rem 0 0;padding:0 1.5rem;background:var(--panel);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:4px}
.row{display:grid;grid-template-columns:var(--cw) minmax(0,1fr);column-gap:clamp(4.5rem,8.5vw,7.5rem);padding:2.4rem 0;align-items:center;--cw:clamp(230px,27vw,360px)}
.row + .row{border-top:1px solid var(--rule)}
.row .d{font:300 clamp(1.9rem,3.2vw,2.8rem)/1 var(--display);letter-spacing:-.02em;white-space:nowrap}
.row h3{font:600 1.25rem/1.2 var(--display);margin:0 0 .3rem}
.row p{margin:0;color:var(--ink-dim);font-size:1rem;max-width:34rem}
.row .meta{display:block;margin-top:.9rem;font:500 .95rem var(--display);white-space:nowrap;color:var(--ink-dim)}
.rbody{min-width:0}
.row .d{display:block;margin-bottom:.6rem}

.trips{list-style:none;margin:1.8rem 0 0;padding:0;max-width:34rem}
.trips li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule)}
.trips li:first-child{border-top:1px solid var(--rule)}
.trips strong{font:500 1.5rem/1.2 var(--display)}
.trips span{font-style:italic;color:var(--ink-dim)}

.btns{display:flex;flex-wrap:wrap;gap:.8rem;margin:2rem 0 1.6rem}
.btn{
  font:600 1rem var(--display);padding:.9rem 1.6rem;border-radius:999px;text-decoration:none;
  border:1.5px solid rgba(255,255,255,.65);color:#fff;background:transparent;cursor:pointer;
  text-shadow:none;transition:background .2s,color .2s;
}
.btn:hover{background:rgba(255,255,255,.16)}
.btn.main{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.main:hover{background:#fff1b0}
.btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.contact{font:500 1rem/1.7 var(--display);color:var(--ink-dim);margin:0}
.foot{font-size:.9rem;color:var(--ink-dim);margin-top:2.5rem !important}

/* ---------- mniejsze ekrany ---------- */
@media (max-width:820px){
  .wrap{grid-template-columns:minmax(0,1fr);padding-right:6vw;align-items:start}
  .meter{top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));right:18px;transform:none;width:auto;gap:0;
    background:rgba(3,24,44,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:.3rem .55rem .35rem;border-radius:10px;text-shadow:none}
  .meter.light{--mc:#fff}
  .meter .n{font-size:1.15rem;line-height:1.05}
  .meter .n .u{font-size:.68rem;margin-left:.12rem}
  .meter .n .p{font-size:.6rem;margin:.1rem 0 0;opacity:.85}
  .rail{right:6px;top:22vh;height:54vh;width:2px}
  .rail i{width:9px;height:2px}
  .rail .marker{right:-6px;width:13px;height:13px}
  .nav{font-size:.85rem;padding-left:.9rem}
  .nav a{padding:.35rem .55rem}
  .nav b{margin-right:.2rem}
  .row{grid-template-columns:minmax(0,1fr);gap:.4rem;padding:1.5rem 0}
  .row .d{font-size:1.6rem;margin:0;order:1}
  .rbody{display:contents}
  .rtxt{order:2}
  .rcert{order:3}
  .row .meta{order:4;margin-top:0}
  .boat{right:8%}
}
@media (prefers-reduced-motion:reduce){
  .wave,.boat,.fish,.fish svg,.jelly,.jelly svg,.cue i{animation:none}
  .hero{height:100vh}
  .stage{position:relative}
  .cue,.fishes,.jellies{display:none}
}

/* ---------- hero z nagraniem ---------- */
.hero{height:720vh}
.vbg{position:absolute;inset:0;width:100%;height:100%;filter:blur(34px) brightness(.8) saturate(1.1);transform:scale(1.15)}
.vid{position:absolute;inset:0;width:100%;height:100%}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,25,45,.42),rgba(0,25,45,0) 34%,rgba(0,25,45,0) 70%,rgba(0,25,45,.35))}
.sky-copy{top:calc(11vh + env(safe-area-inset-top,0px));bottom:auto;text-align:center;color:#fff;
  text-shadow:0 2px 22px rgba(0,25,45,.55);display:flex;flex-direction:column;align-items:center;z-index:3}
.sky-copy h1{font-size:clamp(2.2rem,9vw,4.4rem);max-width:12ch;margin-bottom:.8rem}
.sky-copy p{font-size:clamp(1rem,.95rem + .4vw,1.2rem);max-width:24rem}
.under{place-content:start center;padding-top:calc(16vh + env(safe-area-inset-top,0px))}
.under p{color:#fff;font-weight:500;text-shadow:0 1px 4px rgba(0,25,45,.8),0 2px 20px rgba(0,25,45,.6)}
.loading{position:absolute;z-index:5;left:50%;bottom:calc(14vh);transform:translateX(-50%);
  font:500 .9rem var(--display);color:#fff;text-shadow:0 1px 10px rgba(0,30,50,.7);transition:opacity .4s}
@media (min-aspect-ratio:1/1){
  .sky-copy{top:auto;bottom:14vh;left:5vw;right:auto;padding:0;align-items:flex-start;text-align:left;max-width:26vw}
  .sky-copy h1{font-size:clamp(2.4rem,4.2vw,4.6rem)}
  .under{padding-top:15vh}
}
@media (prefers-reduced-motion:reduce){ .hero{height:100vh} .loading{display:none} }

/* ---------- napisy w trakcie filmu ---------- */
.hero{height:300vh}
.caps{position:absolute;inset:0;z-index:3;pointer-events:none;color:#fff}
.cap{position:absolute;opacity:0;text-shadow:0 2px 26px rgba(0,25,45,.6),0 1px 4px rgba(0,25,45,.35);will-change:opacity,transform}
.cap span{display:block;max-width:11ch;font:300 clamp(2.5rem,12vw,4.8rem)/1 var(--display);
  font-variation-settings:"opsz" 96;letter-spacing:-.03em}
.cap.brand span{font-weight:500;letter-spacing:.06em;font-size:clamp(2.2rem,11vw,4.4rem);max-width:none}
/* telefon: napisy krążą po całym ekranie, na przemian z lewej i prawej */
.cap.c1{top:calc(12vh + env(safe-area-inset-top,0px));left:0;right:0;text-align:center}
.cap.c1 span{margin:0 auto}
.cap.c2{bottom:15vh;left:7vw;text-align:left}
.cap.c3{top:calc(15vh + env(safe-area-inset-top,0px));right:7vw;text-align:right}
.cap.c4{bottom:12vh;right:7vw;text-align:right}
.cap.c5{top:calc(13vh + env(safe-area-inset-top,0px));left:7vw;text-align:left}
.cap.c6{bottom:19vh;left:7vw;text-align:left}
.cap.c7{bottom:6vh;left:7vw;text-align:left}
.cap.c7 span{max-width:13ch;font-size:clamp(2.2rem,10.5vw,4.2rem)}
/* komputer: napisy po obu stronach pionowego filmu, na różnych wysokościach */
@media (min-aspect-ratio:1/1){
  .cap span{font-size:clamp(2.3rem,4.3vw,5rem);max-width:10ch;overflow-wrap:normal}
  .cap.brand span{font-size:clamp(2.2rem,4.6vw,5.2rem)}
  .cap.c1{top:auto;bottom:40vh;left:5vw;right:auto;text-align:left}
  .cap.c1 span{margin:0}
  .cap.c2{top:20vh;bottom:auto;right:5vw;left:auto;text-align:right}
  .cap.c3{top:31vh;left:5vw;right:auto;text-align:left}
  .cap.c4{top:auto;bottom:16vh;right:5vw;left:auto;text-align:right}
  .cap.c5{top:auto;bottom:24vh;left:5vw;right:auto;text-align:left}
  .cap.c6{top:19vh;left:5vw;right:auto;text-align:left}
  .cap.c7{top:auto;bottom:13vh;left:5vw;right:auto;text-align:left}
}

/* ---------- komputer: białe tło po bokach filmu (tymczasowo) ---------- */
@media (min-aspect-ratio:3/4){
  .vbg{background:#fff;filter:none;transform:none}
  .shade{display:none}
}
@media (min-aspect-ratio:1/1){
  .caps{color:#062a44}
  .cap{text-shadow:none}
  .cap span{font-size:clamp(1.7rem,min(4.3vw,calc(((100vw - 56.25vh) / 2 - 6.5vw) / 6.3)),5rem)}
  .cap.brand span{font-size:clamp(1.7rem,min(4.6vw,calc(((100vw - 56.25vh) / 2 - 6.5vw) / 7)),5.2rem)}
  .cap.c7 span{max-width:10ch;font-size:clamp(1.7rem,min(4.3vw,calc(((100vw - 56.25vh) / 2 - 6.5vw) / 6.3)),5rem)}
  .loading{color:#062a44;text-shadow:none}
}
@media (prefers-reduced-motion:reduce){ .hero{height:100vh} .cap{opacity:0} .cap.brand{opacity:1} }

/* ---------- dostępność i dopracowanie ---------- */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;z-index:20;left:12px;top:-60px;padding:.8rem 1.2rem;border-radius:999px;background:#fff;color:#062a44;
  font:600 1rem var(--display);text-decoration:none;transition:top .2s}
.skip:focus{top:calc(env(safe-area-inset-top,0px) + 12px);outline:3px solid var(--accent);outline-offset:2px}
.fine{font-size:.95rem;line-height:1.5;color:var(--ink-dim);margin:1.2rem 0 0 !important;max-width:40rem}
.wrap h2:focus{outline:none}
@media (max-width:820px){ .nav a{padding:.8rem .5rem} }
@media (max-width:520px){
  .nav{font-size:.8rem;padding-left:.6rem;padding-right:.3rem;max-width:calc(100vw - 16px)}
  .nav .bname{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nav a{padding:.8rem .42rem}
}
@media (prefers-reduced-motion:reduce){
  .caps{display:flex;flex-direction:column;gap:.6rem;top:calc(12vh + env(safe-area-inset-top,0px));bottom:auto;height:auto}
  .cap{position:static !important;opacity:1 !important;transform:none !important;padding:0 7vw;text-align:center !important}
  .cap span{margin:0 auto !important}
  .cap span{font-size:1.5rem;max-width:none;line-height:1.15}
  .cap.brand span{font-size:2.1rem}
  .caps{gap:.35rem}
}

/* ---------- nowe sekcje: specjalizacje, opinie, notatnik ---------- */
.chips{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:1rem}
.chips li,.cards article{background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:4px;padding:1.3rem 1.4rem}
.chips h3,.cards h3{font:600 1.2rem/1.2 var(--display);margin:0 0 .45rem}
.chips p,.cards p{margin:0 0 .8rem;font-size:1rem;color:var(--ink-dim);max-width:none}
.chips p{margin:0}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:2rem}
.quotes figure{margin:0;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:4px;padding:1.4rem 1.5rem}
.quotes blockquote{margin:0}
.quotes blockquote p{margin:0 0 1rem;max-width:none;font-style:italic;font-size:1.1rem;line-height:1.5}
.quotes figcaption{font:500 .95rem var(--display);color:var(--ink-dim)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:2rem}
.cards .trips{margin:.6rem 0 1rem}
.cards .trips strong{font-size:1.15rem}
.cards .trips li{padding:.65rem 0}
.cards .fine{margin:0 !important}
.link{color:#fff;font:500 1.05rem var(--display);text-underline-offset:4px}

/* kursy zaczynają się tuż pod filmem, bez pustego odcinka */
#kursy{margin-top:-6vh;min-height:0;align-items:flex-start}
#kursy .wrap{padding-top:6vh}


.logo-band{min-height:30vh;margin-top:-22vh;position:relative;z-index:4;display:flex;align-items:center;justify-content:center;padding:0 6vw}
.big-logo{display:block;width:min(620px,86vw);height:auto;filter:drop-shadow(0 2px 18px rgba(0,25,45,.35))}
.manifest{min-height:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:2.6rem;width:100%;max-width:72rem;margin-left:auto;margin-right:auto;padding:10vh max(6vw,110px) 8vh 6vw;overflow:clip}
@media (max-width:820px){.manifest{padding-right:6vw}}
.brand-id.lg{margin:0;gap:1.6rem}
.brand-id.lg .bi-mark{width:132px;height:132px}
.brand-id.lg .bi-mark img{height:132px}
.brand-id.lg .bi-txt{gap:.3rem}
.brand-id.lg .bi-txt b{font-size:clamp(1.6rem,3.6vw,2.3rem);font-weight:500}
.brand-id.lg .bi-txt span{font-size:clamp(1.05rem,2vw,1.3rem)}
.brand-id.lg .bi-txt em{font-size:clamp(1.05rem,2vw,1.3rem)}
@media (max-width:520px){.brand-id.lg{gap:1rem}.brand-id.lg .bi-mark{width:84px;height:84px}.brand-id.lg .bi-mark img{height:84px}.brand-id.lg .bi-txt b{font-size:1.3rem}}
.def{max-width:38rem;width:100%;border-left:2px solid rgba(255,226,122,.7);padding:.2rem 0 .2rem 1.6rem;text-align:left}
.def h2{font:400 1.25rem/1.3 var(--display);margin:0 0 .9rem;letter-spacing:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .7rem}
.def h2 b{font:inherit;font-weight:400}
.def .pron{opacity:.8;font-size:1rem}
.def h2 em{font:italic 400 1rem var(--text);opacity:.8}
.def ol{margin:0;padding-left:1.4rem}
.def li{margin:0 0 .55rem;font-size:1.08rem;line-height:1.55;padding-left:.3rem}
.def li::marker{color:var(--accent);font-family:var(--display);font-weight:600}
.def p{margin:0 0 .7rem !important;font-size:1.08rem;line-height:1.55;max-width:none}
.def .def-body p:first-child{opacity:.75;font-size:.98rem}
.def a{color:var(--accent);font-weight:600;text-decoration:none;white-space:nowrap}
.def a:hover{text-decoration:underline}
.brand-id{display:flex;align-items:center;gap:1.1rem;margin:0 0 1.4rem}
.bi-mark{flex:none;width:84px;height:84px;overflow:hidden;display:block}
.bi-mark img{height:84px;width:auto;max-width:none;display:block}
.bi-txt{display:flex;flex-direction:column;gap:.15rem;font-family:var(--display)}
.bi-txt b{font:600 1.35rem/1.15 var(--display);letter-spacing:-.01em}
.bi-txt span{font:400 1rem/1.3 var(--display);opacity:.9}
.bi-txt em{font:600 1rem/1.3 var(--display);font-style:normal;color:var(--accent)}
.lockup{display:block;width:min(380px,86vw);height:auto;margin:2.4rem 0 0}
/* uproszczone tło: bez rysunkowych ryb i meduz */
.critters{display:none}
/* ---------- podstrony kursów (styl: jasne płótno, pigułki, karty rozkładane jak talia) ---------- */
html.sub-open{overflow:hidden}
.sub{position:fixed;inset:0;z-index:30;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  background:#f5f8f9;color:#0b2a45;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;
  --s-ink:#0b2a45;--s-dim:#41596b;--s-line:#e1e9ed;--s-pill:#e3eef2}
.sub.on{opacity:1;visibility:visible}
.sub-in{max-width:1200px;margin:0 auto;padding:0 clamp(18px,4vw,48px) calc(72px + env(safe-area-inset-bottom,0px))}
.sub-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(env(safe-area-inset-top,0px) + 14px) 0 14px;background:linear-gradient(#f5f8f9 72%,rgba(245,248,249,0))}
.sub-mark{height:30px;width:auto;display:block}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;border-radius:100px;padding:.7rem 1.3rem;
  font:400 1rem/1.1 var(--display);letter-spacing:-.015em;text-decoration:none;color:var(--s-ink);background:var(--s-pill);border:0;cursor:pointer}
.pill:hover{background:#d4e6ec}
.pill.cta{background:var(--accent);box-shadow:0 0 0 4px rgba(255,226,122,.35)}
.pill.cta:hover{background:#ffd84f}
.pill.dark{background:#fff;color:var(--s-ink)}
.sub a:focus-visible,.sub button:focus-visible,.sub [tabindex]:focus-visible{outline:3px solid #2b7f8f;outline-offset:3px}
.sub-hero{padding:clamp(40px,8vh,96px) 0 0}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 22px}
.tags li{border-radius:100px;padding:.45rem .95rem;background:var(--s-pill);font:400 .92rem/1.1 var(--display);letter-spacing:-.01em}
.tags li.hl{background:#0b2a45;color:#fff}
.sub-title{font:300 clamp(2.7rem,7.4vw,6rem)/1 var(--display);letter-spacing:-.04em;margin:0;max-width:13ch}
.sub-title:focus{outline:none}
.sub-lead{font:400 clamp(1.1rem,1rem + .5vw,1.4rem)/1.45 var(--text);color:var(--s-dim);max-width:38rem;margin:26px 0 0}
.sub-h{font:300 clamp(1.8rem,3.6vw,2.7rem)/1.08 var(--display);letter-spacing:-.035em;margin:clamp(64px,10vh,110px) 0 8px}
.sub-hp{margin:0 0 28px;color:var(--s-dim);max-width:36rem;font-size:1.05rem}
.deck{list-style:none;padding:0;margin:0;display:grid;gap:18px;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.card{position:relative;background:var(--bg);border-radius:24px;padding:22px 22px 26px;display:flex;flex-direction:column;gap:12px;
  min-height:clamp(300px,34vw,400px);transition:transform .35s cubic-bezier(.2,.8,.2,1);will-change:transform}
.card:hover{transform:translateY(-6px) rotate(-.6deg)}
.card .num{align-self:flex-start;border-radius:100px;background:rgba(255,255,255,.72);padding:.32rem .75rem;font:400 .85rem/1 var(--display)}
.card svg{width:min(124px,58%);height:auto;align-self:center;margin:14px 0 6px;fill:none;stroke:#0b2a45;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.card svg .f{fill:#0b2a45;stroke:none}
.card svg .a{fill:var(--acc);stroke:none}
.card h4{font:400 1.32rem/1.15 var(--display);letter-spacing:-.025em;margin:auto 0 0}
.card p{font:400 1rem/1.45 var(--text);color:#2b4558;margin:0}
.info{display:grid;gap:18px;margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.info article{background:#fff;border:1px solid var(--s-line);border-radius:24px;padding:28px 28px 30px}
.info h4{font:400 1.25rem/1.2 var(--display);letter-spacing:-.02em;margin:0 0 .6rem}
.info p{margin:0;color:var(--s-dim);font-size:1.02rem;line-height:1.5}
.price{margin-top:18px;background:#0b2a45;color:#fff;border-radius:24px;padding:clamp(28px,4vw,44px);
  display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:space-between}
.price .lbl{font:400 .95rem var(--display);opacity:.75;margin:0 0 .4rem}
.price .big{font:300 clamp(2.1rem,4.6vw,3.4rem)/1 var(--display);letter-spacing:-.035em;margin:0}
.price .btns{display:flex;flex-wrap:wrap;gap:10px}
.sub-next{margin-top:48px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.sub .ph{border-bottom:1px dashed currentColor}
@media (max-width:900px){ .info{grid-template-columns:minmax(0,1fr)} .deck{--cols:2 !important} }
@media (max-width:520px){ .deck{--cols:1 !important} .card{min-height:0} .card svg{width:96px} .sub-top .pill{padding:.6rem 1rem;font-size:.92rem} .sub-mark{display:none} }
@media (prefers-reduced-motion:reduce){ .sub,.card{transition:none} }
/* wejście na podstronę z listy kursów */
.row{position:relative}
.rowlink{color:inherit;text-decoration:none}
.rowlink::after{content:"";position:absolute;inset:0;border-radius:6px}
.rowlink:focus-visible{outline:none}
.rowlink:focus-visible::after{outline:3px solid var(--accent);outline-offset:4px}
.stamp{position:absolute;top:calc(60% - 1.3rem);left:calc(100% - 54px);display:flex;align-items:center;gap:.45rem;padding:.5rem .85rem .5rem .65rem;border-radius:10px;background:var(--accent);color:var(--accent-ink);font:700 .8rem/1.1 var(--display);letter-spacing:.05em;text-transform:uppercase;text-align:left;white-space:nowrap;transform:rotate(-4deg);transform-origin:left center;box-shadow:0 8px 18px -6px rgba(0,20,40,.55);pointer-events:none;z-index:2;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.stamp i{font-style:normal;font-size:1.15rem;line-height:1}
.row:hover .stamp{transform:rotate(-1deg) scale(1.04)}
@media (max-width:1100px) and (min-width:821px){.stamp{left:calc(100% - 64px)}}
@media (max-width:820px){.stamp{top:calc(60% - 1.05rem);left:calc(100% - 26px);padding:.35rem .6rem .35rem .45rem;font-size:.66rem;gap:.35rem}.stamp i{font-size:.95rem}}
@media (prefers-reduced-motion:reduce){.stamp,.rcert{transition:none}}
.row .more{display:inline-block;margin-top:.55rem;border-radius:100px;padding:.35rem .8rem;background:var(--accent);font:600 .9rem var(--display);color:var(--accent-ink);transition:background .2s}
.rows .row[data-depth]:hover .more{background:#fff1b0}
.rows .row[data-depth]{cursor:pointer}
.chips li{position:relative}
.chips .chiplink{color:inherit;text-decoration:none}
.chips .chiplink::after{content:"";position:absolute;inset:0;border-radius:4px}
.chips .chiplink:focus-visible::after{outline:3px solid var(--accent);outline-offset:3px}
.chips li:hover{background:rgba(3,24,44,.6)}
.spec-more{margin-top:1.4rem}

/* ---------- karty certyfikatów SSI ---------- */
.rcert{position:relative;margin:0;width:100%;transform:rotate(var(--tilt,-3deg));transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.rows .row:nth-child(even) .rcert{--tilt:2.5deg}
.rows .row:hover .rcert{transform:rotate(0) scale(1.02)}
.row .cert{display:block;width:100%;height:auto;border-radius:14px;margin:0;box-shadow:0 24px 44px -16px rgba(0,10,25,.7),0 3px 10px rgba(0,10,25,.3)}
.chips .cert{display:block;width:100%;height:auto;border-radius:6px;margin:0 0 1rem;box-shadow:0 6px 16px rgba(0,10,25,.35)}
.sub-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:36px 56px;align-items:center}
.hero-certs{position:relative;width:100%;max-width:470px;aspect-ratio:400/254;justify-self:end}
.hero-certs:empty{display:none}
.hero-certs > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:18px;
  box-shadow:0 26px 50px -14px rgba(11,42,69,.4),0 2px 6px rgba(11,42,69,.14);
  transform:translate(var(--x,0),var(--y,0)) rotate(var(--r,-4deg));transition:transform 1s cubic-bezier(.2,.85,.2,1) .15s}
.sub:not(.on) .hero-certs > img{transform:translateY(40px) rotate(0)}
.card .cimg{display:block;width:100%;height:auto;border-radius:14px;margin:4px 0 6px;box-shadow:0 10px 22px -8px rgba(11,42,69,.35)}
@media (max-width:900px){ .sub-hero{grid-template-columns:minmax(0,1fr)} .hero-certs{justify-self:start;max-width:min(420px,86%);margin:6px 0 10px 4%} }
@media (max-width:820px){ .rcert{width:min(220px,62vw);margin:.5rem 0 .7rem;transform:none !important} .row .cert{border-radius:8px;box-shadow:0 8px 22px rgba(0,10,25,.45)} }
@media (prefers-reduced-motion:reduce){ .hero-certs > img{transition:none} }

/* ---------- wachlarz certyfikatów (specjalizacje) ---------- */
.hand{position:relative;width:100%;aspect-ratio:16/10.5}
.hand img{position:absolute;left:22%;top:14%;width:56%;height:auto;aspect-ratio:400/254;object-fit:cover;border-radius:12px;
  transform-origin:50% 230%;transform:translateY(calc(var(--i) * var(--i) * var(--lift,1.2%))) rotate(calc(var(--i) * var(--spread,5.5deg)));
  transition:transform .8s cubic-bezier(.2,.85,.2,1);box-shadow:0 18px 36px -12px rgba(0,10,25,.55),0 2px 6px rgba(0,10,25,.2)}
.hand:not(.open) img{--spread:0deg;--lift:0%}
.cert-fan:hover .hand img,.st-txt:hover + .cert-fan .hand img{--spread:7deg}
.stats3{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem 1.4rem;max-width:34rem}
.stats3 li{border-top:1px solid rgba(255,255,255,.35);padding-top:.6rem}
.stats3 b{display:block;font:300 clamp(1.7rem,3vw,2.4rem)/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stats3 span{display:block;margin-top:.3rem;font:400 .85rem/1.3 var(--display);opacity:.85}
.pull{margin:1.4rem 0 0;padding:.1rem 0 .1rem 1.2rem;border-left:2px solid rgba(255,226,122,.8);font:italic 400 clamp(1.25rem,2.2vw,1.55rem)/1.35 var(--text);max-width:30rem}
@media (max-width:520px){.stats3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.st-txt .st-btn{margin-top:1.8rem}
.spec-teaser{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2rem 4rem;align-items:center}
.cert-fan{display:block;cursor:pointer}
.st-btn{margin-top:1.6rem}
.tags.on-dark{margin:0 0 1.2rem}
.tags.on-dark li{background:rgba(255,255,255,.13);color:#fff}
.tags.on-dark li.hl{background:#fff;color:#062a44}
.hero-certs.multi{aspect-ratio:auto;max-width:540px}

@media (min-width:821px){
  section.depth .wrap h2{font-size:clamp(1.9rem,3.35vw,3.1rem)}
}
@media (min-width:1024px){ #h-spec,#h-nurk,#h-kontakt,#h-kursy{white-space:nowrap} }

#kontakt .wrap{grid-template-columns:minmax(0,1fr)}
#kontakt .btns{flex-direction:column;align-items:flex-start}
#kontakt .btns .btn{text-align:left}
@media (min-width:900px){ #kontakt .btns{flex-direction:row;flex-wrap:wrap} }

/* ---------- karuzele: specjalizacje, nurkowiska, opinie ---------- */
.car-sec .st-txt{max-width:40rem}
.car-sec .st-txt .st-btn{margin-top:1.4rem}
.car{position:relative;margin-top:2.2rem}
.car-track{--g:clamp(1rem,2vw,1.6rem);list-style:none;margin:0;padding:.8rem 0 2.8rem;display:flex;gap:var(--g);overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 56px),transparent)}
.car.at-end .car-track{-webkit-mask-image:none;mask-image:none}
.car:not(.at-start) .car-track{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 56px),transparent)}
.car:not(.at-start).at-end .car-track{-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px);mask-image:linear-gradient(90deg,transparent,#000 40px)}
.car-track::-webkit-scrollbar{display:none}
.car-track > *{flex:none;scroll-snap-align:start}
.car.drag .car-track{scroll-snap-type:none;cursor:grabbing}
.car.drag .car-track a{pointer-events:none}
.car-btn{position:absolute;z-index:3;top:var(--by,45%);translate:0 -50%;width:52px;height:52px;border-radius:50%;border:0;padding:0;cursor:pointer;
  display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);
  box-shadow:0 10px 24px -8px rgba(0,10,25,.6),0 0 0 6px rgba(255,226,122,.18);transition:opacity .25s,transform .2s,background .2s}
.car-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.car-btn:hover{background:#fff1b0;transform:scale(1.07)}
.car-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.car-btn.prev{left:-14px}.car-btn.next{right:-14px}
.car.at-start .car-btn.prev,.car.at-end .car-btn.next{opacity:0;pointer-events:none}
.car.static .car-btn{display:none}
/* kafelki specjalizacji: karta certyfikatu + nazwa */
.car-track > li{width:calc((100% - 3 * var(--g)) / 3.3)}
.sp-tile{display:flex;flex-direction:column;gap:.15rem;color:#fff;text-decoration:none}
.sp-tile img{display:block;width:100%;height:auto;aspect-ratio:400/254;object-fit:cover;border-radius:12px;margin-bottom:.85rem;
  box-shadow:0 16px 30px -12px rgba(0,10,25,.6),0 2px 6px rgba(0,10,25,.2);transition:transform .35s cubic-bezier(.2,.85,.2,1),box-shadow .35s;-webkit-user-drag:none;user-select:none}
.sp-tile:hover img,.sp-tile:focus-visible img{transform:translateY(-6px) rotate(-1.2deg);box-shadow:0 26px 40px -14px rgba(0,10,25,.7),0 2px 6px rgba(0,10,25,.2)}
.t-name{font:500 1.15rem/1.2 var(--display);letter-spacing:-.01em}
.t-meta{display:flex;align-items:center;gap:.45rem;font:400 .9rem/1.3 var(--display);color:var(--ink-dim)}
.t-meta i{font-style:normal;color:var(--accent);transition:transform .25s}
.sp-tile:hover .t-meta i,.loc-tile:hover .t-meta i{transform:translateX(4px)}
.sp-tile:focus-visible,.loc-tile:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:14px}
/* kafelki nurkowisk: pionowe zdjęcie z nazwą i głębokością */
#doszkalanie .car-track > li{width:calc((100% - 3 * var(--g)) / 3.45)}
.loc-tile{position:relative;display:block;aspect-ratio:3/4;border-radius:22px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;
  box-shadow:0 18px 34px -14px rgba(0,10,25,.7),0 2px 6px rgba(0,10,25,.25);transition:transform .35s cubic-bezier(.2,.85,.2,1)}
.loc-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s cubic-bezier(.2,.85,.2,1);-webkit-user-drag:none;user-select:none}
.loc-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,18,36,0) 28%,rgba(3,18,36,.86))}
.loc-tile:hover{transform:translateY(-6px)}
.loc-tile:hover img{transform:scale(1.06)}
.loc-tile .t-depth{position:absolute;top:14px;left:14px;padding:.35rem .7rem;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:600 .85rem/1 var(--display)}
.loc-tile .t-cap{position:absolute;left:18px;right:18px;bottom:16px;display:flex;flex-direction:column;gap:.2rem}
.loc-tile .t-name{font:500 clamp(1.3rem,1.6vw,1.55rem)/1.1 var(--display);letter-spacing:-.02em}
.loc-tile .t-meta{color:rgba(255,255,255,.82)}
.t-ben{font:400 .92rem/1.3 var(--display);color:rgba(255,255,255,.92)}
.sp-tile .t-meta{align-items:flex-start;color:rgba(255,255,255,.88)}
.sp-tile .t-meta i{margin-left:auto;padding-left:.3rem}
/* opinie: jeden wiersz, płynnie przesuwa się sam, można przewijać */
.marq{--by:42%}
.marq .car-track{display:flex;scroll-snap-type:none;margin-top:0;grid-template-columns:none;padding-top:.4rem}
.marq .car-track > figure{width:clamp(260px,28vw,360px);scroll-snap-align:none;background:rgba(9,43,74,.55);-webkit-backdrop-filter:none;backdrop-filter:none;user-select:none}
.marq .car-track > figure .qimg{-webkit-user-drag:none}
@media (max-width:1099px){
  .car-track > li{width:calc((100% - 2 * var(--g)) / 2.3)}
  #doszkalanie .car-track > li{width:calc((100% - 2 * var(--g)) / 2.5)}
}
@media (max-width:820px){
  .car-track{margin:0 -6vw;padding-left:6vw;padding-right:6vw;scroll-padding-inline:6vw}
  .car-track > li{width:calc((100% - var(--g)) / 1.2)}
  #doszkalanie .car-track > li{width:calc((100% - var(--g)) / 1.45)}
  .marq .car-track > figure{width:min(78vw,320px)}
  .car-btn{width:44px;height:44px}
  .car-btn svg{width:20px;height:20px}
  .car-btn.prev{left:-6px}.car-btn.next{right:-6px}
}
@media (prefers-reduced-motion:reduce){ .sp-tile img,.loc-tile,.loc-tile img,.car-btn,.t-meta i{transition:none} }
@media (max-width:820px){ .spec-teaser{grid-template-columns:minmax(0,1fr)} .cert-fan{max-width:460px;width:100%;margin:0 auto} }
@media (prefers-reduced-motion:reduce){ .hand img{transition:none} }

@media (prefers-reduced-motion:reduce){ .meter,.meter .t,.meter .mbtn{transition:none} }
/* ---------- uproszczona struktura: zapowiedzi, galeria, quiz ---------- */
.sub .sub-title:focus,.sub .sub-title:focus-visible,.sub .q-q:focus,.sub .q-q:focus-visible,.sub #offH:focus,.sub #offH:focus-visible{outline:none}
.sub-h + .story,.sub-h + .gal,.sub-h + .info{margin-top:22px}
.card .cimg ~ h4{margin-top:10px}
.sub .sub-hp a,.sub .o-why a{color:var(--s-ink);text-underline-offset:3px}
.cust{margin-top:34px}
.hand.few.open img{--spread:15deg;--lift:0%}
.cert-fan:hover .hand.few img{--spread:19deg}
.hand.few img{object-fit:cover}
@media (min-width:821px){
  #o-mnie .spec-teaser{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:2rem clamp(2.5rem,4vw,4rem)}
  .hand.few{aspect-ratio:5/4}
  .hand.few img{left:0;top:0;width:100%;height:100%;aspect-ratio:auto;border-radius:18px}
}
.hand.loc img{box-shadow:0 18px 36px -12px rgba(0,10,25,.6),0 2px 6px rgba(0,10,25,.25)}
.sub-in.custom .std{display:none}
.sub-in:not(.custom) .cust{display:none}
.sub-in .tags[hidden]{display:none}
.sub-note{margin:18px 0 0;padding:16px 20px;border-radius:18px;background:#fff;border:1px solid var(--s-line);color:var(--s-dim);font-size:1rem;line-height:1.5}
.card .num.place{background:#0b2a45;color:#fff}
.card .cimg{aspect-ratio:400/254;object-fit:cover}
.card a.cl{color:inherit;text-decoration:none}
.card a.cl::after{content:"";position:absolute;inset:0;border-radius:24px}
.card a.cl span{display:inline-block;transition:transform .25s}
.card:hover a.cl span{transform:translateX(4px)}
.card a.cl:focus-visible{outline:none}
.card:has(a.cl:focus-visible){outline:3px solid #0b2a45;outline-offset:3px}
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 56px;margin-top:6px}
.story p{margin:0 0 1rem;font:400 clamp(1.05rem,1rem + .3vw,1.22rem)/1.55 var(--text);color:#22394b}
.gal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(100px,14vw,180px);gap:14px;margin-top:6px}
.gal figure{position:relative;margin:0;border-radius:24px;overflow:hidden;background:#dbe8ee}
.gal img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 14px;color:#fff;font:400 .95rem/1.3 var(--display);background:linear-gradient(transparent,rgba(3,20,36,.72))}
.gal .g1{grid-column:1/4;grid-row:1/5}
.gal .g2{grid-column:4/7;grid-row:1/4}
.gal .g3{grid-column:4/6;grid-row:4/6}
.gal .g4{grid-column:6/7;grid-row:4/6}
.gal .g1{grid-row:1/6}
.gal .ph-tile{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;border:2px dashed #9db8c6;background:#eef5f8;color:#41596b;font:400 .95rem/1.35 var(--display)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:6px}
.facts article{border-radius:24px;padding:26px 28px 30px;background:var(--bg)}
.facts h4{font:400 1.3rem/1.2 var(--display);letter-spacing:-.02em;margin:0 0 .9rem}
.pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pills li{border-radius:100px;background:rgba(255,255,255,.75);padding:.45rem .9rem;font:400 .98rem/1.2 var(--display)}
.principles{margin-top:6px}
/* quiz */
.quiz{max-width:46rem;margin-top:6px}
.q-prog{margin:0 0 14px;font:400 .95rem var(--display);color:var(--s-dim)}
.q-bar{height:6px;border-radius:6px;background:var(--s-pill);overflow:hidden;margin-bottom:26px}
.q-bar i{display:block;height:100%;width:0;background:#0b2a45;border-radius:6px;transition:width .4s}
.q-q{font:300 clamp(1.8rem,4vw,2.8rem)/1.1 var(--display);letter-spacing:-.035em;margin:0 0 26px}
.q-q:focus{outline:none}
.q-opts{display:grid;gap:12px}
.q-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;min-height:64px;padding:16px 22px;border-radius:20px;border:2px solid var(--s-line);
  background:#fff;color:var(--s-ink);font:400 1.12rem/1.3 var(--display);cursor:pointer;transition:border-color .2s,transform .2s,background .2s}
.q-opt:hover{border-color:#0b2a45;transform:translateY(-2px)}
.q-opt.sel{border-color:#0b2a45;background:var(--s-pill)}
.q-opt .em{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--s-pill);font-size:1.2rem}
.q-nav{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}
.offer{margin-top:6px}
.offer-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px 44px;align-items:center;background:#fff;border:1px solid var(--s-line);border-radius:28px;padding:clamp(20px,3vw,36px)}
.offer-hero img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 22px 44px -16px rgba(11,42,69,.45)}
.o-label{margin:0 0 6px;font:500 .9rem var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--s-dim)}
.offer h3{font:300 clamp(1.9rem,4vw,2.9rem)/1.05 var(--display);letter-spacing:-.035em;margin:0 0 14px}
.o-why{margin:0 0 20px;padding:0 0 0 1.15rem;color:#22394b;font-size:1.05rem;line-height:1.5}
.o-why li{margin-bottom:.45rem}
.offer .btns{display:flex;flex-wrap:wrap;gap:10px}
.offer h4{font:300 clamp(1.5rem,3vw,2rem)/1.1 var(--display);letter-spacing:-.03em;margin:34px 0 14px}
.offer .pills li{background:var(--s-pill)}
.o-sites{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:14px}
.o-sites figure{margin:0}
.o-sites img{display:block;width:100%;height:auto;border-radius:16px}
.o-sites figcaption{margin-top:8px;color:var(--s-dim);font-size:.98rem}
@media (max-width:900px){
  .story,.facts,.offer-hero{grid-template-columns:minmax(0,1fr)}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(130px,34vw,220px)}
  .gal .g1{grid-column:1/3;grid-row:auto / span 2}
  .gal .g2{grid-column:1/3;grid-row:auto / span 2}
  .gal .g3,.gal .g4{grid-column:auto;grid-row:auto}
}
@media (prefers-reduced-motion:reduce){ .gal img,.q-opt,.q-bar i{transition:none} }

.cap.who span em{display:block;margin-top:.5rem;font:400 .42em/1.2 var(--display);font-style:normal;letter-spacing:.04em;text-transform:uppercase}
.cap.c7.who{top:calc(13vh + env(safe-area-inset-top,0px));bottom:auto}
.cap.c7.who span{max-width:16ch;font-size:clamp(2rem,9.2vw,3.6rem)}
@media (min-aspect-ratio:1/1){ .cap.c7.who{top:auto;bottom:13vh} .cap.c7.who span{max-width:11ch} }

/* ---------- wyraźna wskazówka „przewijaj” i dłuższe napisy w filmie ---------- */
.cue{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:max-content;max-width:min(88vw,26rem);padding:.75rem 1.3rem .65rem;border-radius:22px;
  background:rgba(3,24,44,.58);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:600 1.05rem/1.25 var(--display);text-shadow:none;pointer-events:none}
.cue i{width:12px;height:12px;margin:.15rem auto 0;border:0;border-radius:0;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(45deg);animation:cuedown 1.5s ease-in-out infinite}
@keyframes cuedown{0%{transform:translateY(-5px) rotate(45deg);opacity:.2}50%{opacity:1}100%{transform:translateY(6px) rotate(45deg);opacity:.2}}
.caps .cap.long span{font-size:clamp(1.6rem,7.4vw,2.9rem);max-width:14ch;line-height:1.05;letter-spacing:-.02em}
@media (min-aspect-ratio:1/1){
  .caps .cap.long span{font-size:clamp(1.5rem,min(3.4vw,calc(((100vw - 56.25vh) / 2 - 6.5vw) / 7.6)),4.2rem);max-width:12ch}
}
@media (max-width:820px){ .cue{bottom:calc(104px + env(safe-area-inset-bottom,0px))} .loading{bottom:calc(190px + env(safe-area-inset-bottom,0px))} }
@media (prefers-reduced-motion:reduce){ .cue i{animation:none} }
.cap.c3 span{max-width:12ch}
@media (min-aspect-ratio:1/1){.cap.c3 span{max-width:10ch}}
@media (max-width:820px){.logo-band{margin-top:-44vh}}
.price-note{margin:18px 0 0;font:400 .92rem/1.5 var(--display);opacity:.85;max-width:44rem}

.cal{max-width:48rem}
.evs{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.ev{display:flex;gap:20px;padding:22px;border-radius:24px;background:#fff;border:2px solid var(--s-line)}
.ev-date{flex:none;width:72px;height:72px;border-radius:20px;background:var(--s-pill);display:grid;place-content:center;text-align:center;color:#0b2a45}
.ev-date b{font:300 2rem/1 var(--display);letter-spacing:-.03em}.ev-date span{font:500 .8rem var(--display);text-transform:uppercase;letter-spacing:.08em}
.ev-body{min-width:0}.ev-body h3{font:400 1.4rem/1.2 var(--display);letter-spacing:-.02em;margin:0 0 6px;color:var(--s-ink)}
.ev-body p{margin:6px 0;line-height:1.5}.ev-meta{font:400 .95rem var(--display);color:var(--s-dim)}
.ev details{margin:10px 0}.ev summary{cursor:pointer;font:500 .95rem var(--display);min-height:32px}
.ev-act{margin-top:14px}.ev-empty{padding:28px;border-radius:24px;background:var(--s-pill)}.ev-empty h3{margin:0 0 8px;font:300 1.8rem var(--display)}
.adm form{display:grid;gap:14px;margin-bottom:34px}.adm label{display:grid;gap:6px;font:500 .95rem var(--display)}
.adm input,.adm textarea{font:400 1rem var(--display);padding:12px 14px;border-radius:14px;border:2px solid var(--s-line);background:#fff;color:var(--s-ink);width:100%;box-sizing:border-box}
.adm h3{font:400 1.4rem var(--display);margin:0 0 14px}.adm-err{color:#a4261a;margin:0;min-height:1.2em}
@media (max-width:520px){.ev{flex-direction:column;gap:12px;padding:18px}}
.row h3 .ssi-sub{display:block;margin-top:.2rem;font:inherit;opacity:.85;letter-spacing:inherit}
/* ===================== Podstrona kursu: szablon „course” (pierwsza: OWD) =====================
   Koncepcja: strona czyta się jak zejście pod wodę. Jasna powierzchnia (hero, kafelki),
   linia głębokości łącząca etapy (0 m → 5 m → 18 m) i granatowa głębia na końcu: wybór opcji i zapis. */
.sub-in:not(.mcourse) .course{display:none}
.sub-in.mcourse .sub-hero,.sub-in.mcourse .std,.sub-in.mcourse .cust{display:none}
.course{
  --c-ink:#0b2a45; --c-dim:#41596b; --c-sea:#1f6f80; --c-foam:#e3eef2; --c-mist:#eef5f7;
  --c-paper:#fff; --c-line:#dbe6eb; --c-sun:#ffe27a; --c-sun-ink:#33270a; --c-deep:#0b2a45;
  --c-on-deep:#fff; --c-on-deep-dim:rgba(225,240,248,.8); --c-err:#ffb4a6;
  color:var(--c-ink)
}
.course .ph{border-bottom:1px dashed currentColor}
.c-sec{margin-top:clamp(76px,11vh,128px);scroll-margin-top:84px}
.c-eyebrow{font:500 .78rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--c-sea);margin:0 0 14px}
.c-h{font:300 clamp(2.1rem,4.6vw,3.6rem)/1.02 var(--display);letter-spacing:-.04em;margin:0;text-wrap:balance}
.c-hp{font:400 1.08rem/1.5 var(--text);color:var(--c-dim);margin:14px 0 0;max-width:36rem}

/* --- hero --- */
.c-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center;padding-top:clamp(24px,5vh,60px)}
.c-badge{display:inline-flex;align-items:center;gap:.55rem;background:var(--c-sun);color:var(--c-sun-ink);border-radius:100px;padding:.45rem 1rem .45rem .45rem;font:500 .92rem/1 var(--display)}
.c-badge i{width:24px;height:24px;border-radius:50%;background:var(--c-ink);display:grid;place-items:center}
.c-badge svg{width:13px;height:13px;fill:var(--c-sun)}
.c-title{font:300 clamp(3rem,7.4vw,6.4rem)/.92 var(--display);letter-spacing:-.045em;margin:22px 0 0;text-wrap:balance}
.c-title:focus{outline:none}
.c-kicker{font:400 clamp(1.15rem,1rem + .6vw,1.5rem)/1.2 var(--display);color:var(--c-sea);margin:14px 0 0;letter-spacing:-.015em}
.c-lead{font:400 clamp(1.08rem,1rem + .35vw,1.28rem)/1.5 var(--text);color:var(--c-dim);max-width:34rem;margin:18px 0 0}
.c-tiles{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:40rem}
.c-tiles li{background:var(--c-paper);border:1px solid var(--c-line);border-radius:16px;padding:12px 12px 13px;display:flex;flex-direction:column;gap:5px;min-width:0}
.c-tiles svg{width:22px;height:22px;stroke:var(--c-sea);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:2px}
.c-tiles b{font:500 1rem/1.15 var(--display);letter-spacing:-.01em}
.c-tiles span{font:400 .8rem/1.25 var(--display);color:var(--c-dim)}
.c-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:28px}
.c-go{display:inline-flex;align-items:center;gap:.6rem;min-height:52px;border:0;border-radius:100px;padding:.85rem 1.5rem;background:var(--c-sun);color:var(--c-sun-ink);
  font:500 1.05rem/1.1 var(--display);letter-spacing:-.01em;cursor:pointer;box-shadow:0 0 0 5px rgba(255,226,122,.35);transition:transform .2s,background .2s}
.c-go:hover{background:#ffd84f;transform:translateY(-2px)}
.c-go svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.c-from{font:400 .98rem/1.35 var(--display);color:var(--c-dim);margin:0}
.c-from b{font-weight:600;color:var(--c-ink)}

/* kolaż: zdjęcia w różnych rozmiarach + karta certyfikatu + „manometr” głębokości */
.c-collage{position:relative;width:100%;max-width:560px;aspect-ratio:1/1.02;justify-self:end}
.c-shot{position:absolute;right:0;top:0;width:86%;height:74%;margin:0;border-radius:32px;overflow:hidden;box-shadow:0 30px 60px -32px rgba(11,42,69,.5)}
.c-shot img{width:100%;height:100%;object-fit:cover;display:block}
.c-me{position:absolute;left:0;top:9%;width:31%;margin:0;text-align:center}
.c-me span{display:block;aspect-ratio:1;border-radius:50%;overflow:hidden;border:6px solid #f5f8f9;box-shadow:0 18px 34px -18px rgba(11,42,69,.55)}
.c-me img{width:100%;height:100%;object-fit:cover;display:block}
.c-me figcaption{display:inline-block;margin-top:8px;background:var(--c-paper);border:1px solid var(--c-line);border-radius:100px;padding:.3rem .7rem;font:500 .78rem/1.1 var(--display);white-space:nowrap}
.c-cert{position:absolute;left:3%;bottom:3%;width:52%;border-radius:16px;transform:rotate(-7deg);box-shadow:0 26px 40px -18px rgba(11,42,69,.6);display:block}
.c-gauge{position:absolute;right:5%;bottom:4%;width:clamp(108px,12vw,138px);aspect-ratio:1;border-radius:50%;background:var(--c-sun);color:var(--c-sun-ink);
  display:grid;place-items:center;box-shadow:0 20px 34px -16px rgba(11,42,69,.55)}
.c-gauge svg{position:absolute;inset:7%;width:86%;height:86%;stroke:var(--c-sun-ink);stroke-width:2;fill:none;opacity:.55}
.c-gauge b{font:300 2.6rem/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.c-gauge small{display:block;font:500 .72rem/1.1 var(--display);letter-spacing:.06em;text-transform:uppercase;text-align:center;margin-top:2px}
.c-gauge > div{text-align:center;position:relative}
.c-bub{position:absolute;border-radius:50%;border:1.5px solid rgba(31,111,128,.38);pointer-events:none}

/* pasek liczb */
.c-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:clamp(48px,8vh,88px) 0 0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line)}
.c-stats div{padding:22px 22px 24px;border-left:1px solid var(--c-line);min-width:0}
.c-stats div:first-child{border-left:0;padding-left:0}
.c-stats b{display:block;font:300 clamp(2.4rem,4.4vw,3.6rem)/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.c-stats span{display:block;margin-top:8px;font:400 .95rem/1.3 var(--display);color:var(--c-dim)}

/* --- etapy na linii głębokości --- */
.c-stages{list-style:none;margin:48px 0 0;padding:0;position:relative;display:grid;gap:clamp(44px,8vh,92px)}
.c-stages::before{content:"";position:absolute;left:43px;top:14px;bottom:14px;width:2px;border-radius:2px;background:linear-gradient(var(--c-foam),var(--c-sea) 55%,var(--c-deep))}
.c-stage{display:grid;grid-template-columns:88px minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center}
.c-depth{grid-column:1;align-self:start;justify-self:center;position:relative;z-index:1;border-radius:100px;padding:.5rem .8rem;font:500 .85rem/1 var(--display);white-space:nowrap;margin-top:6px;
  background:var(--dbg);color:var(--dfg);box-shadow:0 0 0 6px #f5f8f9}
.c-stxt{grid-column:2;min-width:0}
.c-stage .c-photo{grid-column:3}
.c-stage.flip .c-stxt{grid-column:3;grid-row:1}
.c-stage.flip .c-photo{grid-column:2;grid-row:1}
.c-stxt .tag{font:500 .8rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--c-sea)}
.c-stxt h4{font:400 clamp(1.7rem,2.8vw,2.4rem)/1.04 var(--display);letter-spacing:-.035em;margin:10px 0 6px}
.c-stxt .place{font:400 1rem/1.35 var(--display);color:var(--c-dim);margin:0}
.c-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.c-list li{position:relative;padding-left:28px;font:400 1.04rem/1.45 var(--text);color:#24425a}
.c-list li::before{content:"";position:absolute;left:2px;top:.68em;width:14px;height:2px;border-radius:2px;background:var(--c-sea)}
.c-list.ok li::before{left:0;top:.28em;width:18px;height:18px;border-radius:50%;
  background:var(--c-sun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%230b2a45' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.c-list.req li::before{left:0;top:.3em;width:16px;height:16px;border-radius:5px;background:transparent;border:2px solid var(--c-sea);box-sizing:border-box}
.c-photo{position:relative;margin:0;border-radius:28px;overflow:hidden;background:var(--pb);display:grid;place-items:center;max-width:100%}
.c-photo.s{aspect-ratio:4/3;width:84%;justify-self:start}
.c-photo.m{aspect-ratio:4/5;width:72%;justify-self:end}
.c-photo.l{aspect-ratio:16/11;width:100%}
.c-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.c-photo svg{width:min(140px,36%);height:auto;fill:none;stroke:var(--c-ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;overflow:visible;margin-bottom:26px}
.c-photo svg .f{fill:var(--c-ink);stroke:none}
.c-photo svg .a{fill:var(--pa);stroke:none}
.c-photo figcaption{position:absolute;left:14px;right:14px;bottom:14px;text-align:center;background:rgba(255,255,255,.78);border:1px dashed rgba(11,42,69,.35);border-radius:100px;padding:.45rem .8rem;font:500 .8rem/1.2 var(--display);color:var(--c-dim)}

/* --- dla kogo / co otrzymasz / wymagania --- */
.c-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:40px}
.c-box{border-radius:28px;padding:clamp(24px,3.4vw,40px);min-width:0}
.c-box.white{background:var(--c-paper);border:1px solid var(--c-line)}
.c-box.foam{background:var(--c-foam)}
.c-box h4{font:400 clamp(1.5rem,2.4vw,2rem)/1.1 var(--display);letter-spacing:-.03em;margin:0}
.c-req{margin-top:18px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(20px,4vw,56px);background:var(--c-paper);border:1px solid var(--c-line);border-radius:28px;padding:clamp(24px,3.4vw,40px)}
.c-req h4{font:400 clamp(1.5rem,2.4vw,2rem)/1.1 var(--display);letter-spacing:-.03em;margin:0}
.c-req .c-list{margin-top:0}
.c-note{font:400 .95rem/1.45 var(--text);color:var(--c-dim);margin:14px 0 0}

/* --- zdjęcia i opinie: przewijany pas, to samo źródło co na stronie głównej --- */
.c-stories{margin-top:36px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.c-track{display:flex;align-items:flex-start;gap:16px;width:max-content;animation:c-marq 70s linear infinite;padding:6px 0 10px}
.c-stories:hover .c-track,.c-stories:focus-within .c-track{animation-play-state:paused}
@keyframes c-marq{to{transform:translateX(calc(-50% - 8px))}}
.c-story{width:290px;flex:none;margin:0;border-radius:24px;overflow:hidden;background:var(--sb);display:flex;flex-direction:column}
.c-story .sp{position:relative;aspect-ratio:var(--ar,4/3);display:grid;place-items:center;background:rgba(255,255,255,.45)}
.c-story .sp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.c-story .sp span{border:1px dashed rgba(11,42,69,.35);border-radius:100px;padding:.4rem .8rem;font:500 .78rem var(--display);color:var(--c-dim);background:rgba(255,255,255,.7)}
.c-story blockquote{margin:0;padding:18px 20px 8px;font:italic 400 1.04rem/1.45 var(--text);color:#1d3a50}
.c-story blockquote p{margin:0}
.c-story figcaption{padding:0 20px 20px;font:500 .88rem/1.3 var(--display);color:var(--c-dim)}
.c-story figcaption b{color:var(--c-ink);font-weight:600}

/* --- wybór opcji i zapis: granatowa głębia --- */
.c-pick{background:var(--c-deep);color:var(--c-on-deep);border-radius:36px;padding:clamp(26px,5vw,64px);position:relative;overflow:hidden}
.c-pick .c-eyebrow{color:var(--c-sun)}
.c-pick .c-h{color:var(--c-on-deep)}
.c-pick .c-hp{color:var(--c-on-deep-dim)}
.c-pgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);grid-template-areas:"steps steps" "form sum";gap:34px 40px;margin-top:40px;align-items:start}
.c-steps{grid-area:steps;display:grid;gap:34px;min-width:0}
.c-sum{grid-area:sum;position:sticky;top:84px}
.c-form{grid-area:form;min-width:0}
.c-step h4{display:flex;align-items:center;gap:12px;font:400 1.35rem/1.2 var(--display);letter-spacing:-.02em;margin:0 0 16px}
.c-step h4 i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--c-sun);color:var(--c-sun-ink);display:grid;place-items:center;font:600 .9rem var(--display);font-style:normal}
.c-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;margin:0;padding:0;min-width:0}
.c-opts legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.c-opt{position:relative;min-width:0}
.c-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.c-opt label{position:relative;display:flex;flex-direction:column;gap:10px;height:100%;box-sizing:border-box;padding:20px 20px 22px;border-radius:22px;cursor:pointer;
  background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.16);transition:background .25s,color .25s,border-color .25s,box-shadow .25s,transform .25s}
.c-opt label:hover{border-color:rgba(255,255,255,.4);transform:translateY(-3px)}
.c-opt input:checked + label{background:var(--c-paper);color:var(--c-ink);border-color:var(--c-paper);box-shadow:0 0 0 4px rgba(255,226,122,.6)}
.c-opt input:focus-visible + label{outline:3px solid var(--c-sun);outline-offset:4px}
.c-opt .tk{position:absolute;top:16px;right:16px;width:24px;height:24px;border-radius:50%;border:1.5px solid currentColor;opacity:.45;box-sizing:border-box}
.c-opt input:checked + label .tk{opacity:1;border:0;background:var(--c-sun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%230b2a45' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.c-opt .nm{font:500 1.15rem/1.15 var(--display);letter-spacing:-.015em;padding-right:30px}
.c-opt .pr{font:300 2.2rem/1 var(--display);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.c-opt .pr small{font-size:.5em;letter-spacing:0;margin-left:2px}
.c-opt .who{font:500 .9rem/1.3 var(--display);opacity:.85}
.c-opt ul{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:6px}
.c-opt li{position:relative;padding-left:16px;font:400 .95rem/1.4 var(--text);opacity:.92}
.c-opt li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--c-sun)}
.c-opt input:checked + label li::before{background:var(--c-sea)}
.c-route{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;padding:0;list-style:none}
.c-route li{padding:0;opacity:1;font:500 .8rem/1 var(--display);background:rgba(255,255,255,.12);border-radius:100px;padding:.35rem .65rem}
.c-route li::before{display:none}
.c-opt .c-route{display:flex}
.c-opt .c-route li{padding:.35rem .65rem}
.c-route li + li{margin-left:14px}
.c-route li + li::after{content:"";position:absolute;left:-14px;top:50%;width:9px;height:1.5px;background:currentColor;opacity:.6}
.c-opt input:checked + label .c-route li{background:var(--c-foam)}
.c-opt .ex{margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.14);font:500 .88rem/1.3 var(--display)}
.c-opt input:checked + label .ex{border-top-color:var(--c-line)}
.c-ssi{font:400 .92rem/1.4 var(--display);color:var(--c-on-deep-dim);margin:12px 0 0}
.c-toggle{position:relative;margin-top:14px}
.c-toggle input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.c-toggle label{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:22px;border:1.5px dashed rgba(255,255,255,.32);cursor:pointer;transition:background .25s,border-color .25s}
.c-toggle input:checked + label{background:rgba(255,226,122,.12);border-color:var(--c-sun);border-style:solid}
.c-toggle input:focus-visible + label{outline:3px solid var(--c-sun);outline-offset:4px}
.c-toggle .sw{flex:none;width:48px;height:28px;border-radius:100px;background:rgba(255,255,255,.22);position:relative;transition:background .25s;margin-top:2px}
.c-toggle .sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .25s}
.c-toggle input:checked + label .sw{background:var(--c-sun)}
.c-toggle input:checked + label .sw::after{transform:translateX(20px);background:var(--c-ink)}
.c-toggle b{display:block;font:500 1.08rem/1.25 var(--display)}
.c-toggle span.d{display:block;margin-top:4px;font:400 .97rem/1.45 var(--text);color:var(--c-on-deep-dim)}
.c-toggle span.ex{display:block;margin-top:8px;font:500 .88rem var(--display)}

.c-sumc{background:var(--c-paper);color:var(--c-ink);border-radius:26px;padding:26px 26px 24px}
.c-sumc h4{font:400 1.3rem/1.2 var(--display);margin:0 0 14px;letter-spacing:-.02em}
.c-sumc dl{margin:0;display:grid;gap:12px}
.c-sumc dt{font:500 .76rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--c-dim)}
.c-sumc dd{margin:4px 0 0;font:500 1rem/1.3 var(--display)}
.c-total{margin-top:18px;padding-top:16px;border-top:1px solid var(--c-line)}
.c-total b{display:block;font:300 2.7rem/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.c-total span{display:block;margin-top:6px;font:400 .92rem/1.4 var(--display);color:var(--c-dim)}
.c-sumc .c-go{width:100%;justify-content:center;margin-top:18px;box-sizing:border-box}

.c-formc{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:clamp(20px,3vw,32px)}
.c-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.c-fgrid .wide{grid-column:1/-1}
.c-field{display:grid;gap:6px;min-width:0}
.c-field label{font:500 .92rem/1.2 var(--display)}
.c-field label small{font-weight:400;opacity:.75}
.c-field input,.c-field textarea{font:400 1rem/1.3 var(--display);color:var(--c-ink);background:var(--c-paper);border:2px solid transparent;border-radius:14px;padding:12px 14px;width:100%;box-sizing:border-box;min-height:48px}
.c-field textarea{min-height:96px;resize:vertical}
.c-field input:focus,.c-field textarea:focus{outline:none;border-color:var(--c-sun)}
.c-field [aria-invalid="true"]{border-color:#ff8f7a}
.c-field .err{min-height:1.15em;font:500 .85rem/1.2 var(--display);color:var(--c-err)}
.c-fhint{font:400 .9rem/1.4 var(--display);color:var(--c-on-deep-dim);margin:4px 0 0}
.c-formc .c-go{margin-top:18px}
.c-ready{margin-top:20px;background:var(--c-paper);color:var(--c-ink);border-radius:22px;padding:22px}
.c-ready h4{font:500 1.15rem/1.25 var(--display);margin:0 0 6px}
.c-ready p{margin:0 0 12px;font:400 .98rem/1.45 var(--text);color:var(--c-dim)}
.c-ready pre{margin:0;white-space:pre-wrap;word-break:break-word;background:var(--c-mist);border-radius:14px;padding:14px;font:400 .9rem/1.45 var(--display);max-height:260px;overflow:auto}
.c-ready .btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.c-ready .pill{background:var(--c-foam)}
.c-ready .pill.cta{background:var(--c-sun)}
.c-contact{margin:16px 0 0;font:500 .95rem/1.5 var(--display);color:var(--c-dim)}
.c-contact b{color:var(--c-ink);user-select:all}
.c-ready .c-contact{font:500 .92rem/1.5 var(--display)}

/* --- zakończenie --- */
.c-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;padding:clamp(26px,4vw,40px);border-radius:28px;background:var(--c-foam)}
.c-end h3{font:300 clamp(1.7rem,3vw,2.4rem)/1.08 var(--display);letter-spacing:-.035em;margin:0}
.c-end p{margin:8px 0 0;font:500 1rem/1.5 var(--display);color:var(--c-dim)}
.c-end p b{color:var(--c-ink);user-select:all}
.c-end .btns{display:flex;flex-wrap:wrap;gap:10px}
.c-nav{margin-top:36px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}

/* --- ruch: wejście hero przy otwarciu, sekcje „wypływają” przy przewijaniu (tylko gdy przeglądarka to wspiera) --- */
@keyframes c-in{from{opacity:0;transform:translateY(22px)}}
@keyframes c-rise{from{opacity:.25;transform:translateY(36px) scale(.985)}}
@keyframes c-float{50%{translate:0 -8px}}
@keyframes c-bubble{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(-220px);opacity:0}}
@media (prefers-reduced-motion:no-preference){
  .c-hero > div > *{animation:c-in .7s cubic-bezier(.2,.7,.2,1) both}
  .c-hero > div > :nth-child(2){animation-delay:.06s}
  .c-hero > div > :nth-child(3){animation-delay:.12s}
  .c-hero > div > :nth-child(4){animation-delay:.18s}
  .c-hero > div > :nth-child(5){animation-delay:.24s}
  .c-hero > div > :nth-child(6){animation-delay:.3s}
  .c-collage{animation:c-in .9s .15s cubic-bezier(.2,.7,.2,1) both}
  .c-cert{animation:c-float 7s ease-in-out infinite}
  .c-gauge{animation:c-float 6s -2.5s ease-in-out infinite}
  .c-bub{animation:c-bubble 8s linear infinite}
  @supports (animation-timeline:view()){
    .c-rv{animation:c-rise linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
  }
}
@media (prefers-reduced-motion:reduce){
  .c-track{animation:none}
  .c-stories{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .c-opt label,.c-toggle label,.c-toggle .sw,.c-toggle .sw::after,.c-go{transition:none}
}

/* --- układ na węższych ekranach --- */
@media (max-width:1000px){
  .c-pgrid{grid-template-columns:minmax(0,1fr);grid-template-areas:"steps" "sum" "form"}
  .c-sum{position:static}
  .c-sumc{max-width:520px}
}
@media (max-width:900px){
  .c-hero{grid-template-columns:minmax(0,1fr)}
  .c-collage{justify-self:center;max-width:500px}
  .c-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-stats div:nth-child(3){border-left:0;padding-left:0}
  .c-stats div:nth-child(n+3){border-top:1px solid var(--c-line)}
  .c-info,.c-req{grid-template-columns:minmax(0,1fr)}
  .c-opts{grid-template-columns:minmax(0,1fr)}
  .c-stages::before{left:27px}
  .c-stage,.c-stage.flip{grid-template-columns:56px minmax(0,1fr);gap:18px 16px}
  .c-stage .c-stxt,.c-stage.flip .c-stxt{grid-column:2;grid-row:1}
  .c-stage .c-photo,.c-stage.flip .c-photo{grid-column:2;grid-row:2;width:100%;justify-self:stretch}
  .c-photo.m{aspect-ratio:4/3}
  .c-depth{padding:.45rem .55rem;font-size:.75rem}
}
@media (max-width:560px){
  .c-fgrid{grid-template-columns:minmax(0,1fr)}
  .c-pick{border-radius:28px;margin-inline:-6px}
  .c-story{width:250px}
  .c-me figcaption{font-size:.7rem;padding:.25rem .55rem}
  .c-ctas .c-go{width:100%;justify-content:center}
}

/* strona główna: opinie z tego samego źródła co podstrony (STORIES) */
.quotes .qimg{display:grid;place-items:center;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;margin:0 0 1.1rem;background:rgba(255,255,255,.07);border:1px dashed var(--rule);box-sizing:border-box}
.quotes img.qimg{border:0}
.quotes .qimg span{font:500 .85rem var(--display);color:var(--ink-dim)}

/* =====================================================================
   WARSTWA DESIGN SYSTEMU „Scuba Sapiens – strona i social media”
   Tokeny, skala głębokości, pasy kursów, panele, kafelki, znaczniki,
   pigułki, rybki zamiast strzałek. Układ i skrypty strony bez zmian.
   ===================================================================== */
:root{
  --ocean-top:#1a8fab;--ocean-bottom:#0d5f86;
  --ink:#ffffff;--ink-dim:#e6f3f8;--rule:rgba(234,248,255,.24);
  --glass:rgba(3,24,44,.4);--pill:rgba(255,255,255,.13);--surface:#ffffff;
  --navy:#062a44;--on-navy:#ffffff;--on-light:#062a44;
  --accent:#ffe27a;--accent-hover:#fff1b0;--on-accent:#33270a;--accent-ink:#33270a;
  --dep-5:#c9edf5;--dep-12:#8ad1e6;--dep-18:#3fa9cc;--dep-30:#11709a;--dep-40:#0b4f7c;--dep-deep:#062a44;
  --abyss-top:#08385c;--abyss-bottom:#052a47;
  --radius-tag:3px;--radius-panel:4px;--radius-cert:14px;--radius-card:24px;--radius-pill:100px;
  --shadow-cta:0 0 0 4px rgba(255,226,122,.35);
  --shadow-text:0 1px 14px rgba(0,25,45,.38);
  --space-3:12px;--space-4:18px;--space-5:28px;--space-6:48px;--space-7:72px;--space-8:110px;
  --fish:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='83 667 404 168'%3E%3Cpath d='M482.7 724.2C480.8 719.5 462.7 709.5 455.9 704.8C449.1 700.1 448.1 699.3 441.9 695.8C435.6 692.2 425 686.5 418.3 683.5C411.7 680.4 407.3 679.1 401.9 677.4C396.4 675.8 390.6 674.3 385.6 673.4C380.7 672.4 377.2 671.9 372.1 671.5C367.1 671.2 360.1 671.1 355.4 671.2C350.6 671.4 348.2 671.7 343.6 672.3C339.1 673 333.1 674.2 328.1 675.4C323.2 676.6 318.9 677.7 313.9 679.4C309 681.1 305 682.4 298.4 685.5C291.7 688.5 283.8 692.2 273.9 697.6C264 703.1 248.7 712.6 239 718C229.4 723.4 222.7 726.8 216 730C209.3 733.2 204.4 735.1 198.8 737.1C193.2 739.1 187.8 740.8 182.6 742.2C177.4 743.5 171.6 744.5 167.6 745.2C163.6 745.9 163.8 746 158.4 746.2C152.9 746.4 141.9 746.7 135.1 746.2C128.4 745.7 122 744 117.9 743.2C113.8 742.3 114.4 742.5 110.7 741.1C107 739.8 99.5 736.9 95.7 735.1C91.9 733.4 89.2 731.3 87.9 730.7C86.5 730 86.4 729.4 87.4 731.2C88.4 733.1 90.3 738.8 93.8 741.8C97.2 744.7 102.9 746.6 108.4 748.8C113.8 750.9 120.5 753.3 126.6 754.9C132.8 756.4 133.7 757.4 145.4 758C157 758.5 186.7 757.8 196.4 758C206 758.2 199.8 758.2 203.4 759C206.9 759.9 212.9 761.1 217.8 763.1C222.8 765.2 230 769.5 233 771.2C236.1 772.9 234.5 771.8 236.2 773.3C237.8 774.9 241.1 777.8 243.1 780.4C245.2 782.9 247 785.9 248.2 788.6C249.4 791.2 250 793.5 250.4 796.2C250.7 799 250.7 802.5 250.3 805.2C250 808 249.3 810.1 248.2 812.7C247.2 815.3 246.1 817.9 244.2 820.9C242.2 823.9 237.3 829.4 236.7 830.6C236.2 831.9 238.5 830 240.8 828.6C243.1 827.1 247.9 824.1 250.6 821.9C253.3 819.7 255.3 817.5 257.1 815.2C259 813 260.6 810.7 261.9 808.5C263.2 806.2 264.1 804.5 264.9 802C265.7 799.5 266.5 795.6 266.8 793.5C267.1 791.4 267.1 791.6 266.8 789.5C266.5 787.4 265.2 782.4 264.9 780.7C264.7 779 261.8 778.3 265.5 779.3C269.1 780.3 280.3 784.9 286.6 786.8C292.9 788.7 298 789.9 303.1 790.9C308.2 791.9 312.9 792.4 317.1 793C321.4 793.5 324.8 793.8 328.6 794C332.4 794.1 335.8 794.2 339.9 794C343.9 793.8 348.4 793.4 352.9 792.7C357.4 792 362.8 790.8 366.9 789.8C370.9 788.8 372.2 788.6 377.1 786.8C382 785 390.6 781.5 396.4 778.8C402.1 776.1 405.3 774.4 411.6 770.7C417.8 767 424.5 762.7 433.9 756.5C443.2 750.2 459.3 738.6 467.5 733.2C475.6 727.8 484.7 728.9 482.7 724.2ZM459.2 723.5C459.9 724.8 461.7 722.6 457 726C452.3 729.4 438.7 738.9 431 744C423.3 749.2 416.4 753.7 411 757C405.6 760.4 403.7 761.6 398.8 764.1C393.9 766.6 386.5 770.1 381.8 772.1C377.1 774.1 374.5 774.9 370.8 776.1C367.1 777.3 363.5 778.3 359.6 779.2C355.7 780 351.3 780.8 347.4 781.2C343.4 781.6 340.5 781.7 335.9 781.7C331.2 781.7 325.2 781.8 319.4 781.2C313.5 780.6 307.8 779.8 300.7 778.1C293.5 776.4 288.9 775.4 276.7 771.1C264.5 766.8 238.1 756.1 227.3 752.4C216.5 748.6 215.1 749.2 211.9 748.5C208.6 747.8 208.9 748.4 207.7 748.1C206.4 747.8 204.8 747.1 204.3 746.7C203.8 746.4 201.5 747.5 204.7 746.1C207.9 744.8 217.9 741 223.4 738.6C228.8 736.2 228.4 736.8 237.4 731.7C246.4 726.7 265.9 714.5 277.5 708.2C289 702 300 697.1 306.7 694.1C313.4 691.1 313.3 691.5 317.7 690.1C322 688.8 326.8 687.2 332.9 686.1C339 684.9 347.9 683.5 354.1 683C360.3 682.5 367 682.9 370.1 683C373.2 683.1 371 683.5 372.6 683.7C374.2 683.9 376.8 683.7 379.6 684.1C382.4 684.4 385.2 684.9 389.6 686.1C394 687.2 400.9 689.3 405.8 691.1C410.7 693 414.2 694.7 418.9 697C423.6 699.4 428.3 701.7 434 705.2C439.7 708.8 448.8 715.2 453 718.2C457.2 721.3 458.6 722.2 459.2 723.5Z'/%3E%3C/svg%3E");
  --wave-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 22C100 6 200 6 300 22S500 38 600 22S800 6 900 22S1100 38 1200 22V40H0Z'/%3E%3C/svg%3E");
  --wave-up:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 0H1200V18C1100 34 1000 34 900 18S700 2 600 18S400 34 300 18S100 2 0 18Z'/%3E%3C/svg%3E");
}
:focus-visible{outline-offset:3px}

/* ---------- motyw rybki (zamiast strzałek) ---------- */
.mf{display:inline-block;flex:none;width:1.6em;height:.66em;vertical-align:-.05em;background:currentColor;
  -webkit-mask:var(--fish) center/contain no-repeat;mask:var(--fish) center/contain no-repeat;transition:transform .3s ease-out}
.btn:hover .mf,.pill:hover .mf,a:hover > .mf,.row:hover .more .mf,.sp-tile:hover .mf,.loc-tile:hover .mf{transform:translateX(4px)}
.t-meta i.mf{margin-left:auto;color:inherit;font-style:normal}
.btn .mf{margin-left:.5rem}
@media (prefers-reduced-motion:reduce){.mf{transition:none}.btn:hover .mf,a:hover > .mf{transform:none}}

/* ---------- przyciski: pigułki, jeden żółty na ekran ---------- */
.btn{border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box}
.btn.main{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-cta)}
.btn.main:hover{background:var(--accent-hover)}
.btn.ghost{background:transparent;border:1.5px solid currentColor;color:var(--ink)}
.btn.ghost:hover{background:var(--pill)}
.btn.soft{background:var(--pill);border-color:transparent;color:var(--ink)}
.btn.soft:hover{background:rgba(255,255,255,.22)}

/* ---------- nawigacja: szklana pigułka, aktywny link z żółtą rybką ---------- */
.nav a{position:relative}
.nav a.on::after{content:"";position:absolute;left:50%;bottom:-1px;width:22px;height:9px;transform:translateX(-50%);
  background:var(--accent);-webkit-mask:var(--fish) center/contain no-repeat;mask:var(--fish) center/contain no-repeat}

/* ---------- wskaźnik głębokości: skala w kolorach głębokości ---------- */
.rail{width:6px;border-radius:3px;opacity:1;color:#fff;
  background:linear-gradient(180deg,var(--dep-5) 0 12.5%,var(--dep-12) 12.5% 30%,var(--dep-18) 30% 45%,var(--dep-30) 45% 75%,var(--dep-40) 75% 100%);
  box-shadow:0 0 0 1.5px rgba(255,255,255,.7)}
.rail.light{color:#fff}
.rail i{width:14px;height:2px;right:-4px;background:#fff;box-shadow:0 0 0 .5px rgba(6,42,68,.35)}
.rail .marker{right:-4px;width:14px;height:14px;background:var(--accent);box-shadow:0 0 0 5px rgba(255,226,122,.3)}
.meter{background:rgba(3,24,44,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-panel);
  padding:1rem 1.15rem 1.1rem;color:#fff;text-shadow:none}
.meter.light{--mc:#fff;--ms:transparent}
.meter .n{font-weight:300;letter-spacing:-.02em}
.meter .mbtn{border-radius:var(--radius-pill)}
@media (max-width:1439px){.meter{padding:.55rem .75rem .6rem}}
@media (max-width:820px){.meter{padding:.3rem .55rem .35rem;border-radius:var(--radius-tag)}}

/* ---------- hero: ocean po bokach filmu zamiast białego pasa ---------- */
@media (min-aspect-ratio:3/4){
  .vbg{background:none;filter:blur(34px) brightness(.8) saturate(1.1);transform:scale(1.15)}
  .shade{display:block}
}
@media (min-aspect-ratio:1/1){
  .caps{color:#fff}
  .cap{text-shadow:0 2px 26px rgba(0,25,45,.6),0 1px 4px rgba(0,25,45,.35)}
  .loading{color:#fff;text-shadow:0 1px 10px rgba(0,30,50,.7)}
}

/* ---------- Poznajmy się / definicja: bez żółtych ozdobników ---------- */
.def{border-left-color:rgba(255,255,255,.55)}
.def li::marker{color:#fff}
.def a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.pull{border-left-color:rgba(255,255,255,.55)}
.brand-id .bi-txt em{color:var(--accent)}

/* ---------- kursy: pasy w kolorze głębokości, między nimi fala ---------- */
#kursy{display:block;margin-top:-6vh}
#kursy .wrap{padding-bottom:0}
.rows{--gx:calc((100vw - min(100vw,72rem)) / 2);list-style:none;margin:2.6rem 0 34px;padding:0;background:none;border-radius:0;
  -webkit-backdrop-filter:none;backdrop-filter:none;text-shadow:none}
.row{--band:var(--dep-5);--fg:var(--on-light);position:relative;background:var(--band);color:var(--fg);
  padding:2.8rem calc(var(--gx) + max(6vw,110px)) 2.8rem calc(var(--gx) + 6vw);column-gap:clamp(3rem,7vw,6.5rem)}
.row + .row{border-top:0}
.row[data-depth="5"]{--band:var(--dep-5);--fg:var(--on-light)}
.row[data-depth="12"]{--band:var(--dep-12);--fg:var(--on-light)}
.row[data-depth="18"]{--band:var(--dep-18);--fg:var(--on-light)}
.row[data-depth="30"]{--band:var(--dep-30);--fg:var(--on-navy)}
.row[data-depth="40"]{--band:var(--dep-40);--fg:var(--on-navy)}
.row::before{content:"";position:absolute;left:0;right:0;top:-33px;height:34px;background:var(--band);pointer-events:none;
  -webkit-mask:var(--wave-down) 0 0/100% 100% no-repeat;mask:var(--wave-down) 0 0/100% 100% no-repeat}
.row:last-child::after{content:"";position:absolute;left:0;right:0;bottom:-33px;height:34px;background:var(--band);pointer-events:none;
  -webkit-mask:var(--wave-up) 0 0/100% 100% no-repeat;mask:var(--wave-up) 0 0/100% 100% no-repeat}
.row .d{font-weight:300;color:inherit}
.row p,.row .meta{color:inherit}
.row p{opacity:.92}
.row .ssi-sub{opacity:.85}
.row .more{background:transparent;border:1.5px solid currentColor;color:inherit;padding:.3rem .85rem;font-weight:600;
  display:inline-flex;align-items:center;gap:.5rem}
.rows .row[data-depth]:hover .more{background:rgba(255,255,255,.22)}
.rows .row[data-depth="5"]:hover .more,.rows .row[data-depth="12"]:hover .more,.rows .row[data-depth="18"]:hover .more{background:rgba(6,42,68,.1)}
.rowlink:focus-visible::after{outline:3px solid var(--fg);outline-offset:-6px}
.row .cert{border-radius:var(--radius-cert);box-shadow:0 24px 44px -16px rgba(0,10,25,.7),0 3px 10px rgba(0,10,25,.3)}
.stamp{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-tag);box-shadow:0 8px 18px -6px rgba(0,20,40,.55)}
@media (max-width:820px){.row{padding:2.2rem 6vw 2.2rem 6vw;column-gap:0}}

/* ---------- specjalizacje: panele w tonach głębokości ---------- */
.car-track > li{display:flex}
.sp-tile{flex:1;padding:14px 14px 18px;border-radius:var(--radius-panel);background:var(--glass);color:var(--ink);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);gap:.2rem}
.pt-light .sp-tile{background:var(--dep-5);color:var(--on-light);-webkit-backdrop-filter:none;backdrop-filter:none}
.pt-navy .sp-tile{background:var(--navy);color:var(--on-navy);-webkit-backdrop-filter:none;backdrop-filter:none}
.sp-tile img{border-radius:var(--radius-cert);box-shadow:0 10px 22px -10px rgba(0,10,25,.55)}
.sp-tile .t-meta,.sp-tile .t-meta i{color:inherit}
.sp-tile .t-meta{opacity:.9}
.sp-tile:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:var(--radius-panel)}
.pt-light .sp-tile:focus-visible{outline-color:var(--on-light)}

/* ---------- nurkowiska: zdjęcie 3:4 i pasek w kolorze maksymalnej głębokości ---------- */
.loc-tile{--band:var(--dep-18);--bfg:var(--on-light);display:flex;flex-direction:column;border-radius:var(--radius-cert);background:var(--band);isolation:auto}
.loc-tile[data-d="5"]{--band:var(--dep-5);--bfg:var(--on-light)}
.loc-tile[data-d="12"]{--band:var(--dep-12);--bfg:var(--on-light)}
.loc-tile[data-d="18"]{--band:var(--dep-18);--bfg:var(--on-light)}
.loc-tile[data-d="30"]{--band:var(--dep-30);--bfg:var(--on-navy)}
.loc-tile[data-d="40"]{--band:var(--dep-40);--bfg:var(--on-navy)}
.loc-tile img{position:static;z-index:auto;flex:1;min-height:0;width:100%;height:auto;object-fit:cover;background:var(--dep-12)}
.loc-tile::after{display:none}
.loc-tile .t-depth{background:var(--band);color:var(--bfg);border-radius:var(--radius-tag);padding:.3rem .6rem;font-weight:500;z-index:1}
.loc-tile .t-cap{position:static;padding:14px 16px 16px;color:var(--bfg);background:var(--band)}
.loc-tile .t-name{font-weight:600;letter-spacing:-.01em}
.loc-tile .t-ben,.loc-tile .t-meta{color:inherit}
.loc-tile .t-ben{opacity:.95}
.loc-tile .t-meta{opacity:.88}
.loc-tile:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:var(--radius-cert)}

/* ---------- strzałki karuzel: szkło, bez żółtego ---------- */
.car-btn{background:rgba(3,24,44,.7);color:#fff;border:1.5px solid rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 10px 24px -8px rgba(0,10,25,.6)}
.car-btn:hover{background:rgba(3,24,44,.88)}

/* ---------- opinie: szkło, kursywa Newsreader ---------- */
.marq .car-track > figure,.quotes figure{border-radius:var(--radius-panel);background:rgba(3,24,44,.55)}
.quotes blockquote p{font-size:1.2rem}
.quotes .qimg{border-radius:2px}

/* ---------- Poznajmy się i kontakt: ciemna woda, granica to fala ---------- */
.abyss{position:relative;z-index:3;margin-top:44px;background:linear-gradient(180deg,var(--abyss-top),var(--abyss-bottom))}
.abyss::before{content:"";position:absolute;left:0;right:0;top:-33px;height:34px;background:var(--abyss-top);pointer-events:none;
  -webkit-mask:var(--wave-down) 0 0/100% 100% no-repeat;mask:var(--wave-down) 0 0/100% 100% no-repeat}
.abyss .depth{position:relative;z-index:1}
.abyss .wrap{text-shadow:none}
.stats3 li{border-top-color:rgba(255,255,255,.35)}

/* ---------- podstrony: motyw jasny z systemu ---------- */
.sub{--s-ink:#0b2a45;--s-dim:#41596b;--s-line:#e1e9ed;--s-pill:#e3eef2}
.sub .pill.cta{background:var(--s-pill);box-shadow:none}
.sub .pill.cta:hover{background:#d4e6ec}
.sub .price .pill.cta,.sub .c-ready .pill.cta,.sub .c-pick .pill.cta{background:var(--accent);box-shadow:var(--shadow-cta)}
.sub .price .pill.cta:hover{background:#ffd84f}
.sub-top .pill.cta{background:var(--s-pill);box-shadow:none}
.tags li{border-radius:var(--radius-tag);padding:.4rem .75rem;font-weight:500;background:var(--s-pill)}
.tags li.hl{background:var(--navy);color:var(--on-navy)}
.tags li.dp{display:inline-flex;align-items:center;gap:.5rem;background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}
.tags li.dp::before{content:"";width:10px;height:10px;border-radius:2px;background:var(--sw);box-shadow:0 0 0 1.5px currentColor}
.card .num{border-radius:var(--radius-tag)}
.pills li{border-radius:var(--radius-tag)}
.price{background:var(--navy)}
.sub-title,.c-title{font-variation-settings:"opsz" 96}
.course{--c-sea:#11709a;--c-deep:#062a44;--c-ink:#0b2a45}
.c-pick{background:var(--navy)}
.c-badge{border-radius:var(--radius-tag)}

.meter:not(.has) .t,.meter:not(.has) .mbtn{display:none}
.sp-tile,.loc-tile,.quotes figure{text-shadow:none}
.meter{padding:1rem 1rem 1.1rem}
.meter .n{font-size:4rem}
@media (max-width:1439px){.meter .n{font-size:2.2rem}}
@media (max-width:820px){.meter .n{font-size:1.15rem}}
.c-gauge svg{stroke:currentColor}
.c-gauge{box-shadow:0 20px 34px -16px rgba(11,42,69,.55)}

/* ---------- podstrony, przebieg 2: OWD + O mnie ---------- */
.mf.rev{transform:scaleX(-1)}
.pill:hover .mf.rev,a:hover > .mf.rev{transform:scaleX(-1) translateX(4px)}
.sub .pill .mf{margin:0}
/* etykiety: zwykłe litery, w formie Tagu (3 px) w kolorze głębokości */
.course .c-eyebrow,.course .c-stxt .tag{display:inline-block;text-transform:none;letter-spacing:0;border-radius:var(--radius-tag);padding:.38rem .65rem;
  font:500 .86rem/1 var(--display);background:var(--dbg,var(--dep-5));color:var(--dfg,var(--navy));margin:0 0 16px}
.course .c-stxt .tag{margin:0}
.course .c-pick .c-eyebrow{background:var(--dep-12);color:var(--navy)}
.c-gauge small,.c-sumc dt{text-transform:none;letter-spacing:0}
/* panele 4 px zamiast zaokrągleń 24–36 px */
.course .c-tiles li,.course .c-box,.course .c-req,.course .c-end,.course .c-formc,.course .c-ready,.course .c-story,.course .c-photo,.course .c-shot,.course .c-pick,.course .c-cert,.course .c-opt label,.course .c-toggle label,.course .c-field input,.course .c-field textarea,.course .c-ready pre{border-radius:var(--radius-panel)}
.course .c-photo,.course .c-shot{border-radius:var(--radius-panel)}
.course .c-me figcaption{border-radius:var(--radius-tag)}
.course .c-box.white{background:#fff;border:1px solid var(--c-line)}
.course .c-box.foam{background:var(--dep-5);color:var(--navy)}
.course .c-end{background:var(--dep-5);color:var(--navy)}
.course .c-pick{background:var(--navy)}
/* linia głębokości w kolorach skali */
.c-stages::before{background:linear-gradient(var(--dep-5),var(--dep-12) 25%,var(--dep-18) 55%,var(--dep-30) 80%,var(--dep-deep))}
.c-depth{border-radius:var(--radius-tag)}
.c-stage{--dbg:var(--dep-5);--dfg:var(--navy)}
/* żółty tylko tam, gdzie CTA; reszta w skali głębokości */
.c-go{box-shadow:var(--shadow-cta)}
.c-sumc .c-go{background:transparent;color:#fff;box-shadow:none;border:1.5px solid rgba(255,255,255,.7)}
.c-sumc .c-go:hover{background:rgba(255,255,255,.14)}
.c-step h4 i{background:var(--dep-12);color:var(--navy);border-radius:var(--radius-tag)}
.c-list.ok li::before{background-color:var(--dep-12);border-radius:var(--radius-tag)}
.c-opt input:checked + label .tk{background-color:var(--dep-12)}
.c-opt li::before{background:var(--dep-12)}
.c-opt input:focus-visible + label,.c-toggle input:focus-visible + label{outline-color:var(--dep-12)}
.c-toggle input:checked + label{background:rgba(138,209,230,.14);border-color:var(--dep-12)}
.c-toggle input:checked + label .sw{background:var(--dep-12)}
.c-field input:focus,.c-field textarea:focus{border-color:var(--dep-12)}
.c-ready .pill.cta{background:var(--accent)}
.c-bub{border-color:rgba(63,169,204,.45)}
.c-me span{border-color:var(--dep-5)}
.c-collage .c-gauge{background:var(--dep-18)}
/* O mnie */
.facts article{border-radius:var(--radius-panel);color:var(--navy)}
.facts article:nth-child(4){color:#fff}
.facts article:nth-child(4) .pills li{color:var(--navy)}
.pills li{border-radius:var(--radius-tag)}
.gal figure,.cust .info article,.sub-note{border-radius:var(--radius-panel)}
.cust .price{border-radius:var(--radius-panel);background:var(--navy)}
.gal figcaption{background:linear-gradient(transparent,rgba(6,42,68,.85))}
.gal .ph-tile{border-radius:var(--radius-panel);border-color:var(--dep-18);background:var(--dep-5);color:var(--navy)}
.cust .info article{border-top:4px solid var(--dep-12)}
.cust .info article:nth-child(2){border-top-color:var(--dep-18)}
.cust .info article:nth-child(3){border-top-color:var(--dep-30)}
.hero-certs img,.hand img{border-radius:var(--radius-cert)}
.c-opt input:checked + label{border-color:var(--dep-12);box-shadow:0 0 0 4px rgba(138,209,230,.55)}
.course .c-sumc{border-radius:var(--radius-panel)}
.course .c-sumc,.course .c-opt label{border-radius:var(--radius-panel)}

/* ---------- podstrony w oceanie (OWD, O mnie) ---------- */
.sea{display:none;position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.sub.ocean .sea{display:block}
.sub-in{position:relative;z-index:1}
.sea::before,.sea::after{content:"";position:absolute;inset:-20% -10%;
  background:repeating-linear-gradient(100deg,rgba(255,255,255,0) 0 90px,rgba(255,255,255,.07) 130px,rgba(255,255,255,0) 190px 300px);
  transform:skewX(-14deg);animation:ray 18s ease-in-out infinite alternate;opacity:.9}
.sea::after{background:repeating-linear-gradient(100deg,rgba(255,255,255,0) 0 140px,rgba(201,237,245,.06) 190px,rgba(255,255,255,0) 260px 420px);animation-duration:26s;animation-direction:alternate-reverse}
@keyframes ray{from{transform:translateX(-4%) skewX(-14deg)}to{transform:translateX(5%) skewX(-10deg)}}
.sea .fish{opacity:.5}
.sea .b{position:absolute;bottom:-30px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),rgba(255,255,255,0) 60%);
  animation:rise var(--t,16s) linear var(--d,0s) infinite}
@keyframes rise{from{transform:translate(0,0)}50%{transform:translate(14px,-55vh)}to{transform:translate(-8px,-115vh)}}
@media (prefers-reduced-motion:reduce){.sea::before,.sea::after,.sea .b,.sea .fish{animation:none}}

.sub.ocean{--s-ink:#fff;--s-dim:rgba(255,255,255,.88);--s-line:rgba(255,255,255,.28);--s-pill:rgba(255,255,255,.18);color:#fff;
  background:linear-gradient(180deg,#17789c,#0d5f86)}
.sub.ocean .sub-top{background:linear-gradient(var(--ot,#17789c) 70%,transparent)}
.sub.ocean .pill:hover,.sub.ocean .sub-top .pill.cta:hover{background:rgba(255,255,255,.3)}
.sub.ocean .pill.dark{background:#fff;color:var(--navy)}
.sub.ocean .pill.dark:hover{background:var(--dep-5)}
.sub.ocean a:focus-visible,.sub.ocean button:focus-visible{outline-color:#fff}
.sub.ocean .sub-title,.sub.ocean .sub-h,.sub.ocean .c-title,.sub.ocean .c-h{text-shadow:var(--shadow-text,0 2px 18px rgba(0,30,55,.35))}
.sub.ocean .tags li{color:#fff}
.sub.ocean .tags li.hl{background:var(--navy);color:#fff}
.sub.ocean .story p{color:rgba(255,255,255,.94)}
.sub.ocean .gal figure{box-shadow:0 20px 40px -22px rgba(0,25,50,.6)}
/* OWD: zmienne tekstu na oceanie, panele wracają do ciemnego tekstu */
.sub.ocean .course{--c-ink:#fff;--c-dim:rgba(255,255,255,.88);--c-sea:var(--dep-5);--c-line:rgba(255,255,255,.3);--c-paper:rgba(255,255,255,.14)}
.sub.ocean .c-box,.sub.ocean .c-req,.sub.ocean .c-end,.sub.ocean .c-story,.sub.ocean .c-pick,.sub.ocean .c-photo,.sub.ocean .c-me figcaption,.sub.ocean .c-badge,.sub.ocean .cust .info article,.sub.ocean .sub-note{
  --c-ink:#0b2a45;--c-dim:#41596b;--c-sea:#11709a;--c-line:#dbe6eb;--c-paper:#fff;--s-ink:#0b2a45;--s-dim:#41596b;--s-pill:#e3eef2;--s-line:#e1e9ed;color:#0b2a45;text-shadow:none}
.sub.ocean .c-pick{--c-paper:#fff;color:var(--c-on-deep)}
.sub.ocean .c-pick{--c-ink:#0b2a45}
.sub.ocean .c-me figcaption{background:#fff}
.sub.ocean .c-box.white,.sub.ocean .c-req{background:#fff}
.sub.ocean .c-tiles li{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.32);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.sub.ocean .c-stxt .c-list li{color:rgba(255,255,255,.94)}
.sub.ocean .c-stxt .c-list li::before{background:var(--dep-5)}
.sub.ocean .c-depth{box-shadow:none}
.sub.ocean .c-stages::before{background:linear-gradient(rgba(255,255,255,.85),var(--dep-12) 40%,var(--dep-18))}
.sub.ocean .c-bub{border-color:rgba(255,255,255,.5)}
.sub.ocean .c-stats div{border-left-color:rgba(255,255,255,.3)}
.sub.ocean .c-stats{border-color:rgba(255,255,255,.3)}
.sub.ocean .c-opt label{color:#fff}
.sub.ocean .c-opt input:checked + label{color:#0b2a45}
.sub.ocean .c-formc{background:rgba(255,255,255,.08)}
.sub.ocean .c-sumc{color:#0b2a45}
.sub.ocean .c-ready{color:#0b2a45}
.sub.ocean .c-end .pill{--s-ink:#0b2a45}
.sub.ocean .cust .price .lbl,.sub.ocean .price .lbl{color:#fff}
.sea .fish{opacity:.32}
.sub.ocean .sub-mark{filter:brightness(0) invert(1)}
.sub.ocean .price .pill.cta,.sub.ocean .c-ready .pill.cta,.sub.ocean .c-pick .pill.cta{color:var(--on-accent)}
/* ocean jak na stronie głównej: małe bąbelki (sam obrys), śnieg morski, bez ryb */
.sea .b{border:1px solid rgba(225,245,255,.32);background:none;bottom:-20px}
.sea .s{position:absolute;width:2px;height:2px;border-radius:50%;background:rgba(220,245,255,.4);animation:snow var(--t,40s) linear var(--d,0s) infinite}
@keyframes snow{from{transform:translate(0,0)}50%{transform:translate(10px,-30px)}to{transform:translate(-6px,-70px)}}
@media (prefers-reduced-motion:reduce){.sea .s{animation:none}}
/* formularz zapisu: jasna karta */
.sub.ocean .c-formc{background:#fff;color:#0b2a45;border:0;border-radius:var(--radius-panel)}
.sub.ocean .c-formc .c-field label{color:#0b2a45}
.sub.ocean .c-formc .c-field input,.sub.ocean .c-formc .c-field textarea{background:#f5f8f9;border:1.5px solid #c3d6de;border-radius:var(--radius-tag)}
.sub.ocean .c-formc .c-field input:focus,.sub.ocean .c-formc .c-field textarea:focus{border-color:var(--dep-30);background:#fff}
.sub.ocean .c-formc .c-fhint{color:#41596b}
.sub.ocean .c-formc .c-field .err{color:#b3261e}
.sub.ocean .c-formc .c-go{box-shadow:var(--shadow-cta)}
/* formularz: jasnoniebieska karta, białe pola */
.sub.ocean .c-formc{background:var(--dep-12)}
.sub.ocean .c-formc .c-field input,.sub.ocean .c-formc .c-field textarea{background:#fff;border:1.5px solid transparent}
.sub.ocean .c-formc .c-field input:focus,.sub.ocean .c-formc .c-field textarea:focus{border-color:var(--navy)}
.sub.ocean .c-formc .c-fhint{color:var(--navy)}
.sub.ocean .c-formc .c-field .err{color:#8f1d14}

/* ---------- ocean: pozostałe podstrony ---------- */
.sub.ocean .card,.sub.ocean .info article,.sub.ocean .q-opt,.sub.ocean .offer-hero,.sub.ocean .ev,.sub.ocean .ev-empty,.sub.ocean .sub-note{
  --s-ink:#0b2a45;--s-dim:#41596b;--s-pill:#e3eef2;--s-line:#e1e9ed;color:#0b2a45;text-shadow:none}
.sub.ocean .card,.sub.ocean .info article,.sub.ocean .q-opt,.sub.ocean .offer-hero,.sub.ocean .ev,.sub.ocean .ev-empty,.sub.ocean .sub-note,.sub.ocean .card .num{border-radius:var(--radius-panel)}
.sub.ocean .ev-empty{background:#fff}
.sub.ocean .ev,.sub.ocean .q-opt{border-width:1px}
.sub.ocean .ev-date,.sub.ocean .q-opt .em{border-radius:var(--radius-tag)}
.sub.ocean .q-opt:hover,.sub.ocean .q-opt.sel{border-color:var(--dep-30)}
.sub.ocean .q-opt.sel{background:var(--dep-5)}
.sub.ocean .q-bar{background:rgba(255,255,255,.25)}
.sub.ocean .q-bar i{background:#fff}
.sub.ocean .offer-hero img,.sub.ocean .o-sites img{border-radius:var(--radius-panel)}
.sub.ocean .o-label{text-transform:none;letter-spacing:0}
.sub.ocean .offer .pills li{background:rgba(255,255,255,.9);color:var(--navy)}
.sub.ocean .offer-hero .pills li{background:#e3eef2}
.sub.ocean .adm-err{color:#ffd6d0}
.sub.ocean .adm input,.sub.ocean .adm textarea{border-radius:var(--radius-tag);border:1.5px solid transparent}
.sub.ocean .card .num{background:rgba(255,255,255,.85)}
.sub.ocean .card .num.place{background:var(--navy);color:#fff}
.sub.ocean .cust .price .pill.dark{color:var(--navy)}
.sub.ocean .price,.sub.ocean .c-end{border-radius:var(--radius-panel)}
.sub{overflow-x:hidden}
.c-facts{margin:22px 0 0;font:300 clamp(1.7rem,3.2vw,2.6rem)/1.12 var(--display);letter-spacing:-.03em;max-width:24ch;font-variation-settings:"opsz" 96;color:var(--c-ink)}
.sub.ocean .c-facts{text-shadow:var(--shadow-text,0 2px 18px rgba(0,30,55,.35))}
.c-stats b{font-size:clamp(1.7rem,2.9vw,2.5rem);letter-spacing:-.03em;white-space:nowrap}
@media (max-width:820px){.c-stats b{white-space:normal}}
.c-stats b{font-size:clamp(1.6rem,2.35vw,2.2rem)}

/* Strona główna, „O mnie”: zdjęcie bez ramki zaraz po nagłówku */
#o-mnie .om-h{margin:0 0 clamp(1.4rem,3vw,2.2rem)}
#o-mnie .om-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}
.om-photo{margin:0}
.om-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-panel)}
.om-photo figcaption{margin-top:.55rem;font:400 .82rem/1.35 var(--display);opacity:.8}
@media (max-width:820px){
  #o-mnie .om-grid{grid-template-columns:minmax(0,1fr)}
  .om-photo{max-width:min(460px,100%)}
}

/* ===== Podstrona O mnie: sekcje w zygzaku, galeria, jak uczę krok po kroku ===== */
.ab{margin-top:clamp(8px,2vw,24px)}
.ab-sec{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;margin:0 0 clamp(64px,9vw,128px)}
.ab-sec.flip{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.ab-sec.flip .ab-fig{order:2}
.ab-fig{margin:0;position:relative}
.ab-fig img{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--radius-panel);box-shadow:0 28px 56px -30px rgba(0,20,40,.8)}
.ab-fig figcaption{margin-top:.6rem;font:400 .82rem/1.4 var(--display);color:rgba(255,255,255,.78)}
.ab-h{margin:0 0 1rem;font:600 clamp(1.65rem,1.1rem + 1.7vw,2.6rem)/1.12 var(--display);letter-spacing:-.025em;color:#fff;text-wrap:balance}
.ab-txt p{margin:0 0 1rem;max-width:34rem;font:400 clamp(1.02rem,.97rem + .25vw,1.16rem)/1.6 var(--text);color:rgba(255,255,255,.9)}
.ab-txt .ab-kick{margin-top:1.4rem;padding-left:1rem;border-left:2px solid var(--dep-5);font:500 clamp(1.08rem,1rem + .35vw,1.28rem)/1.45 var(--display);color:#fff;text-wrap:pretty}
/* miejsce na zdjęcie (do podmiany) */
.ab-ph{display:flex;align-items:center;justify-content:center;text-align:center;border:1.5px dashed rgba(255,255,255,.55);border-radius:var(--radius-panel);background:rgba(255,255,255,.07);color:rgba(255,255,255,.88)}
.ab-fig.ab-ph{aspect-ratio:5/4;padding:24px}
.ab-ph span{font:400 .95rem/1.45 var(--display);max-width:22rem}
.ab-ph span b{display:block;margin-bottom:.3rem;font-weight:600;font-size:.8rem;opacity:.75}
/* galeria bez tytułu: kafelki różnej wielkości, pierwszy na całą szerokość ekranu */
.ab-gal{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(78px,8.4vw,118px);grid-auto-flow:dense;gap:12px;margin:0 0 clamp(24px,4vw,40px)}
.ab-gal figure{position:relative;margin:0;overflow:hidden;border-radius:var(--radius-panel)}
.ab-gal img{display:block;width:100%;height:100%;object-fit:cover}
.ab-gal figcaption{position:absolute;left:10px;bottom:10px;padding:3px 9px;border-radius:var(--radius-tag,3px);background:rgba(6,42,68,.84);color:#fff;font:500 .8rem/1.3 var(--display)}
.ab-gal .g-full{grid-column:1/-1;grid-row:span 5;width:100vw;margin-left:calc(50% - 50vw);border-radius:0;border-left:0;border-right:0}
.ab-gal .g-w7{grid-column:span 7;grid-row:span 3}
.ab-gal .g-w5{grid-column:span 5;grid-row:span 3}
.ab-gal .g-w4{grid-column:span 4;grid-row:span 2}
.ab-gal .ab-ph span{font-size:.85rem}
.ab-gal .g-full figcaption{left:max(clamp(18px,4vw,48px),calc((100vw - 1200px)/2 + clamp(18px,4vw,48px)));bottom:14px}
/* jak uczę: oś z trzema krokami */
.ab-steps{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;position:relative}
.ab-steps::before{content:"";position:absolute;left:22px;right:22px;top:21px;height:2px;background:linear-gradient(90deg,var(--dep-5),var(--dep-30) 55%,var(--dep-12));opacity:.9}
.ab-steps li{position:relative;padding-top:64px}
.ab-dot{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:600 1.05rem var(--display);background:var(--dep-5);color:var(--navy);box-shadow:0 0 0 6px rgba(255,255,255,.12)}
.ab-steps li:nth-child(2) .ab-dot{background:var(--dep-30);color:#fff}
.ab-steps li:nth-child(3) .ab-dot{background:var(--dep-12);color:var(--navy)}
.ab-when{display:inline-block;margin-bottom:.7rem;padding:3px 9px;border-radius:var(--radius-tag,3px);background:rgba(255,255,255,.14);color:#fff;font:500 .82rem/1.3 var(--display)}
.ab-steps h4{margin:0 0 .5rem;font:600 clamp(1.2rem,1.05rem + .5vw,1.45rem)/1.2 var(--display);color:#fff;letter-spacing:-.01em}
.ab-steps p{margin:0;font:400 1rem/1.55 var(--text);color:rgba(255,255,255,.88);max-width:24rem}
.ab-end{margin-top:clamp(56px,8vw,96px)}
.ab-end .big{font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.08;max-width:24ch}
.ab-end-p{margin:.9rem 0 0;font:400 1.05rem/1.5 var(--text);opacity:.9;max-width:34rem}
@media (max-width:820px){
  .ab-sec,.ab-sec.flip{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:56px}
  .ab-sec.flip .ab-fig{order:0}
  .ab-gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(110px,30vw,180px);gap:10px}
  .ab-gal .g-full{grid-column:1/-1;grid-row:span 2}
  .ab-gal .g-w7{grid-column:1/-1;grid-row:span 2}
  .ab-gal .g-w5,.ab-gal .g-w4{grid-column:span 1;grid-row:span 1}
  .ab-gal figure:nth-last-child(2){grid-column:1/-1}
  .ab-steps{grid-template-columns:minmax(0,1fr);gap:30px}
  .ab-steps::before{left:21px;right:auto;top:22px;bottom:22px;width:2px;height:auto;background:linear-gradient(180deg,var(--dep-5),var(--dep-30) 55%,var(--dep-12))}
  .ab-steps li{padding:0 0 0 64px}
}

/* ===== O mnie: parallax ===== */
.ab-img{display:block;position:relative;overflow:hidden;border-radius:var(--radius-panel);aspect-ratio:5/4;box-shadow:0 28px 56px -30px rgba(0,20,40,.8)}
.ab-fig img{aspect-ratio:auto;box-shadow:none;border-radius:0}
.ab-img img,.ab-gal .ab-img img{position:absolute;left:0;top:-18%;width:100%;height:136%;object-fit:cover;will-change:transform;transform:translate3d(0,calc(var(--p,0)*13%),0) scale(1.07)}
.ab-gal .ab-img{position:absolute;inset:0;border-radius:0;box-shadow:none;aspect-ratio:auto}
.ab-gal .g-full .ab-img img{top:-22%;height:144%;transform:translate3d(0,calc(var(--p,0)*15%),0) scale(1.07)}
.ab-gal figure{transform:translate3d(0,calc(var(--p,0)*14px),0)}
.ab-gal figure:nth-child(even){transform:translate3d(0,calc(var(--p,0)*-14px),0)}
.ab-gal .g-full{transform:none!important}
.ab-fig{will-change:transform;transform:translate3d(0,calc(var(--p,0)*34px),0)}
.ab-txt{will-change:transform;transform:translate3d(0,calc(var(--p,0)*-96px),0)}
.ab-sec .ab-fig figcaption{transform:translate3d(0,calc(var(--p,0)*-10px),0)}
/* wynurzanie sekcji przy wejściu */
.js-rv .rv,.rv{transition:opacity .9s cubic-bezier(.2,.8,.2,1) var(--d,0ms),translate .9s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
.rv:not(.in){opacity:0;translate:0 38px}
/* tło morza płynie z innym tempem niż treść */
.sea .b{margin-top:calc(var(--sy,0)*-.32px)}
.sea .s{margin-top:calc(var(--sy,0)*-.12px)}
@media (max-width:820px){
  .ab-txt{transform:translate3d(0,calc(var(--p,0)*-26px),0)}
  .ab-fig{transform:translate3d(0,calc(var(--p,0)*16px),0)}
  .ab-img img{transform:translate3d(0,calc(var(--p,0)*11%),0) scale(1.07)}
  .ab-gal figure,.ab-gal figure:nth-child(even){transform:none}
}
@media (prefers-reduced-motion:reduce){
  .ab-img img,.ab-gal .g-full .ab-img img{transform:none;top:0;height:100%}
  .ab-txt,.ab-sec .ab-fig figcaption,.ab-fig,.ab-gal figure{transform:none!important}
  .rv:not(.in){opacity:1;translate:none}
  .rv{transition:none}
  .sea .b,.sea .s{margin-top:0}
}

#subLead:empty{display:none}

.ab-fig.portrait .ab-img{aspect-ratio:4/5}
.ab-fig.portrait .ab-img img{object-position:36% 30%}
@media (min-width:821px){.ab-sec:first-child .ab-fig{max-width:460px}}
@media (max-width:820px){.ab-fig.portrait{max-width:min(420px,100%)}}

.c-toggle.off label{opacity:.55;cursor:not-allowed}
.c-toggle.off .sw{filter:grayscale(1)}

/* ===== wybierak formy i liczby osób ===== */
.pp{margin:.2rem 0 0}
.pp-sum{margin:0 0 1.1rem;font:300 clamp(2.1rem,4.6vw,3.4rem)/1 var(--display);letter-spacing:-.035em}
.pp-sum span{font:400 1.1rem var(--display);letter-spacing:0;opacity:.85}
.pp-sum small{display:block;margin-top:.55rem;font:400 1rem/1.4 var(--display);letter-spacing:0;opacity:.85}
.pp-sum em{display:block;margin-top:.7rem;font:400 1.05rem/1.4 var(--display);font-style:normal;letter-spacing:0}
.pp-sum em b{font-weight:600}
.pp-set,.c-n{border:0;margin:0 0 .8rem;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;min-width:0}
.pp-set legend,.c-n legend{flex:0 0 100%;padding:0;margin:0 0 .35rem;font:500 .85rem/1.3 var(--display);letter-spacing:0;opacity:.8}
.pp-set input,.c-n input{position:absolute;opacity:0;pointer-events:none}
.pp-set label,.c-n label{display:flex;flex-direction:column;gap:1px;padding:.5rem 1rem;border-radius:100px;border:1.5px solid rgba(255,255,255,.4);font:400 .95rem/1.25 var(--display);letter-spacing:0;cursor:pointer;transition:background .2s,border-color .2s}
.pp-set label small{font-size:.78rem;opacity:.8}
.pp-set label b,.c-n label{font-weight:600}
.pp-set input:checked + label,.c-n input:checked + label{background:var(--dep-5);border-color:var(--dep-5);color:var(--navy)}
.pp-set input:focus-visible + label,.c-n input:focus-visible + label{outline:3px solid var(--accent);outline-offset:2px}
.pp-set label:hover,.c-n label:hover{border-color:#fff}
.pp-set.off,.c-n.off{opacity:.45}
.pp-set.off label,.c-n.off label{cursor:not-allowed}
.pp-note{margin:.2rem 0 0;font:400 .88rem/1.4 var(--display);letter-spacing:0;opacity:.8}
.c-n{margin-top:1rem}
.c-n label{color:inherit;border-color:rgba(255,255,255,.4);flex-direction:row}
.c-all{display:block;margin-top:.4rem;font-style:normal}
.c-all b{font-weight:600}

.pp-set label.off,.c-n label.off{opacity:.35;cursor:not-allowed;border-style:dashed}
.pp-set label.off:hover,.c-n label.off:hover{border-color:rgba(255,255,255,.4)}

#h-kontakt{white-space:normal!important;max-width:none}
@media (min-width:900px){#kontakt .btns{flex-wrap:nowrap}#kontakt .btns .btn{white-space:nowrap}}

@media (min-width:900px){#h-kontakt{white-space:nowrap!important}}

.car-sec>.st-after{margin-top:1.6rem}

.med-link{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
#subInfo article p+p{margin-top:.7rem}
@media (min-width:900px){.c-hp{max-width:none}}

/* OWD: trzy kafelki, kafelek kwestionariusza, formularz */
@media (min-width:900px){.c-info3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.c-info3 .c-box p{margin:0 0 .7rem;font:400 1.08rem/1.5 var(--text)}
.c-info3 .c-box h4{margin-bottom:.9rem}
.c-med{margin-top:18px;background:#fff;color:#0b2a45;border-radius:var(--radius-panel);padding:18px 22px}
.c-med p{margin:0;font:400 1.02rem/1.5 var(--text)}
.sub.ocean .c-formc{background:#fff;color:#0b2a45;border:0;border-radius:var(--radius-panel);box-shadow:0 24px 48px -28px rgba(0,20,40,.7)}
.sub.ocean .c-formc .c-field label{color:#0b2a45;font-weight:600}
.sub.ocean .c-formc .c-field input,.sub.ocean .c-formc .c-field textarea{background:#eef6fa;border:1.5px solid var(--dep-12);border-radius:var(--radius-tag);color:#0b2a45}
.sub.ocean .c-formc .c-field input:focus,.sub.ocean .c-formc .c-field textarea:focus{background:#fff;border-color:var(--dep-30);box-shadow:0 0 0 3px rgba(63,169,204,.3)}
.sub.ocean .c-formc .c-fhint{color:#41596b}

/* AOWD: lista nurkowan i wybierak */
.card.aw{min-height:0}
.card.aw h4{margin:.2rem 0 0}
.pp-fix{display:flex;flex-direction:column;gap:1px;padding:.5rem 1rem;border-radius:100px;border:1.5px solid var(--dep-5);background:var(--dep-5);color:var(--navy);font:400 .95rem/1.25 var(--display)}
.pp-fix b{font-weight:600}
.pp-fix small{font-size:.78rem;opacity:.8}
.pp-dives legend span{font-weight:400;opacity:.9}
.pp-fix,.pp-fix b,.pp-fix small{letter-spacing:0}
#subInfo .c-list{margin:.2rem 0 0}
#subInfo .c-list.ok li::before{background:var(--dep-12) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%230b2a45' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}

/* AOWD: rowne, zwarte kafelki ze stemplem */
.card.aw{min-height:112px;padding:16px 18px 18px;gap:6px;justify-content:flex-start}
.card.aw:hover{transform:none}
.card.aw h4{margin:0}
.card.aw .num.stamp{position:absolute;top:12px;right:12px;align-self:auto;background:transparent;border:1.5px solid currentColor;border-radius:var(--radius-tag);padding:.2rem .5rem;font:600 .72rem/1 var(--display);letter-spacing:.02em;color:var(--navy);transform:rotate(2deg);opacity:.85}
.card.aw .num.stamp.place{background:var(--navy);color:#fff;border-color:var(--navy);opacity:1}
.card.aw .num.stamp ~ h4{padding-right:6.4rem}
.card.aw p{margin:0}
/* wybierak nurkowan: rowne kafelki */
.pp-dives{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.pp-dives legend{grid-column:1/-1}
.pp-dives label,.pp-dives .pp-fix{height:100%;box-sizing:border-box;justify-content:center;min-height:56px}
.pp-dives label small,.pp-dives .pp-fix small{min-height:1em}
.card.aw .num.stamp{text-transform:none!important;white-space:nowrap;width:auto!important;max-width:none!important;overflow:visible!important;letter-spacing:.01em!important}
.pp-dives{grid-template-columns:repeat(auto-fill,minmax(158px,1fr))}
.card.aw .num.stamp{width:max-content!important;display:block!important}
.card.aw{display:block}
.card.aw .num.stamp{position:static!important;float:right;margin:2px 0 4px 10px;display:block!important}
.card.aw .num.stamp ~ h4{padding-right:0}
.card.aw h4{margin:0 0 6px}

/* formularz zgloszenia na podstronach kursow */
.sub-form{margin-top:48px}
.sub-form .c-form{margin-top:18px;max-width:720px}
.sub-form .c-ready{margin-top:18px;max-width:720px}
.sub-form{scroll-margin-top:90px}
.sub-form .c-go{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-cta)}
.sub-form .c-go:hover{background:var(--accent);filter:brightness(1.04)}
.sub-form .c-ready{background:#fff;color:#0b2a45;border-radius:var(--radius-panel);padding:22px}
.sub-form .c-ready p{color:#41596b}
.sub-form .c-ready pre{background:#eef6fa;color:#0b2a45}
.sub-form .c-ready .pill{background:var(--dep-5);color:var(--navy)}
.sub-form .c-ready .pill.cta{background:var(--accent);color:var(--on-accent)}
/* jeden ciemny kafelek zapisu: kroki */
.sub-form{background:var(--navy);color:var(--on-navy);border-radius:var(--radius-panel);padding:clamp(22px,4vw,44px)}
.sub-form .sub-h,.sub-form .sub-hp{color:inherit;text-shadow:none}
.sub-form .sub-hp{margin:.4rem 0 0;max-width:62ch}
.sp-step{margin-top:2rem}
.sp-h{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem;font:500 1.25rem/1.2 var(--display);letter-spacing:0;color:inherit}
.sp-h i{font-style:normal;display:grid;place-items:center;width:1.9rem;height:1.9rem;flex:none;background:var(--dep-12);color:var(--navy);border-radius:var(--radius-tag);font:600 1rem var(--display)}
.pp.sp-step>.sp-h:not(:first-child){margin-top:2rem}
.sub-form .c-form{margin-top:0;max-width:720px}
#subPriceBox[hidden]{display:none}
.sub-form .sub-h{margin:0;padding:0}
.sub-form .sub-hp{font:400 1.05rem/1.55 var(--display);letter-spacing:0;opacity:.9}
.sub-form .pp-sum{margin-top:1.3rem}
.sub-form .sp-step:first-of-type{margin-top:1.6rem}
/* justowanie tekstów ciągłych (klasa nadawana skryptem) */
.jf{text-align:justify;hyphens:auto;-webkit-hyphens:auto;text-wrap:pretty}
.card .cmeta{margin-top:.65rem;font-weight:600}
#spErr{margin:.5rem 0 0;color:#ffb4a8;font:500 .95rem/1.4 var(--display);letter-spacing:0}
#spErr:empty{display:none}
.pp-dives label small{white-space:normal}
/* karty specjalizacji */
.sp-loc{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.sp-loc .pill{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:.75rem 1.15rem;border-radius:var(--radius-panel)}
.sp-loc .pill b{font-weight:600}
.sp-loc .pill small{font-size:.82rem;opacity:.85}
.sp-mini{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.sp-mini a{display:flex;flex-direction:column;gap:8px;height:100%;box-sizing:border-box;padding:8px 8px 10px;text-decoration:none;color:inherit;background:rgba(255,255,255,.14);border-radius:var(--radius-panel);transition:background .2s}
.sp-mini a:hover{background:rgba(255,255,255,.26)}
.sp-mini img{display:block;width:100%;height:auto;border-radius:var(--radius-cert)}
.sp-mini span{font:500 .9rem/1.25 var(--display);padding:0 4px;letter-spacing:0}
.c-shot-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--dep-5);color:var(--navy)}
.c-shot-ph svg{width:34%;height:auto;stroke:currentColor;fill:none;stroke-width:2;opacity:.75}
.c-shot-ph figcaption{font:500 .9rem var(--display);letter-spacing:0;opacity:.8}
.c-opt.off{opacity:.4}
.c-opt.off label{cursor:not-allowed}

/* pasek kontaktu pod wybierakami */
.c-reach{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}
.c-reach .pill{text-decoration:none}
.sub-form .c-reach{margin:1.6rem 0 0}

/* uprawnienia na stronie O mnie */
.ab-cred{list-style:none;margin:10px 0 56px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.ab-cred li{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}
.ab-cred svg{flex:none;width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:.9}
.ab-cred span{display:flex;flex-direction:column;gap:2px;min-width:0}
.ab-cred small{font:500 .72rem/1.2 var(--ui,inherit);letter-spacing:.04em;text-transform:uppercase;opacity:.75}
.ab-cred b{font-weight:600;line-height:1.25}
.ab-cred{margin-top:18px}
.ab-cred small,.ab-cred b{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.ab-cred small{font-size:.68rem;font-weight:500}
.ab-cred b{font-size:.95rem}
.ab-cred li{padding:12px 14px;gap:12px}
@media(min-width:1000px){.ab-cred{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:999px){.ab-cred{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ab-cred{grid-template-columns:1fr}}
.ab-cred li.wide{grid-column:1/-1;align-items:flex-start}
.ab-cred li.wide svg{margin-top:14px}
.ab-cred li.wide b{display:block;columns:3 260px;column-gap:28px;margin-top:4px}
.ab-cred li.wide .ci{display:block;break-inside:avoid;padding:2px 0;font-weight:600}
@media(min-width:1000px){.ab-cred{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ab-fig.ab-nat img{width:100%;height:auto;aspect-ratio:810/1088;object-fit:contain;border-radius:var(--radius-panel);box-shadow:0 28px 56px -30px rgba(0,20,40,.8)}
@media(min-width:821px){.ab-fig.ab-nat{max-width:440px;justify-self:center}}
/* największe zdjęcie galerii: wyższy kadr, bez przesuwania, żeby nic ważnego nie było obcięte */
.ab-gal .g-full{grid-row:span 7}
.ab-gal .g-full .ab-img img{top:0;height:100%;transform:none;will-change:auto;object-position:50% 60%}
@media(max-width:820px){.ab-gal .g-full{grid-row:span 3}}
.ab-gal .g-tall{grid-column:span 4;grid-row:span 4}
.ab-gal .g-tall .ab-img img{top:0;height:100%;transform:none;will-change:auto;object-position:35% 50%}
@media(max-width:820px){.ab-gal .g-tall{grid-column:1/-1;grid-row:span 3}}
.ab-gal .ab-img img{top:0;height:100%;transform:none;will-change:auto}
/* podpisy zdjęć w galerii: pod zdjęciem, nie na nim */
.ab-gal figure:has(.ab-img){display:flex;flex-direction:column;overflow:visible;border-radius:0}
.ab-gal figure:has(.ab-img) .ab-img{position:relative;inset:auto;flex:1 1 0;min-height:0;aspect-ratio:auto;border-radius:var(--radius-panel);box-shadow:none}
.ab-gal .g-full:has(.ab-img) .ab-img{border-radius:0}
.ab-gal figure:has(.ab-img) figcaption{position:static;background:none;border-radius:0;padding:.55rem 0 0;color:rgba(255,255,255,.85);font:400 .82rem/1.4 var(--display)}
.ab-gal .g-full:has(.ab-img) figcaption{padding-left:max(clamp(18px,4vw,48px),calc((100vw - 1200px)/2 + clamp(18px,4vw,48px)));padding-right:clamp(18px,4vw,48px)}
/* galeria: zdjęcia w oryginalnych proporcjach, bez kadrowania */
.ab-gal-top{margin:0 0 12px}
.ab-gal-top figure{margin:0;width:auto;border-radius:0;border:0;overflow:visible;display:block}
.ab-gal-top .ab-img,.ab-gal .ab-img{position:relative;inset:auto;display:block;aspect-ratio:auto;overflow:hidden;flex:none;border-radius:var(--radius-panel);box-shadow:none}
.ab-gal-top .ab-img img,.ab-gal .ab-img img{position:static;display:block;width:100%;height:auto;object-fit:contain;transform:none;will-change:auto}
.ab-gal-top figcaption{position:static;background:none;padding:.55rem 0 0;color:rgba(255,255,255,.85);font:400 .82rem/1.4 var(--display)}
.ab-gal{display:block;columns:3;column-gap:12px;grid-template-columns:none;grid-auto-rows:auto}
.ab-gal figure{display:block;break-inside:avoid;margin:0 0 14px;grid-column:auto;grid-row:auto;overflow:visible}
.ab-gal figure.ab-ph{position:relative;aspect-ratio:4/3;overflow:hidden}
.ab-gal figure.g-w4.ab-ph{aspect-ratio:1/1}
.ab-gal figure.g-tall.ab-ph,.ab-gal figure.g-tall{aspect-ratio:auto}
@media(max-width:900px){.ab-gal{columns:2}}
@media(max-width:520px){.ab-gal{columns:1}}
.ab-gal figure:has(.ab-img),.ab-gal-top figure:has(.ab-img){display:block}
.ab-gal figure:has(.ab-img) .ab-img,.ab-gal-top figure:has(.ab-img) .ab-img{flex:none;min-height:0;height:auto}
.ab-gal-top figure:has(.ab-img) .ab-img{border-radius:var(--radius-panel)}
.ab-fig.ab-nat img{aspect-ratio:auto}
/* kalendarz: kafelek wydarzenia ze zdjęciem */
.ev{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:24px;align-items:start;padding:16px}
.ev-pic{position:relative;margin:0;aspect-ratio:3/2;border-radius:var(--radius-panel);overflow:hidden;background:var(--s-pill)}
.ev-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ev-ph{position:absolute;inset:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;border:2px dashed var(--s-line);border-radius:calc(var(--radius-panel) - 4px);color:var(--s-dim);padding:12px}
.ev-ph b{font:600 .85rem var(--display)}.ev-ph small{font:400 .78rem/1.35 var(--display)}
.ev-pic .ev-date{position:absolute;left:12px;top:12px;width:64px;height:64px;background:#fff;box-shadow:0 6px 18px -8px rgba(0,25,45,.5)}
.ev-tag{margin:2px 0 6px;font:600 .75rem var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--s-dim)}
@media(max-width:720px){.ev{grid-template-columns:1fr;gap:16px}}
/* kalendarz v2: kafelek z dużym zdjęciem i półprzezroczystą datą */
.evs{gap:28px}
.ev,.sub.ocean .ev{display:block;padding:0;overflow:hidden;border-radius:var(--radius-panel)}
.ev-hero{position:relative;display:grid;gap:4px;aspect-ratio:16/9;background:#0b2a45}
.ev-hero.n2{grid-template-columns:1fr 1fr}
.ev-hero.n3{grid-template-columns:1.5fr 1fr;grid-template-rows:1fr 1fr}
.ev-hero.n3 .ev-p:first-child{grid-row:1/3}
.ev-p{position:relative;display:block;min-width:0;min-height:0;background:var(--s-pill);overflow:hidden}
.ev-p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ev-p .ev-ph{inset:10px;position:absolute}
.ev-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(to top,rgba(4,24,40,.55),transparent);pointer-events:none}
.ev-tag{position:absolute;left:16px;top:16px;z-index:2;margin:0;padding:6px 12px;border-radius:var(--radius-tag);background:rgba(255,255,255,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:600 .72rem var(--display);letter-spacing:.08em;text-transform:uppercase;color:#0b2a45}
.ev-when{position:absolute;left:16px;bottom:16px;z-index:2;max-width:calc(100% - 32px);padding:14px 20px;border-radius:var(--radius-panel);background:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#0b2a45}
.ev-when b{display:block;font:300 clamp(1.6rem,4vw,2.6rem)/1.05 var(--display);letter-spacing:-.02em}
.ev-when b i{font-style:normal;font-size:.5em;opacity:.65;letter-spacing:0}
.ev-when span{display:block;margin-top:4px;font:500 .85rem var(--display);opacity:.8}
.ev-rib{position:absolute;right:0;top:22px;z-index:3;padding:8px 18px 8px 22px;background:#0b2a45;color:#fff;font:600 .78rem var(--display);letter-spacing:.1em;text-transform:uppercase;border-radius:999px 0 0 999px;box-shadow:0 6px 16px -6px rgba(0,0,0,.5)}
.ev.past .ev-hero{filter:saturate(.55)}
.ev .ev-body{padding:22px 24px 26px}
.ev .ev-body h3{margin:0 0 6px}
.ev-h{margin:44px 0 18px;font:300 1.8rem var(--display);color:#fff}
@media(max-width:720px){.ev-hero{aspect-ratio:4/3}.ev-hero.n3{aspect-ratio:1/1}.ev .ev-body{padding:18px}.ev-when{padding:10px 14px;left:10px;bottom:10px;max-width:calc(100% - 20px)}.ev-tag{left:10px;top:10px}}
.ev-p.fit{background:linear-gradient(135deg,#0f6f9a,#0b2a45)}
.ev-p.fit img{box-sizing:border-box;object-fit:contain;padding:20px 24px 100px 34%}
@media(max-width:720px){.ev-p.fit img{padding:16px 16px 70px 16px}}
/* social media w kontakcie */
.socials{list-style:none;margin:1.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.socials a{display:inline-flex;align-items:center;gap:.55rem;padding:.6rem 1.05rem .6rem .8rem;border-radius:999px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;text-decoration:none;font:500 .95rem var(--display);transition:background .2s,border-color .2s,transform .2s}
.socials a:hover,.socials a:focus-visible{background:rgba(255,255,255,.26);border-color:#fff;transform:translateY(-2px)}
.socials a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.socials svg{flex:none}
@media(prefers-reduced-motion:reduce){.socials a{transition:none}.socials a:hover{transform:none}}
/* galeria: pary zdjęć w jednym kadrze */
.ab-gal .g-pair .pair{display:flex;gap:6px;align-items:stretch}
.ab-gal .g-pair .pair .ab-img{min-width:0;border-radius:var(--radius-panel);overflow:hidden}
.ab-gal .g-pair .pair .ab-img img{width:100%;height:100%;object-fit:cover}
/* galeria: grupy miejsc */
.ab-gal-h{margin:clamp(28px,4vw,48px) 0 14px;font:500 .82rem var(--display);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.ab-gal-h::after{content:"";display:block;height:1px;margin-top:10px;background:rgba(255,255,255,.22)}
.ab-gal-top+.ab-gal-h{margin-top:18px}
/* duże zdjęcia w galerii: pełna szerokość kolumn */
.ab-gal figure.g-pair,.ab-gal figure.g-wide{column-span:all;margin-bottom:18px}
.ab-gal figure.g-wide .ab-img{max-width:min(100%,860px)}
.ab-gal figure.g-hero{column-span:all;margin-bottom:18px}
.ab-gal .g-pair2 .pair{align-items:flex-start}
.ab-gal .g-pair2 .pc{min-width:0}
.ab-gal .g-pair2 .pc .ab-img{width:100%}
.ab-gal .g-pair2 .pc .ab-img img{width:100%;height:100%;object-fit:cover}
.ab-gal .g-pair2 .pcap{display:block;padding:.55rem 0 0;color:rgba(255,255,255,.85);font:400 .82rem/1.4 var(--display)}
.ev-hero.n2 .ev-p.fit img{padding:20px 24px 100px 24px}
.ev-p img[alt^="Nurek z latarką"]{object-position:88% 50%}

.priv{max-width:760px;margin:0 auto;padding:6px 0 60px;color:rgba(255,255,255,.92);font:400 1rem/1.7 var(--display)}
.priv h2{font:600 1.15rem/1.3 var(--display);margin:2rem 0 .5rem;color:#fff}
.priv p,.priv li{margin:.5rem 0;text-align:justify;hyphens:auto}
.priv ul{padding-left:1.2rem}
.priv a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.priv-upd{opacity:.7;font-size:.9rem}
.legal{margin:14px 0 0;font:400 .88rem var(--display)}
.legal a{color:inherit;opacity:.8;text-decoration:underline;text-underline-offset:3px}
.c-fhint.c-priv{margin-top:-4px;font-size:.82rem;opacity:.8}
.c-fhint.c-priv a{color:inherit;text-decoration:underline}
.c-ferr{margin:0 0 12px;padding:10px 14px;border-radius:var(--radius-panel,8px);background:rgba(255,255,255,.12);font:500 .92rem/1.4 var(--display)}
.nav{padding-left:.45rem}
@media(max-width:700px){.nav{padding-left:.3rem;padding-right:.3rem}}
/* opinie na podstronach std (Try, Basic) */
.sub-stories{margin-top:44px}
.sub-sto{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px}
.sub-sto .c-story{width:min(340px,100%)}
.sub-sto .c-story.tall .sp img{object-position:50% 30%}
.c-story.tall .sp img{object-position:50% 30%}
/* plakietka kursu i miejsca nad zdjęciem w opiniach */
.qtag{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0 0 .9rem;font:500 .8rem/1.2 var(--display)}
.qtag b{font-weight:600;padding:.32rem .7rem;border-radius:100px;background:#8ad1e6;color:#062a44}
.qtag span{display:inline-flex;align-items:center;gap:.3rem;padding:.32rem .7rem;border-radius:100px;border:1px solid currentColor;opacity:.85}
.qtag svg{width:.95em;height:.95em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.c-story .qtag{margin:0;padding:14px 16px 12px;color:#0b2a45}
.c-story .qtag span{opacity:.75}
/* najbliższe wydarzenia na stronie głównej */
#wydarzenia .car-track{align-items:stretch}
#wydarzenia .ev-more{margin-top:.4rem}
#wydarzenia{--s-ink:#0b2a45;--s-dim:#41596b;--s-line:#e1e9ed;--s-pill:#e3eef2}
#wydarzenia .car-track > li.ev{display:block;background:#fff;color:#0b2a45}
#wydarzenia .ev .ev-body{display:block}
/* karuzela wydarzeń: środkowy kafel główny, boczne przygaszone, bez mgły na krawędziach */
.evcar{position:relative;margin-top:2.2rem}
#homeEvents{list-style:none;margin:0;padding:.8rem calc(50% - min(280px,43vw)) 2.4rem;display:flex;align-items:stretch;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative;overscroll-behavior-x:contain;-webkit-mask-image:none;mask-image:none}
#homeEvents::-webkit-scrollbar{display:none}
#homeEvents > li.ev{flex:none;width:min(560px,86vw);scroll-snap-align:center;opacity:.38;transform:scale(.93);filter:saturate(.7);transition:opacity .35s,transform .35s,filter .35s;cursor:pointer}
#homeEvents > li.ev.on{opacity:1;transform:none;filter:none;cursor:auto}
.evcar .car-btn[disabled]{opacity:0;pointer-events:none}
.evcar .car-btn.prev{left:2px}.evcar .car-btn.next{right:2px}
@media(prefers-reduced-motion:reduce){#homeEvents > li.ev{transition:none}}
/* opinie: kafelki „wkrótce” */
.quotes figure.soon{opacity:.8}
.quotes .qimg.soonimg{border:0;background:rgba(255,255,255,.06)}
.quotes .soonimg svg{width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
/* hero kursów: zdjęcie + karta + głębokość (jak OWD) */
.hero-certs.collage{aspect-ratio:auto;max-width:560px;overflow:visible}
.hero-certs.collage .c-collage{--c-sun:#ffe27a;--c-sun-ink:#062a44}
.evcar.cal{max-width:none}

/* FAQ: akordeon */
.faq{display:grid;gap:10px;margin-top:18px;max-width:860px}
.faq-i{background:#fff;color:#0b2a45;border-radius:var(--radius-panel);border:1px solid rgba(11,42,69,.12);overflow:hidden}
.faq-i summary{list-style:none;cursor:pointer;padding:16px 56px 16px 20px;font:500 1.08rem/1.4 var(--display);letter-spacing:-.01em;position:relative;min-height:48px;display:flex;align-items:center}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary::after{content:"";position:absolute;right:20px;top:50%;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq-i[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq-i summary:hover{background:#eef6fa}
.faq-i summary:focus-visible{outline:3px solid var(--accent,#ffd54a);outline-offset:-3px}
.faq-a{padding:0 20px 18px}
.faq-a p{margin:.6rem 0 0;color:#2f4a5c;text-align:justify;hyphens:auto}
.faq-cat{margin-top:2.2rem}
.faq-page .faq{margin-top:12px}
.faq-end{margin-top:2.2rem}
.sub-faq{margin-top:clamp(56px,8vh,96px)}
@media (prefers-reduced-motion:reduce){.faq-i summary::after{transition:none}}

/* zastępcze podpisy zdjęć: w kodzie zostają (łatwo je znaleźć), na stronie ich nie widać */
.c-photo figcaption{background:transparent;border:0;color:var(--pb);pointer-events:none;user-select:none}
.c-shot-ph figcaption{color:var(--dep-5);opacity:1}
