: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 > li.ev{width:min(400px,84vw)}
#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}
