:root{--deep:#052d43;--navy:#092b43;--ocean:#075c76;--blue:#167da1;--aqua:#cdeff4;--pale:#eef9fb;--white:#f8fcfd;--coral:#ff9d88;--coral-dark:#ee7f71;--ink:#0c2941;--muted:#50687b;--shadow:0 22px 52px rgba(5,47,70,.13);--display:Georgia,'Times New Roman',serif;--script:'Segoe Script','Bradley Hand','Brush Script MT',cursive}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:91px}body{margin:0;background:#f6fbfc;color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;line-height:1.57;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a,button{transition:transform .22s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease,opacity .22s ease}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffb391;outline-offset:4px}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.14}h1,h2{font-family:var(--display);font-weight:700}h2{font-size:clamp(2.25rem,4vw,3.55rem);letter-spacing:-.035em}h3{font-family:var(--display);font-size:1.3rem}.wrap{width:min(1220px,calc(100% - 72px));margin:0 auto}.section{position:relative;padding:100px 0}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.24em;color:#1a6983;margin-bottom:16px}.eyebrow.light{color:#d5f0f7}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-title-row h2,.centered-heading h2{margin:0 0 14px}.section-title-row p,.centered-heading p{max-width:590px;color:var(--muted);margin:0;font-size:1rem}.centered-heading{text-align:center;margin-bottom:43px}.centered-heading p{margin:auto}.script-accent{color:#168ca8;font-family:var(--script);font-size:.74em;font-weight:400;letter-spacing:-.07em}.wave-edge{position:absolute;bottom:-1px;left:0;right:0;width:100%;line-height:0;pointer-events:none}.wave-edge svg{width:100%;height:100px}.button{min-height:49px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid transparent;padding:12px 28px;font-size:.86rem;font-weight:700;line-height:1.3;white-space:nowrap}.button span{font-size:1.12rem;font-weight:400}.button:hover{transform:translateY(-2px);box-shadow:0 10px 23px rgba(3,46,65,.17)}.button-coral{background:var(--coral);color:#152e3f}.button-coral:hover{background:#ffc1af}.button-outline{border-color:rgba(255,255,255,.8);color:white;background:rgba(8,57,78,.1);min-width:155px}.button-outline:hover{background:rgba(255,255,255,.16)}.button-stroke{border-color:#9fbfce;color:var(--ink);background:rgba(255,255,255,.7);width:100%}.skip-link{position:absolute;top:-100px;left:16px;z-index:9999;background:white;padding:12px 20px}.skip-link:focus{top:12px}.site-header{position:absolute;left:0;right:0;top:0;z-index:50;color:white}.header-inner{min-height:94px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand-mark{width:56px;height:38px;display:block}.brand-mark svg{width:100%;height:100%;filter:drop-shadow(0 2px 2px #002536)}.brand-word{display:flex;flex-direction:column;line-height:1.06}.brand-word strong{font-family:var(--display);font-size:1.88rem;letter-spacing:-.06em}.brand-dot,.footer-logo span{color:var(--coral)}.brand-word small{font-size:.52rem;letter-spacing:.22em;font-weight:700;text-transform:uppercase;margin-top:7px}.main-nav{display:flex;align-items:center;gap:22px;margin-left:auto}.main-nav a{font-size:.77rem;font-weight:700;opacity:.96}.main-nav a:hover{color:#ffc0ad}.nav-cta{min-height:43px;padding-inline:21px;font-size:.76rem}.menu-toggle{display:none;background:none;border:0;width:42px;padding:8px;color:white}.menu-toggle span{display:block;height:2px;background:currentColor;margin:7px 0;border-radius:6px}.ocean-section{background:#023d55;color:white}.hero{min-height:744px;position:relative;overflow:hidden;display:flex;align-items:center;isolation:isolate;background:linear-gradient(112deg,#002c41 0%,#03415c 48%,#0b718a 100%)}.hero::before{content:"";position:absolute;inset:0;z-index:-3;background:repeating-radial-gradient(circle at 72% 7%,transparent 0 22px,rgba(162,234,239,.052) 24px 25px,transparent 29px 53px),linear-gradient(160deg,rgba(0,15,29,.16),transparent 70%);opacity:.9}.hero-image{position:absolute;inset:0;z-index:-2;background-image:url('assets/hero-water.webp');background-size:cover;background-position:center center;opacity:1}.hero::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(0,28,45,.88) 0%,rgba(0,39,58,.62) 34%,rgba(2,63,86,.26) 60%,rgba(2,72,96,.1) 100%),linear-gradient(0deg,rgba(0,29,45,.32) 0%,rgba(0,29,45,0) 36%),radial-gradient(ellipse at 40% 97%,rgba(6,143,172,.28),transparent 47%);pointer-events:none}.hero-layout{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2;padding:128px 0 125px}.hero-copy{max-width:670px;z-index:3}.hero-copy h1{font-size:clamp(4.15rem,7.8vw,7.7rem);letter-spacing:-.058em;line-height:.94;margin:25px 0 27px;color:white;text-shadow:0 4px 14px rgba(0,20,35,.12)}.hero-copy h1 em{display:inline-block;font-family:var(--script);font-weight:400;font-size:.8em;letter-spacing:-.085em;color:var(--coral);transform:rotate(-6deg) translateY(3px)}.hero-period{color:var(--coral)}.hero-copy>p{max-width:445px;font-size:1.1rem;line-height:1.65;color:#e7f4f6;margin:0 0 30px}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.hero-affirmation{font-family:var(--script);font-size:.97rem;color:#aedfe9;transform:rotate(-3deg);margin-top:56px;max-width:410px}.tiny-wave{font-size:2rem;vertical-align:middle;margin-right:10px}.hero-side-note{position:absolute;right:0;top:65%;font-family:var(--script);font-style:italic;font-size:clamp(1rem,1.55vw,1.32rem);line-height:1.45;transform:rotate(-10deg);color:#effaff;text-shadow:0 2px 6px #04435b;text-align:center}.hero-side-note span{font-size:2rem;color:#ffc2aa}.bubble-cloud{pointer-events:none;position:absolute;inset:0;z-index:1;overflow:hidden}.hero-bottom{z-index:4}.news-section{overflow:hidden;padding-top:76px;padding-bottom:107px;background:linear-gradient(#f6fbfc,#eaf7fa)}.news-section::before{content:"";position:absolute;width:360px;height:360px;right:-180px;top:80px;border-radius:50%;border:80px solid rgba(125,208,224,.1);pointer-events:none}.section-title-row{margin-bottom:35px}.section-title-row h2{font-size:clamp(2.8rem,4.3vw,4rem)}.text-link{background:none;border:0;font-weight:700;color:#0a6686;white-space:nowrap;display:inline-flex;gap:11px;align-items:center;padding:12px 0}.text-link:hover{color:var(--coral-dark)}.news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;align-items:stretch}.news-card{position:relative;background:white;border:1px solid #dcecf2;border-radius:22px;box-shadow:0 12px 40px rgba(20,100,120,.065);overflow:hidden;display:flex;flex-direction:column;min-height:278px;isolation:isolate;transition:transform .25s ease,box-shadow .25s ease}.news-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.news-card::before{content:"";width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,#c5eefa 0,transparent 68%);position:absolute;right:-55px;top:-50px;z-index:-1}.news-card:first-child{background:linear-gradient(148deg,#d9f0f4,#fff 76%)}.news-cover{display:block;width:100%;height:125px;object-fit:cover}.news-date{display:block;font-size:.69rem;color:#1e819c;margin:-4px 0 11px;font-weight:700}.news-card .news-card-body{padding:26px;display:flex;flex-direction:column;flex:1}.news-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:26px}.news-chip{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:#176f8c}.news-icon{width:50px;height:50px;border-radius:18px;background:#d0edf3;color:#0c6482;display:flex;align-items:center;justify-content:center;font-size:1.65rem}.news-card h3{font-size:1.4rem;line-height:1.15;margin-bottom:12px;letter-spacing:-.015em}.news-card p{font-size:.91rem;color:#587183;line-height:1.55;margin-bottom:25px}.news-card button{margin-top:auto;align-self:flex-start;border:none;background:none;padding:0;color:#ec7867;font-weight:800;font-size:.83rem}.news-card button:hover{color:#0b6686}.news-bottom-note{margin-top:24px;color:#658394;font-size:.83rem;display:flex;align-items:center;justify-content:center;gap:9px}.news-pulse{width:7px;height:7px;border-radius:50%;background:#5ab5b9;box-shadow:0 0 0 5px #d9f0f4}.about-section{background:#f6fbfc;padding-top:90px;padding-bottom:130px;overflow:hidden}.about-grid{display:grid;grid-template-columns:44% 1fr 185px;gap:37px;align-items:center}.about-picture{position:relative;min-height:462px;align-self:stretch}.about-image{width:100%;height:100%;min-height:460px;background-image:url('assets/monika.webp');background-size:cover;background-position:center 42%;border-radius:46% 46% 43% 25% / 34% 38% 22% 23%;box-shadow:0 22px 42px rgba(10,85,111,.13)}.about-picture::after{content:"";position:absolute;left:-15px;right:-10px;bottom:-14px;height:57px;border-radius:50%;background:linear-gradient(10deg,#2a96b0,#d6faff);filter:blur(8px);opacity:.6}.photo-caption{position:absolute;left:-40px;bottom:38px;width:190px;z-index:2;font-family:var(--script);font-size:.88rem;color:#1c7490;line-height:1.5;transform:rotate(-9deg);background:rgba(248,252,253,.85);padding:18px;border-radius:22px}.photo-caption span{font-size:1.4rem}.about-orbit{position:absolute;border:1px solid rgba(36,157,179,.35);border-radius:50%;pointer-events:none}.orbit-one{width:42px;height:42px;right:-10px;top:28px}.orbit-two{width:13px;height:13px;right:40px;top:-18px}.about-copy{padding-top:22px}.about-copy h2{font-size:clamp(2.3rem,3.3vw,3.45rem);margin:0 0 27px}.about-copy h2 em,.contact-copy h2 em{display:block;font-family:var(--script);font-style:italic;font-size:.57em;line-height:1.5;color:#197f9c;font-weight:400;letter-spacing:-.06em}.about-copy p{color:#536878;font-size:.97rem;line-height:1.78;margin-bottom:16px}.about-copy .button{margin-top:12px}.about-benefits{display:flex;flex-direction:column;gap:20px}.benefit{display:flex;align-items:center;gap:12px;font-size:.83rem;font-weight:700;line-height:1.35}.benefit small{font-size:.75rem;font-weight:400;color:#64798a}.round-icon{background:#d3f0f5;border-radius:50%;width:55px;height:55px;display:grid;place-items:center;font-size:1.8rem;font-family:var(--display);color:#0e6686;flex-shrink:0}.lessons-section{padding:87px 0 123px;background:linear-gradient(160deg,#07445c,#016481 52%,#04384f);overflow:hidden;position:relative;isolation:isolate}.lessons-section::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,33,49,.22) 0%,rgba(2,66,88,.1) 25%,rgba(0,30,45,.28) 100%);pointer-events:none}.lessons-section .wrap{position:relative;z-index:2}.lessons-section .centered-heading h2{color:white}.lessons-section .centered-heading p{color:#d7f0f4}.lesson-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.lesson-card{overflow:hidden;background:#f6fbfc;color:var(--ink);border-radius:18px;box-shadow:0 15px 30px rgba(0,31,46,.2);display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.lesson-card:hover{transform:translateY(-8px);box-shadow:0 26px 48px rgba(0,31,46,.33)}.lesson-pic{height:190px;position:relative;overflow:hidden}.lesson-pic::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:29px;background:#f6fbfc;clip-path:polygon(0 65%,22% 42%,46% 73%,72% 36%,100% 66%,100% 100%,0 100%)}.lesson-pic img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.lesson-card:hover .lesson-pic img{transform:scale(1.07)}.lesson-body{padding:20px 21px 25px;display:flex;flex:1;flex-direction:column}.lesson-ordinal{font-size:.63rem;color:#27839f;letter-spacing:.14em;font-weight:800;margin-bottom:10px}.lesson-body h3{font-size:1.44rem;line-height:1.1;margin-bottom:11px}.lesson-body p{font-size:.84rem;color:#526a7c;line-height:1.59;margin:0 0 21px}.lesson-link{font-size:.85rem;color:#f47d69;font-weight:750;margin-top:auto}.lesson-link:hover{color:#116c89}.lesson-link span{margin-left:8px}.ocean-bottom svg{height:94px}.approach-section{padding:65px 0 92px;background:#f6fbfc}.flourish{color:#187e9b;font-size:3.2rem;line-height:.3;margin:18px auto 0}.approach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:25px}.approach-item{padding:0 26px 0 28px;border-right:1px solid #d2e7ef;text-align:left}.approach-item:first-child{padding-left:0}.approach-item:last-child{border-right:none}.approach-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#d2f0f4;color:#08617e;font-family:var(--display);font-size:2.6rem;margin-bottom:19px}.approach-icon.sun-icon{background:#fff6e8;color:#f5a24e}.approach-item h3{font-size:1.16rem;margin-bottom:11px}.approach-item p{font-size:.85rem;line-height:1.6;color:#617586;margin:0}.pricing-section{background:linear-gradient(165deg,#dff4f7 0%,#f8fcfd 77%);padding:98px 0 111px;overflow:hidden}.pricing-section::before{content:"";position:absolute;left:-140px;top:-110px;width:540px;height:540px;background:radial-gradient(circle,#7ecbd8 0,transparent 70%);opacity:.3}.pricing-wrap{display:grid;grid-template-columns:31% 1fr;gap:30px;align-items:center}.pricing-photo{height:530px;align-self:stretch;background:linear-gradient(0deg,rgba(6,91,120,.35),transparent 60%),url('assets/podvodni-svet.webp');background-size:cover;background-position:45% center;border-radius:26px 46% 36% 26%;box-shadow:0 22px 47px rgba(19,97,123,.1)}.pricing-content{position:relative}.pricing-content .centered-heading{margin-bottom:30px}.pricing-content .centered-heading h2{margin-bottom:9px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.price-card{position:relative;background:rgba(255,255,255,.91);border:1px solid #e0eef4;border-radius:19px;padding:27px 22px 22px;box-shadow:0 11px 35px rgba(3,92,117,.09);display:flex;flex-direction:column;min-height:295px}.price-card.recommended{background:linear-gradient(#f8fcfd,#eefbff);border-color:#c6ebf0}.popular-tag{position:absolute;top:-16px;left:50%;transform:translateX(-50%);background:#ff9e88;color:#143247;padding:8px 15px;border-radius:999px;font-weight:900;letter-spacing:.05em;font-size:.58rem;white-space:nowrap}.price-card h3{font-size:1.12rem;line-height:1.25;margin-bottom:7px}.price-meta{font-size:.84rem;color:#1684a5;margin-bottom:8px}.price{font-family:var(--display);font-size:2.37rem;line-height:1.13;font-weight:700;letter-spacing:-.04em;white-space:nowrap}.price small{font-size:.68em}.price.coral{color:#ec7867}.price-card p{font-size:.85rem;color:#617586;line-height:1.45;min-height:43px;margin:10px 0 17px}.price-card .button{min-height:40px;font-size:.76rem;margin-top:auto;padding:8px 12px}.price-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:23px}.price-footer span{color:#6a8492;font-size:.75rem;max-width:400px}.price-footer a{font-weight:700;font-size:.8rem;color:#0b4c6b;white-space:nowrap}.price-disclaimer{color:#8199a5;font-size:.69rem;margin:15px 0 0;text-align:center}.reviews-section{background:#edf8fb;padding:85px 0 105px;position:relative;overflow:hidden}.reviews-section::before{content:"";position:absolute;left:0;right:0;top:0;height:85px;background:#e0f2f6;clip-path:polygon(0 0,100% 0,100% 48%,76% 72%,55% 37%,29% 67%,0 34%)}.reviews-section .wrap{position:relative}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{background:#fff;border-radius:19px;padding:30px;min-height:215px;box-shadow:0 15px 37px rgba(10,87,113,.06)}.quote-mark{font-size:3.4rem;line-height:1;color:#6dc5d7;font-family:var(--display)}.review-card h3{font-size:1.22rem;margin-bottom:9px}.review-card p{font-size:.87rem;color:#597283;line-height:1.57}.review-placeholder{font-size:.69rem;color:#7c9eaa;text-transform:uppercase;letter-spacing:.09em;border-top:1px solid #e5f0f4;padding-top:14px;font-weight:700}.contact-section{min-height:620px;padding:100px 0 85px;overflow:hidden;background:linear-gradient(100deg,#032f48,#0d7190)}.contact-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,31,48,.98) 0%,rgba(3,65,88,.91) 50%,rgba(1,59,82,.3) 85%),url('assets/jezero.webp') center/cover no-repeat;opacity:.92}.contact-section::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 71% 40%,rgba(253,177,121,.28),transparent 45%);pointer-events:none}.contact-grid{display:grid;grid-template-columns:1fr 465px;gap:105px;align-items:center;position:relative;z-index:2}.contact-copy h2{color:white;font-size:clamp(2.6rem,4.3vw,4.4rem);margin-bottom:26px}.contact-copy h2 em{color:#ffbdac;font-size:.58em}.contact-copy>p{color:#cae3ec;max-width:460px}.contact-small-note{font-family:var(--script);font-size:1.08rem;transform:rotate(-5deg);color:#ffc8b5;margin-top:44px}.contact-small-note span{font-size:1.6rem}.contact-form{background:rgba(249,253,253,.97);border:1px solid rgba(255,255,255,.67);border-radius:22px;padding:32px;box-shadow:0 19px 65px rgba(0,25,47,.25);color:var(--ink)}.contact-form h3{font-size:1.65rem;margin-bottom:22px}.contact-form label:not(.checkbox-label){display:block;font-size:.76rem;font-weight:700;color:#3d5f72;margin:11px 0 6px}.contact-form label span{color:#e76e60}.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{width:100%;border:1px solid #d4e5eb;border-radius:8px;min-height:43px;padding:10px 12px;background:#f5fbfd;color:#294d61;font-size:.83rem;outline:none}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#59b6c5;box-shadow:0 0 0 3px #d2f0f4}.checkbox-label{display:flex;align-items:start;gap:10px;font-size:.68rem;line-height:1.45;margin:16px 0 18px;color:#5c7887}.checkbox-label input{margin:3px 0 0;flex-shrink:0;accent-color:#0b8dad}.checkbox-label span{color:#5c7887!important}.form-submit{width:100%;border:0}.form-status{font-size:.78rem;margin:12px 0 0;color:#0b6686}.contact-wave svg{height:65px}.footer{background:#032f46;color:#f3fbfd;padding:22px 0 25px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:11px 0 23px}.footer-logo{font-family:var(--display);font-size:1.78rem;font-weight:700;line-height:1}.footer-logo small{display:block;font-family:'Segoe UI',Arial,sans-serif;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;margin-top:6px}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links a{font-size:.78rem}.footer-links a:hover,.admin-link:hover{color:#ffb49f}.admin-link{font-size:.69rem;color:#aecbd5}.footer-sub{border-top:1px solid #22546b;padding-top:18px;display:flex;justify-content:space-between;color:#accbd4;font-size:.7rem}.news-dialog{width:min(610px,calc(100vw - 30px));max-height:85vh;overflow:auto;border:0;border-radius:20px;padding:0;background:white;box-shadow:0 24px 80px rgba(0,25,48,.3)}.news-dialog::backdrop{background:rgba(0,28,46,.68);backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:17px;top:14px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;font-size:1.5rem;color:#183d53;background:rgba(255,255,255,.88);z-index:3}.dialog-image{height:178px;background:linear-gradient(125deg,#09738c,#89d4e0);display:grid;place-items:center;font-size:5rem;color:white}.dialog-content{padding:36px}.dialog-content h2{font-size:2rem}.dialog-content p{color:#4d697a;white-space:pre-line}.dialog-content .button{margin-top:15px}.reveal{opacity:0;transform:translateY(19px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@keyframes water-bubbles{to{background-position:0 -430px,0 -330px,0 -390px,0 -360px,0 -400px}}.bubble{position:absolute;bottom:-14%;display:block;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.95) 0 10%,rgba(255,255,255,.4) 16%,rgba(255,255,255,.14) 44%,rgba(255,255,255,.03) 65%,transparent 72%);border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 0 12px rgba(255,255,255,.15),0 0 18px rgba(170,235,255,.16);opacity:.72;animation:bubble-rise var(--duration,12s) linear infinite,bubble-sway var(--sway,4.8s) ease-in-out infinite;will-change:transform,opacity}.bubble::after{content:"";position:absolute;inset:18% auto auto 22%;width:24%;height:24%;border-radius:50%;background:rgba(255,255,255,.62);filter:blur(.5px)}.bubble-1{left:8%;width:14px;height:14px;animation-delay:-2s,-1s;--duration:11s;--sway:4.5s}.bubble-2{left:16%;width:26px;height:26px;animation-delay:-5s,-2s;--duration:14s;--sway:5.2s}.bubble-3{left:24%;width:18px;height:18px;animation-delay:-1s,-3s;--duration:12s;--sway:4.8s}.bubble-4{left:33%;width:34px;height:34px;animation-delay:-6s,-2.5s;--duration:16s;--sway:5.6s}.bubble-5{left:43%;width:16px;height:16px;animation-delay:-4s,-1.5s;--duration:13s;--sway:4.2s}.bubble-6{left:51%;width:22px;height:22px;animation-delay:-7s,-2.8s;--duration:15s;--sway:5s}.bubble-7{left:59%;width:12px;height:12px;animation-delay:-2.5s,-1.8s;--duration:10s;--sway:4s}.bubble-8{left:68%;width:29px;height:29px;animation-delay:-8s,-4s;--duration:18s;--sway:6.3s}.bubble-9{left:76%;width:17px;height:17px;animation-delay:-3s,-2s;--duration:12.5s;--sway:4.7s}.bubble-10{left:84%;width:23px;height:23px;animation-delay:-9s,-3.5s;--duration:15.5s;--sway:5.4s}.bubble-11{left:91%;width:11px;height:11px;animation-delay:-6.5s,-1.8s;--duration:11.5s;--sway:4.1s}.bubble-12{left:95%;width:19px;height:19px;animation-delay:-4.8s,-2.2s;--duration:13.5s;--sway:4.9s}@keyframes bubble-rise{0%{transform:translate3d(0,0,0) scale(.72);opacity:0}8%{opacity:.68}100%{transform:translate3d(0,-115vh,0) scale(1.06);opacity:0}}@keyframes bubble-sway{0%,100%{margin-left:0}50%{margin-left:18px}}@media(min-width:1500px){.hero-image{background-position:center center}}@media(max-width:1150px){.wrap{width:min(1100px,calc(100% - 52px))}.main-nav{gap:12px}.main-nav a{font-size:.71rem}.nav-cta{display:none}.brand-word strong{font-size:1.65rem}.brand-mark{width:48px}.about-grid{grid-template-columns:39% 1fr;gap:30px}.about-benefits{grid-column:1 / -1;flex-direction:row;justify-content:space-around}.pricing-wrap{grid-template-columns:24% 1fr;gap:22px}.price-card{padding:24px 15px 19px}.price{font-size:2.1rem}.contact-grid{gap:35px}}@media(max-width:900px){.section{padding:75px 0}.header-inner{min-height:78px}.menu-toggle{display:block;margin-left:auto}.nav-cta{display:none}.main-nav{display:none;position:absolute;left:18px;right:18px;top:76px;background:#063d57;border:1px solid rgba(255,255,255,.15);border-radius:18px;box-shadow:0 24px 45px rgba(0,0,0,.3);padding:20px;flex-direction:column;gap:0;align-items:stretch}.main-nav.open{display:flex}.main-nav a{padding:12px 13px;font-size:.9rem}.hero{min-height:680px}.hero-layout{padding-top:155px;padding-bottom:135px}.hero-copy{max-width:560px}.hero-image{inset:0;opacity:1;background-position:center center}.hero-copy h1{font-size:clamp(4rem,10vw,6.2rem)}.hero-side-note{display:none}.news-grid,.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-card{min-height:248px}.about-grid{grid-template-columns:43% 1fr;gap:35px}.about-picture{min-height:360px}.about-image{min-height:370px}.about-benefits{display:grid;grid-template-columns:repeat(2,1fr)}.approach-grid{grid-template-columns:repeat(2,1fr);gap:28px}.approach-item:nth-child(2){border:0}.approach-item:nth-child(3){padding-left:0}.pricing-wrap{grid-template-columns:1fr}.pricing-photo{display:none}.price-card{min-height:280px}.contact-grid{grid-template-columns:1fr 1fr}.contact-form{padding:23px}.footer-main{flex-wrap:wrap}}@media(max-width:900px){}@media(max-width:620px){:root{scroll-padding-top:70px}.wrap{width:calc(100% - 38px)}.section{padding:65px 0}.eyebrow{font-size:.65rem;letter-spacing:.2em}.brand-word strong{font-size:1.47rem}.brand-word small{font-size:.45rem;letter-spacing:.12em}.brand-mark{width:44px}.header-inner{min-height:74px}.hero{min-height:680px;align-items:flex-start}.hero-image{inset:0;background-position:62% center;opacity:1;mask-image:none;-webkit-mask-image:none}.hero::after{background:linear-gradient(90deg,rgba(0,30,47,.88) 0%,rgba(0,39,58,.58) 42%,rgba(0,57,79,.22) 100%),linear-gradient(0deg,#02425c 0%,transparent 40%)}.hero-layout{padding-top:139px;padding-bottom:90px;align-items:flex-start}.hero-copy h1{font-size:clamp(3.75rem,13.6vw,5.65rem);margin:20px 0 24px}.hero-copy h1 em{font-size:.78em;display:inline}.hero-copy>p{max-width:370px;font-size:1rem}.hero-buttons{gap:10px}.button{padding:12px 20px;min-height:46px;font-size:.8rem}.button-outline{min-width:132px}.hero-affirmation{margin-top:57px;font-size:.83rem}.hero-bottom svg{height:65px}.section-title-row{display:block}.section-title-row h2{font-size:2.55rem}.section-title-row p{font-size:.91rem}.text-link{margin-top:12px}.news-section{padding-top:53px}.news-grid{grid-template-columns:1fr 1fr;gap:11px}.news-card{min-height:266px;border-radius:17px}.news-cover{display:block;width:100%;height:125px;object-fit:cover}.news-date{display:block;font-size:.69rem;color:#1e819c;margin:-4px 0 11px;font-weight:700}.news-card .news-card-body{padding:19px 15px}.news-card-top{margin-bottom:19px;align-items:flex-start}.news-icon{width:37px;height:37px;border-radius:12px;font-size:1.2rem}.news-card h3{font-size:1.16rem}.news-card p{font-size:.78rem}.news-chip{font-size:.53rem}.news-card button{font-size:.75rem}.news-bottom-note{text-align:center;font-size:.73rem}.about-grid{grid-template-columns:1fr;gap:27px}.about-picture{height:365px;min-height:0;width:min(440px,100%);margin:auto}.about-image{height:100%;min-height:0;background-position:center 33%}.photo-caption{left:0;bottom:11px;font-size:.77rem;width:150px}.about-copy h2{font-size:2.5rem}.about-benefits{grid-template-columns:1fr 1fr;gap:15px}.benefit{font-size:.78rem}.benefit small{font-size:.72rem}.round-icon{width:44px;height:44px;font-size:1.5rem}.lessons-section{padding-top:70px;padding-bottom:100px}.centered-heading h2{font-size:2.45rem}.lesson-grid{gap:14px}.lesson-pic{height:132px}.lesson-body{padding:15px 13px 19px}.lesson-body h3{font-size:1.18rem}.lesson-body p{font-size:.77rem}.lesson-ordinal{font-size:.55rem}.lesson-link{font-size:.76rem}.approach-grid{gap:22px 10px}.approach-item{padding:0 13px;border:0}.approach-item:first-child,.approach-item:nth-child(3){padding-left:0}.approach-icon{width:51px;height:51px;font-size:2rem}.approach-item h3{font-size:1.08rem}.approach-item p{font-size:.78rem}.pricing-grid{grid-template-columns:1fr;gap:25px}.price-card{min-height:0;padding:24px 23px 22px}.price-card h3{font-size:1.24rem}.price-card p{min-height:0;margin-bottom:17px}.price-card .button{min-height:43px}.price-footer{display:block}.price-footer a{display:block;margin-top:13px}.reviews-grid{grid-template-columns:1fr;gap:13px}.review-card{min-height:0;padding:23px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-copy h2{font-size:2.6rem}.contact-form{padding:25px}.footer-main,.footer-sub{flex-direction:column;align-items:flex-start;gap:15px}.footer-main{padding:20px 0}.footer-links{gap:10px 20px}.footer-sub{gap:8px}.dialog-content{padding:25px}}@media(max-width:375px){.wrap{width:calc(100% - 30px)}.hero-copy h1{font-size:3.55rem}.hero-buttons .button{padding-inline:14px}.lesson-body h3{font-size:1.06rem}.news-cover{display:block;width:100%;height:125px;object-fit:cover}.news-date{display:block;font-size:.69rem;color:#1e819c;margin:-4px 0 11px;font-weight:700}.news-card .news-card-body{padding:15px 11px}.news-card h3{font-size:1.05rem}.news-card p{font-size:.73rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* HEADER: logo left, navigation centered, booking action right.
   The existing mobile layout remains unchanged under 900px. */
@media (min-width: 901px) {
  .header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: 16px;
  }
  .brand {
    justify-self: start;
  }
  .main-nav {
    margin-left: 0;
    justify-self: center;
  }
  .nav-cta {
    justify-self: end;
  }
}


/* ── OPRAVA: skutečná šířka horní lišty přes celé okno ───────────────
   V ostatních sekcích zůstává původní kontejner .wrap beze změny.
   Menu je umístěné přesně do středu viewportu, nezávisle na velikosti loga/tlačítka. */
@media (min-width: 1061px) {
  .site-header .header-inner {
    width: 100%;
    max-width: none;
    padding-inline: clamp(22px, 3vw, 58px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    column-gap: 18px;
  }
  .site-header .brand { justify-self: start; }
  .site-header .main-nav {
    display: flex;
    justify-self: center;
    margin-left: 0;
  }
  .site-header .nav-cta {
    display: inline-flex; /* zruší původní skrytí pod 1150 px */
    justify-self: end;
  }
}
/* V mezilehlých šířkách raději přehledné rozbalovací menu než kolize položek. */
@media (min-width: 901px) and (max-width: 1060px) {
  .site-header .header-inner {
    width: 100%;
    max-width: none;
    padding-inline: 28px;
    display: flex;
  }
  .site-header .menu-toggle { display: block; margin-left: auto; }
  .site-header .nav-cta { display: none; }
  .site-header .main-nav {
    display: none;
    position: absolute;
    top: 85px;
    left: 28px;
    right: 28px;
    margin: 0;
    padding: 20px;
    background: #063d57;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 18px;
    box-shadow: 0 24px 45px rgba(0,0,0,.3);
    flex-direction: column;
    gap: 0;
    align-items: stretch;
  }
  .site-header .main-nav.open { display: flex; }
  .site-header .main-nav a { padding: 12px 13px; font-size: .9rem; }
}



@media (min-width: 901px) {
  .hero .hero-copy {
    position: relative;
    left: -60px;
  }
}



@media (min-width: 901px) {

  /* Odstup tlačítek od horního popisu */
  .hero .hero-copy > p {
    margin-bottom: 85px;
  }

  /* Prodloužení HERO sekce směrem dolů */
  .hero .hero-layout {
    padding-bottom: 180px;
  }

}


/* POPLAV: vlnový symbol podle dodaného referenčního obrázku. */
@media (min-width: 901px) {
  .site-header .brand-mark { width: 76px; height: 38px; flex-shrink: 0; }
}
@media (max-width: 900px) {
  .site-header .brand-mark { width: 54px; height: 36px; flex-shrink: 0; }
}
@media (max-width: 620px) {
  .site-header .brand-mark { width: 47px; height: 34px; }
}




/* Vystředění textu všech tlačítek */
.hero-buttons .button,
.site-header .nav-cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0;
}

/* Šipka samostatně napravo */
.hero-buttons .button > span,
.site-header .nav-cta > span {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}

/* Šířka rezervačních tlačítek */
.hero-buttons .button-coral {
  min-width: 196px;
}

.site-header .nav-cta {
  min-width: 175px;
}


/* ================================================================
   LEKCE PLAVANI: opravene skutecne pohyblive vodni pozadi
   Fotografie: assets/podvodni-svet.webp
   Bez radially opakovanych pulkruhu/kruznic.
   ================================================================ */
.lessons-section { position:relative; overflow:hidden; isolation:isolate; }
.lessons-filter-defs { position:absolute; width:0; height:0; overflow:hidden; }
/* Jemne pohybujici se vodni fotografie, po cele sirce sekce. */
.lessons-water-bg {
  position:absolute;
  inset:-5%;
  z-index:0;
  pointer-events:none;
  background: url('assets/podvodni-svet.webp') center center / cover no-repeat;
  transform-origin:center;
  animation:lessons-photo-drift 21s ease-in-out infinite alternate;
}
/* Druha pruhledna vrstva teze fotografie: SVG displacement vytvari
   skutecne opticke vlnky. Maska prolinani chrani citelnost karet. */
.lessons-water-motion {
  position:absolute;
  inset:-5%;
  z-index:1;
  pointer-events:none;
  background: url('assets/podvodni-svet.webp') center center / cover no-repeat;
  filter: url('#lessons-refraction');
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.75) 21%,#000 55%,rgba(0,0,0,.8) 83%,transparent 100%);
  mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.75) 21%,#000 55%,rgba(0,0,0,.8) 83%,transparent 100%);
  mix-blend-mode:screen;
  opacity:.28;
  animation:lessons-refraction-drift 14s ease-in-out infinite alternate;
}
/* Lehke probleskovani vody, bez jakychkoliv kruhu. */
.lessons-water-motion::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(112deg,transparent 28%,rgba(175,239,250,.08) 44%,transparent 59%,rgba(171,232,250,.06) 71%,transparent 84%);
  background-size:160% 160%;
  animation:lessons-light-pass 9s linear infinite alternate;
}
.lessons-section::before {
  background:linear-gradient(180deg,rgba(0,34,52,.37),rgba(0,46,66,.2) 42%,rgba(0,34,52,.42));
  z-index:1;
}
/* Kazda bublina dostane skutecnou trajektorii od spodni hranice
   sekce az nad jeji horni hranu, nikoli jen -108 % vlastni vysky. */
.lessons-bubbles {
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
}
.lesson-bubble {
  position:absolute;
  top:calc(100% + 44px);
  bottom:auto;
  display:block;
  border-radius:50%;
  background:radial-gradient(circle at 30% 26%,rgba(255,255,255,.95) 0 7%,rgba(228,255,255,.42) 12%,rgba(171,230,250,.14) 42%,rgba(143,229,248,.04) 68%,transparent 73%);
  border:1.5px solid rgba(217,252,255,.68);
  box-shadow: inset -3px -4px 7px rgba(4,96,141,.25), inset 2px 2px 6px rgba(255,255,255,.28),0 0 10px rgba(205,250,255,.17);
  opacity:0;
  animation:lesson-bubble-rise var(--duration,13s) linear infinite;
  will-change:top,transform,opacity;
}
.lesson-bubble::after {
  content:"";
  position:absolute;
  width:21%;height:21%;top:20%;left:21%;
  background:rgba(255,255,255,.7);border-radius:50%;
  filter:blur(.4px);
}
.lesson-bubble-1 {left:5%;width:19px;height:19px;--duration:12s;--drift:22px;animation-delay:-7s}
.lesson-bubble-2 {left:12%;width:32px;height:32px;--duration:17s;--drift:-26px;animation-delay:-14s}
.lesson-bubble-3 {left:22%;width:13px;height:13px;--duration:11s;--drift:20px;animation-delay:-3s}
.lesson-bubble-4 {left:30%;width:23px;height:23px;--duration:16s;--drift:36px;animation-delay:-9s}
.lesson-bubble-5 {left:39%;width:18px;height:18px;--duration:13s;--drift:-27px;animation-delay:-11s}
.lesson-bubble-6 {left:48%;width:31px;height:31px;--duration:19s;--drift:30px;animation-delay:-6s}
.lesson-bubble-7 {left:56%;width:12px;height:12px;--duration:10s;--drift:-21px;animation-delay:-4s}
.lesson-bubble-8 {left:63%;width:24px;height:24px;--duration:15s;--drift:29px;animation-delay:-12s}
.lesson-bubble-9 {left:72%;width:16px;height:16px;--duration:12s;--drift:-24px;animation-delay:-8s}
.lesson-bubble-10{left:80%;width:29px;height:29px;--duration:18s;--drift:32px;animation-delay:-14s}
.lesson-bubble-11{left:87%;width:13px;height:13px;--duration:11s;--drift:-20px;animation-delay:-5s}
.lesson-bubble-12{left:93%;width:22px;height:22px;--duration:15s;--drift:-27px;animation-delay:-10s}
.lesson-bubble-13{left:17%;width:10px;height:10px;--duration:9s;--drift:15px;animation-delay:-5s}
.lesson-bubble-14{left:67%;width:10px;height:10px;--duration:9.5s;--drift:-17px;animation-delay:-7s}
.lessons-section .wrap {position:relative;z-index:3}
.lessons-section .ocean-bottom {z-index:4}
@keyframes lessons-photo-drift {
  0%   {transform:translate3d(-1.1%,0,0) scale(1.01)}
  100% {transform:translate3d(1.2%,-1.4%,0) scale(1.055)}
}
@keyframes lessons-refraction-drift {
  0%   {transform:translate3d(-2%,0,0) scale(1.02);opacity:.23}
  100% {transform:translate3d(2.2%,-1%,0) scale(1.055);opacity:.34}
}
@keyframes lessons-light-pass {
  from {background-position:-15% 0}
  to {background-position:100% 0}
}
@keyframes lesson-bubble-rise {
  0%   {top:calc(100% + 44px);transform:translate3d(0,0,0) scale(.72);opacity:0}
  8%   {opacity:.8}
  75%  {opacity:.84}
  100% {top:-62px;transform:translate3d(var(--drift,20px),0,0) scale(1.12);opacity:0}
}
@media(max-width:620px){
  .lessons-water-bg,.lessons-water-motion{background-position:56% center}
  .lesson-bubble-2,.lesson-bubble-6,.lesson-bubble-10{opacity:.55}
}
@media(prefers-reduced-motion: reduce){
  .lessons-water-bg,.lessons-water-motion,.lessons-water-motion::after,.lesson-bubble{animation:none!important}
  .lesson-bubble{display:none}
  .lessons-water-motion{opacity:.15;filter:none}
}


/* === Rezervační tlačítka ve tvaru originálního plováku ===
   Fotografie se skutečným průhledným pozadím; text je součástí grafiky.
   Všechny odkazy zůstávají normálně přístupné a klikatelné. */
.rescue-float {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  flex:0 0 auto;
  width:222px;
  max-width:100%;
  padding:0;
  margin:0;
  background:transparent;
  border:0;
  border-radius:0;
  line-height:0;
  text-decoration:none;
  cursor:pointer;
  filter:drop-shadow(0 6px 9px rgba(0,29,46,.2));
  transition:transform .25s ease,filter .25s ease;
}
.rescue-float img {
  display:block;
  width:100%;
  height:auto;
  max-width:none;
  user-select:none;
  pointer-events:none;
}
.rescue-float:hover {
  transform:translateY(-4px) rotate(-1.5deg);
  filter:drop-shadow(0 11px 14px rgba(0,24,40,.28)) brightness(1.045);
}
.rescue-float:active { transform:translateY(-1px) scale(.97); }
.rescue-float:focus-visible {
  outline:3px solid #ffe4ae;
  outline-offset:4px;
  border-radius:12px;
}
/* Header: plovák úplně vpravo, navigace uprostřed. */
.site-header .rescue-float--header {
  width:180px;
  padding:0;
  min-height:0;
  justify-self:end;
}
/* Hero: plovák nahrazuje pouze první (rezervační) tlačítko. */
.hero-buttons .rescue-float--hero {
  width:190px;
}
/* Ceník: stejný plovák ve všech třech kartách. */
.pricing-grid .rescue-float--pricing {
  width:100%;
  max-width:200px;
  margin:auto auto 0;
}
@media (max-width:1060px) {
  .site-header .rescue-float--header {display:none;}
}
@media (max-width:620px) {
  .hero-buttons .rescue-float--hero {width:min(185px,100%);}
  .pricing-grid .rescue-float--pricing {max-width:215px;}
}
@media (prefers-reduced-motion:reduce) {
  .rescue-float,.rescue-float:hover,.rescue-float:active {
    transition:none;
    transform:none;
  }
}

/* Při šířce tabletu nesmí dřívější levý posun HERO schovat plovák za okraj. */
@media (min-width:901px) and (max-width:1060px) {
 .hero .hero-copy {left:0;}
}



/* Jemný bílý stín za rezervačními plováky */
.site-header .rescue-float--header,
.hero-buttons .rescue-float--hero {
  filter:
    drop-shadow(0 0 5px rgba(255, 255, 255, 0.45))
    drop-shadow(0 0 12px rgba(255, 255, 255, 0.20));
}


/* Elegantní kapka-menu místo horní navigace a plováku */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header .main-nav,
.site-header .nav-cta,
.site-header .menu-toggle{display:none!important}
.site-header .brand{justify-self:auto}
.drop-nav{position:relative;display:flex;align-items:center;justify-content:flex-end;margin-left:auto;z-index:60}
.drop-nav__toggle{appearance:none;border:0;background:transparent;color:#fff;padding:0;cursor:pointer;display:grid;place-items:center;width:84px;height:84px;filter:drop-shadow(0 6px 16px rgba(0,22,36,.22)) drop-shadow(0 0 8px rgba(255,255,255,.18));transition:transform .22s ease,filter .22s ease,opacity .22s ease}
.drop-nav__toggle:hover{transform:translateY(-1px) scale(1.03);filter:drop-shadow(0 10px 22px rgba(0,22,36,.3)) drop-shadow(0 0 12px rgba(255,255,255,.22))}
.drop-nav__toggle:focus-visible{outline:3px solid rgba(255,198,173,.95);outline-offset:7px;border-radius:999px}
.drop-nav__icon{display:block;width:78px;height:96px}
.drop-nav__icon svg{display:block;width:100%;height:100%}
.drop-nav__panel{position:absolute;top:calc(100% + 14px);right:0;min-width:220px;padding:14px 14px 12px;border-radius:24px;background:rgba(6,49,71,.9);border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 55px rgba(0,14,22,.36);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .22s ease,visibility .22s ease,transform .22s ease}
.drop-nav__panel::before{content:"";position:absolute;top:-10px;right:26px;width:18px;height:18px;background:rgba(6,49,71,.9);border-left:1px solid rgba(255,255,255,.18);border-top:1px solid rgba(255,255,255,.18);transform:rotate(45deg)}
.drop-nav__panel a{display:block;padding:12px 14px;border-radius:15px;color:#f3fbfd;font-size:.9rem;font-weight:700;line-height:1.2;white-space:nowrap}
.drop-nav__panel a:hover,.drop-nav__panel a:focus-visible{background:rgba(255,255,255,.08);color:#ffc2aa;outline:none}
.drop-nav:hover .drop-nav__panel,.drop-nav:focus-within .drop-nav__panel,.drop-nav.open .drop-nav__panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
@media(max-width:900px){.site-header .header-inner{min-height:78px}.drop-nav__toggle{width:72px;height:72px}.drop-nav__icon{width:64px;height:80px}.drop-nav__panel{top:calc(100% + 10px);min-width:200px;padding:12px}.drop-nav__panel a{padding:11px 12px;font-size:.88rem}}
@media(max-width:620px){.site-header .header-inner{min-height:74px}.drop-nav__toggle{width:64px;height:64px}.drop-nav__icon{width:56px;height:70px}.drop-nav__panel{right:-4px;min-width:186px;border-radius:20px}.drop-nav__panel a{font-size:.84rem}}

/* Jemná minimalistická kapka v měřítku loga POPLAV */
.drop-nav__toggle{width:68px;height:76px;filter:none;transition:transform .22s ease,color .22s ease}
.drop-nav__toggle:hover{transform:translateY(-2px);filter:none;color:#e2faff}
.drop-nav__icon{width:61px;height:72px}
.drop-nav__icon svg{display:block;width:100%;height:100%;overflow:visible}
/* Bez prázdné mezery mezi kapkou a panelem – hover se nepřeruší. */
.drop-nav__panel{top:calc(100% - 1px);right:-4px}
@media(max-width:900px){.drop-nav__toggle{width:64px;height:70px}.drop-nav__icon{width:57px;height:67px}.drop-nav__panel{top:calc(100% - 1px)}}
@media(max-width:620px){.drop-nav__toggle{width:58px;height:64px}.drop-nav__icon{width:54px;height:63px}.drop-nav__panel{top:calc(100% - 1px)}}
@media(hover:none){.drop-nav:hover:not(.open):not(:focus-within) .drop-nav__panel{opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98)}}

/* Finální organická kapka: opticky menší, ve stylu vln loga. */
.drop-nav__toggle{width:72px;height:76px;color:#fff}
.drop-nav__icon{width:65px;height:68px}
.drop-nav__icon svg{display:block;width:100%;height:100%}
/* Viditelnost panelu řídí jediný stav open – předvídatelné i na dotykových zařízeních. */
.drop-nav:hover:not(.open) .drop-nav__panel,
.drop-nav:focus-within:not(.open) .drop-nav__panel{
  opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);
}
.drop-nav.open .drop-nav__panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
@media(max-width:900px){.drop-nav__toggle{width:68px;height:72px}.drop-nav__icon{width:62px;height:64px}}
@media(max-width:620px){.drop-nav__toggle{width:62px;height:68px}.drop-nav__icon{width:58px;height:61px}}


/* POPLAV – bazén a žebřík podle dodaného obrázku, místo kapky.
   Bílé linky jsou převzaté z originálu a pozadí je transparentní. */
.site-header .drop-nav__toggle {
  width: 102px;
  height: 82px;
  padding: 7px 2px;
  display: grid;
  place-items: center;
  color: white;
  border: 0;
  background: transparent;
}
.site-header .drop-nav__icon {
  display: block;
  width: 54px;
  height: auto;
  aspect-ratio: 153 / 114;
  flex-shrink: 0;
}
.site-header .drop-nav__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-width: none;
}
.site-header .drop-nav__toggle:hover {
  transform: translateY(-2px);
  filter: drop-shadow(0 0 6px rgba(255,255,255,.25));
}
@media(max-width:900px) {
  .site-header .drop-nav__toggle { width: 90px; height: 72px; padding: 5px 2px; }
  .site-header .drop-nav__icon { width: 82px; }
}
@media(max-width:620px) {
  .site-header .drop-nav__toggle { width: 76px; height: 66px; padding: 4px 2px; }
  .site-header .drop-nav__icon { width: 71px; }
}


/* Posunutí ikonky menu doprava */
.site-header .drop-nav {
  transform: translateX(20px);
}


/* HERO nadpis – jednořádková kompozice na počítači.
   Každé slovo lze ladit samostatně, mobil se přirozeně zalamuje. */
@media (min-width: 901px) {
  .hero .hero-copy {
    width: 100%;
    max-width: none;
  }
  .hero .hero-copy h1 {
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
    gap: .20em;
    font-size: clamp(4.15rem, 7.8vw, 7.7rem);
    letter-spacing: -.055em;
    line-height: 1.05;
  }
  .hero .hero-copy h1 .hero-title__line {
    display: inline-block;
    white-space: nowrap;
  }
  .hero .hero-copy h1 .hero-title__accent {
    display: inline-block;
    font-size: .82em;
    letter-spacing: -.085em;
    transform: rotate(-4deg) translateY(.15em);
    white-space: nowrap;
  }
  .hero .hero-copy h1 .hero-period {display:none}
}
/* Na tabletu a mobilu zachováme velké, dobře čitelné zalomení. */
@media (max-width: 900px) {
  .hero .hero-copy h1 .hero-title__line:first-child {display: block}
  .hero .hero-copy h1 .hero-title__line:nth-child(2) {display: inline}
  .hero .hero-copy h1 .hero-title__accent {
    transform: rotate(-5deg) translateY(.09em);
  }
}



@media (min-width: 901px) {
  .hero .hero-copy > p {
    max-width: none;
    width: max-content;
    white-space: nowrap;
  }
}


@media (min-width: 901px) {

  /* Posun celého spodního bloku doprava */
  .hero .hero-copy > p,
  .hero .hero-buttons,
  .hero .hero-affirmation {
    margin-left: 60px;
  }

}



@media (min-width: 901px) {

  /* Posun celého HERO bloku doprava */
  .hero .hero-copy {
    position: relative;
    left: 10px;
  }

}



@media (min-width: 901px) {
  .hero .hero-copy h1 {
    letter-spacing: -0.03em;
  }
}



@media (min-width: 901px) {
  .hero .hero-copy > p {
    position: relative;
    top: -30px;
    left: 65px;
  }
}



@media (min-width: 901px) {

  /* Obě tlačítka – doleva a dolů */
  .hero .hero-buttons {
    position: relative;
    left: -50px;
    top: 40px;
  }

  /* Spodní rukopisný text – doleva a dolů */
  .hero .hero-affirmation {
    position: relative;
    left: -50px;
    top: 40px;
  }

}



@media (min-width: 901px) {

  /* Hlavní nadpis */
  .hero .hero-copy h1 {
    text-shadow:
      2px 3px 8px rgba(0, 15, 30, 0.65),
      0 0 18px rgba(0, 15, 30, 0.25);
  }

  /* Popisný text pod nadpisem */
  .hero .hero-copy > p {
    text-shadow:
      1px 2px 5px rgba(0, 15, 30, 0.65);
  }

}



/* Tmavý stín pod ikonou bazénového menu */
.site-header .drop-nav__icon {
  filter:
    drop-shadow(2px 3px 8px rgba(0, 15, 30, 0.65))
    drop-shadow(0 0 18px rgba(0, 15, 30, 0.25));
}



/* Tlačítko Poznat Moniku */
.hero .button-outline {

  /* Jemnější bílá linka */
  border: 1px solid rgba(255, 255, 255, 0.30);

  /* Tmavý stín pod tlačítkem */
  box-shadow:
    2px 3px 8px rgba(0, 15, 30, 0.65),
    0 0 18px rgba(0, 15, 30, 0.25);

  /* Jemný stín pod textem */
  text-shadow:
    1px 2px 5px rgba(0, 15, 30, 0.65);
}




/* Tmavý stín pod rezervačním plovákem */
.hero-buttons .rescue-float--hero {
  filter:
    drop-shadow(2px 3px 8px rgba(0, 15, 30, 0.65))
    drop-shadow(0 0 18px rgba(0, 15, 30, 0.25));
}




/* Aktuality – popisný text na jednom řádku */
@media (min-width: 901px) {
  .news-section .section-title-row p {
    max-width: none;
    width: max-content;
    white-space: nowrap;
  }
}



@media (min-width: 901px) {
  .news-section .section-title-row > div {
    position: relative;
    left: 20px;
  }
}



/* Skrytí postranního posuvníku */
html {
  scrollbar-width: none; /* Firefox */
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none; /* Chrome, Edge, Safari */
}




/* Animovaná voda v HERO. Celá obrazová deformace je řízena hero-water.js. */
.hero-water-motion {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  display: block;
}
@media (prefers-reduced-motion: reduce) {
  .hero-water-motion { display: none; }
}



/* Prodloužení HERO sekce směrem dolů */
@media (min-width: 901px) {
  .hero .hero-layout {
    padding-bottom: 240px;
  }
}




/* O mně – nadpis na jednom řádku */
@media (min-width: 901px) {
  .about-copy h2 {
    white-space: nowrap;
    max-width: none;
    width: max-content;
  }
}





/* HERO – oválné tlačítko Poznat Moniku */
.hero-buttons .button-outline {
  width: 190px;
  height: 58px;
  min-width: 0;
  padding: 0;

  /* Skutečný oválný tvar */
  border-radius: 50%;

  /* Jemná bílá linka */
  border: 1px solid rgba(255, 255, 255, 0.30);

  /* Průhledné pozadí */
  background: rgba(0, 30, 50, 0.10);

  /* Text uprostřed */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;

  /* Tmavý stín */
  box-shadow: 2px 3px 8px rgba(0, 15, 30, 0.55);
}



/* POPLAV – pouze tlačítko Můj přístup v sekci O mně: originální tyrkysová plavecká deska */
.about-copy .swimboard-button {
  display: inline-block;
  width: 200px; /* velikost desky v sekci O mně */
  max-width: 100%;
  height: auto;
  margin-top: 12px;
  vertical-align: middle;
  line-height: 0;
  filter: drop-shadow(0 5px 10px rgba(5, 45, 67, .17));
  transition: transform .25s ease, filter .25s ease;
}
.about-copy .swimboard-button img {
  display: block;
  width: 100%;
  height: auto;
}
.about-copy .swimboard-button:hover {
  transform: translateY(-3px);
  filter: drop-shadow(0 9px 14px rgba(5, 45, 67, .24));
}
.about-copy .swimboard-button:focus-visible {
  outline: 3px solid #ff9d88;
  outline-offset: 4px;
  border-radius: 18px;
}
@media (max-width: 620px) {
  .about-copy .swimboard-button { width: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  .about-copy .swimboard-button { transition: none; }
  .about-copy .swimboard-button:hover { transform: none; }
}



/* Lekce plavání – jemný přirozený stín */
.lessons-section .centered-heading h2 {
  text-shadow: 0 2px 5px rgba(0, 20, 35, 0.30) !important;
}

.lessons-section .centered-heading p,
.lessons-section .eyebrow {
  text-shadow: 0 1px 3px rgba(0, 20, 35, 0.25) !important;
}



/* Bílý text LEKCE PLAVÁNÍ */
.lessons-section .eyebrow {
  color: #ffffff !important;
}


/* Kontaktní část: rezervace přes externí systém místo formuláře */
.contact-section .contact-grid {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 465px);
  gap: clamp(36px, 6vw, 105px);
}
.contact-booking {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 17px;
  min-height: 255px;
  text-align: center;
}
.contact-booking .rescue-float--contact {
  width: min(100%, 345px);
  filter: drop-shadow(2px 4px 10px rgba(0, 15, 30, .52));
}
.contact-booking .rescue-float--contact:hover {
  filter: drop-shadow(2px 8px 15px rgba(0, 15, 30, .6)) brightness(1.035);
}
.contact-booking__caption {
  color: #e4f4f6;
  font-size: .87rem;
  line-height: 1.55;
  max-width: 325px;
  margin: 0;
  text-shadow: 0 2px 5px rgba(0,15,30,.45);
}
.contact-booking__caption:target {
  color: #fff;
}
@media (max-width: 900px) {
  .contact-section .contact-grid { grid-template-columns: 1fr; gap: 28px; }
  .contact-booking { min-height: 190px; }
}
@media (max-width: 620px) {
  .contact-booking .rescue-float--contact { width: min(280px, 85vw); }
  .contact-booking { min-height: 160px; gap: 9px; }
}



/* Skrytí navigačních odkazů ve footeru */
.footer .footer-links {
  display: none;
}

