*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#17324d;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.header{position:sticky;top:0;z-index:20;background:#fffffff2;backdrop-filter:blur(16px);border-bottom:1px solid #e8f0f4}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#103c61,#1aa8a8);display:grid;place-items:center;color:white;font-size:23px;font-weight:800}.brand strong,.brand small{display:block}.brand strong{font-size:18px}.brand small{color:#6c8292;font-size:10px;margin-top:2px;letter-spacing:.05em}.nav-links{display:flex;align-items:center;gap:24px}.nav-links a{font-size:14px;font-weight:650;color:#536a79}.nav-links a:hover{color:#0b8c96}.nav-cta,.primary{background:#123d60;color:white;padding:13px 17px;border-radius:12px;font-weight:800}.menu-btn{display:none;border:0;background:none;font-size:24px;color:#123d60}.hero{background:linear-gradient(135deg,#f5fbfc,#eef7fb,#f8fcfb);min-height:680px;display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:55px;align-items:center;padding:75px 0}.eyebrow,small{color:#0b8c96;font-size:11px;font-weight:850;letter-spacing:.14em}.hero h1{font-size:clamp(46px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:20px 0;color:#12314a}.hero h1 em{font-style:normal;color:#0b9b9d}.lead{font-size:18px;line-height:1.7;color:#587080;max-width:620px}.actions{display:flex;gap:22px;align-items:center;margin:30px 0}.text-btn{color:#167f8b;font-weight:800}.trust{display:flex;gap:22px;color:#55707f;font-size:13px;font-weight:650}.hero-art{min-height:500px;position:relative;display:grid;place-items:center}.portrait{position:relative;width:290px;height:360px}.head{width:128px;height:128px;background:#d7a17f;border-radius:48%;position:absolute;top:25px;left:81px}.head:before{content:"";position:absolute;width:142px;height:75px;top:-22px;left:-7px;background:#263e4a;border-radius:70%}.body{position:absolute;width:245px;height:230px;bottom:0;left:23px;border-radius:120px 120px 24px 24px;background:linear-gradient(135deg,#167c88,#12516e)}.speech{position:absolute;z-index:3;background:white;padding:16px 19px;border-radius:17px;color:#123d60;font-weight:750;box-shadow:0 16px 35px #1440581f}.s1{top:55px;left:15px}.s2{right:0;top:150px}.wave{position:absolute;border:3px solid #46c0b4;border-left:0;border-top:0;border-bottom:0;border-radius:50%;opacity:.75}.w1{width:70px;height:125px;right:-22px;top:115px}.w2{width:98px;height:165px;right:-42px;top:94px}.w3{width:128px;height:205px;right:-61px;top:74px}.badge{position:absolute;left:18px;bottom:35px;z-index:4;display:flex;gap:10px;align-items:center;padding:12px 15px;border-radius:15px;background:#123d60;color:white}.badge small{display:block;color:#bcdde2;font-size:10px;letter-spacing:0}.promise,.swallow{background:#123d60;color:white;padding:62px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.promise h2,.swallow h2,.booking h2{font-size:clamp(30px,4vw,50px);line-height:1.08;letter-spacing:-.04em;margin:12px 0}.promise p,.swallow p,.booking p{color:#c7dbe4;line-height:1.8}.section{padding:100px 0}.heading{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;margin-bottom:48px}.heading h2,.feature h2,.about h2,.faq-grid h2{font-size:clamp(32px,4vw,51px);line-height:1.08;letter-spacing:-.045em;margin:11px 0;color:#12314a}.heading p,.feature p,.about p,.faq-grid>div>p{color:#627988;line-height:1.75}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.cards article{border:1px solid #e0ebef;border-radius:21px;padding:25px;min-height:290px;display:flex;flex-direction:column}.icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#0a8e91;background:#e8f7f5;font-size:20px}.cards h3{color:#183b53;margin:22px 0 9px}.cards p{color:#6b7f8b;line-height:1.65;font-size:14px}.cards a{margin-top:auto;color:#0b858d;font-size:13px;font-weight:800}.feature{padding:100px 0;background:#f7fbfc}.feature.alt{background:#fff}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.visual{min-height:430px;border-radius:32px;position:relative;overflow:hidden;background:linear-gradient(145deg,#e3f6f3,#edf6fb)}.visual.adult{background:linear-gradient(145deg,#dcebf4,#e8f6f4)}.pill{position:absolute;top:24px;left:24px;background:white;color:#176176;padding:9px 12px;border-radius:99px;font-size:11px;font-weight:800}.bubble{position:absolute;background:white;border-radius:22px;padding:20px;box-shadow:0 15px 30px #194f651a;color:#254c63}.bubble.big{top:105px;left:55px;font-size:20px}.bubble.small{right:40px;bottom:85px}.ring{width:260px;height:260px;border-radius:50%;border:34px solid #b9e4dc;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-content:center;text-align:center;color:#168b8d;font-size:11px;font-weight:800;letter-spacing:.12em}.ring strong{display:block;font-size:25px;line-height:1.08;color:#24586c;letter-spacing:0;margin-top:8px}.feature ul{padding:0;margin:25px 0 30px;list-style:none;display:grid;gap:13px}.feature li{color:#4f6877;font-size:14px}.outline,.light{display:inline-block;border:1px solid #cbdde5;background:white;color:#123d60;padding:13px 17px;border-radius:12px;font-weight:800}.swallow{background:linear-gradient(135deg,#0d4a65,#0b747d);padding:90px 0}.swallow small,.booking small{color:#69d3c8}.mini-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.mini-cards div{background:#ffffff17;border:1px solid #ffffff1f;border-radius:17px;padding:23px;min-height:135px;display:flex;flex-direction:column;justify-content:space-between;color:#71d6cb}.mini-cards strong{color:white;font-size:17px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.steps b{color:#0c9993}.steps h3{color:#173b53;font-size:17px;margin:20px 0 8px}.steps p{color:#6b7f8b;font-size:13px;line-height:1.6}.center{text-align:center;display:block;max-width:760px;margin:0 auto 50px}.about{padding:95px 0;background:#f4f9fa}.values{display:grid;gap:13px}.values>div{background:white;padding:21px;border:1px solid #e0ebef;border-radius:17px}.values b{color:#173b53}.values p{font-size:13px;margin:8px 0 0}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.faq details{border-bottom:1px solid #dce7eb;padding:20px 0}.faq summary{cursor:pointer;color:#1b3e56;font-weight:750}.faq p{color:#647a88;line-height:1.7;font-size:14px}.booking{padding:90px 0;background:#123d60}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contacts{display:grid;gap:11px;margin-top:28px}.contacts a{color:#dcecf0}.form{background:white;border-radius:24px;padding:30px;display:grid;gap:15px;box-shadow:0 25px 60px #031d2d38}.form label{color:#315267;font-size:12px;font-weight:750;display:grid;gap:7px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form input,.form select,.form textarea{border:1px solid #d5e3e8;border-radius:10px;padding:12px;width:100%;background:#fbfdfe}.form button{border:0}.status{min-height:20px;font-weight:700}.footer{background:#0b2b42;color:#bcd0da;padding:60px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr 1fr;gap:70px;padding-bottom:55px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.inverse{color:white}.footer h4{color:white;margin:5px 0}.footer a:hover{color:white}.copyright{border-top:1px solid #ffffff1a;padding-top:20px;font-size:11px;color:#7892a0}@media(max-width:900px){.container{width:min(100% - 30px,680px)}.menu-btn{display:block}.nav-links{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:18px;flex-direction:column;align-items:stretch;box-shadow:0 14px 30px #123d6014}.nav-links.open{display:flex}.nav-links a{padding:10px}.hero-grid,.two-col,.feature-grid,.faq-grid,.booking-grid{grid-template-columns:1fr;gap:45px}.cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.hero{min-height:auto}.hero-grid{padding:65px 0 50px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}}@media(max-width:560px){.container{width:calc(100% - 28px)}.hero h1{font-size:46px}.actions{flex-direction:column;align-items:flex-start;gap:13px}.trust{flex-direction:column;gap:9px}.section{padding:70px 0}.heading{grid-template-columns:1fr;gap:15px;margin-bottom:30px}.cards,.steps,.mini-cards,.form-row{grid-template-columns:1fr}.feature{padding:70px 0}.visual{min-height:350px}.bubble.big{left:25px}.bubble.small{right:20px}.footer-grid{grid-template-columns:1fr}.booking{padding:70px 0}}

.nav-links a.active{color:#0b8c96}.page-hero{background:linear-gradient(135deg,#f5fbfc,#eef7fb,#f8fcfb);padding:70px 0 56px;border-bottom:1px solid #e8f0f4}.page-hero h1{font-size:clamp(34px,5vw,52px);margin:10px 0 12px;color:#123d60}.page-hero p{max-width:620px;color:#536a79;font-size:18px;line-height:1.6;margin:0}.cta-band{background:#123d60;color:#fff;text-align:center;padding:64px 0}.cta-band h2{margin:0 0 10px;font-size:clamp(26px,4vw,36px)}.cta-band p{margin:0 0 24px;color:#cfe3ee}.cta-band .light-btn{display:inline-block;background:#fff;color:#123d60}.testimonial-empty{max-width:640px;margin:36px auto 0;text-align:center;padding:40px 28px;border:1px dashed #b9d3de;border-radius:20px;background:#f8fcfd}.testimonial-empty p{color:#536a79;line-height:1.6}.testimonial-empty .outline{display:inline-block;margin-top:8px}

.skip-link{position:absolute;left:-9999px;top:8px;background:#123d60;color:#fff;padding:10px 14px;border-radius:8px;z-index:100}.skip-link:focus{left:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1aa8a8;outline-offset:3px}
.nav-links a.active{color:#0b8c96;border-bottom:2px solid #0b8c96;padding-bottom:4px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:30;display:flex;align-items:center;gap:8px;background:#25d366;color:#fff;font-weight:800;font-size:14px;padding:12px 16px;border-radius:999px;box-shadow:0 8px 24px #0003}.wa-float:hover{background:#1fb858}
@media(max-width:560px){.wa-float span{display:none}.wa-float{padding:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:900px){.nav-links a.active{border-bottom:0;padding-bottom:0}}
.nav-links a.nav-cta,.nav-links a.nav-cta:hover{color:#fff}.nav-links a.nav-cta:hover{background:#0b8c96}

/* Hero portrait: eyes, face shading and a scoop neckline (replaces the blob under the chin) */
.head{z-index:2;box-shadow:inset -14px -6px 0 #c99a7a22,inset -22px 0 0 #c99a7a55}
.head:after{content:"";position:absolute;top:56px;left:36px;width:18px;height:18px;border-radius:50%;background:#3b4f5a;box-shadow:42px 0 0 #3b4f5a}
.body:before{content:"";position:absolute;top:0;left:50%;width:56px;height:44px;margin-left:-28px;background:#c99a7a;border-radius:0 0 50% 50%}
.body:after{content:"";position:absolute;top:0;left:50%;width:80px;height:62px;margin-left:-40px;border:4px solid #ffffff40;border-top:0;border-radius:0 0 50% 50%}

/* ---- Home page interactivity ---- */
.guide{background:#f7fbfc;padding:78px 0}.chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:8px 0 26px}
.chip{font:inherit;font-weight:750;font-size:15px;color:#123d60;background:#fff;border:1.5px solid #cfe3ea;border-radius:999px;padding:13px 20px;cursor:pointer;transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
.chip:hover{transform:translateY(-3px);border-color:#1aa8a8;box-shadow:0 10px 22px #12405a1a}.chip.on{background:#123d60;color:#fff;border-color:#123d60}
.guide-result{max-width:680px;margin:0 auto;background:#fff;border:1px solid #dcebf0;border-radius:20px;padding:30px;text-align:center;box-shadow:0 18px 40px #12405a12}
.guide-result h3{margin:0 0 8px;font-size:24px;color:#123d60}.guide-result p{color:#536a79;line-height:1.7;margin:0 0 18px}.guide-result .primary{display:inline-block}.guide-hint{margin:0!important;font-weight:650}
.guide-result.pop{animation:pop .45s ease}@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.speech{transition:opacity .35s,transform .35s}.speech.swap{opacity:0;transform:translateY(8px)}
.s1{animation:floaty 5s ease-in-out infinite}.s2{animation:floaty 6s ease-in-out -2s infinite}.badge{animation:floaty 7s ease-in-out -1s infinite}@keyframes floaty{50%{transform:translateY(-8px)}}
.wave{animation:pulse 2.6s ease-in-out infinite}.w2{animation-delay:.35s}.w3{animation-delay:.7s}@keyframes pulse{0%,100%{opacity:.25}50%{opacity:.85}}
.head:after{translate:var(--ex,0) var(--ey,0);transition:translate .12s;animation:blink 5s infinite}@keyframes blink{0%,94%,100%{scale:1 1}97%{scale:1 .1}}
.cards article{transition:transform .25s,box-shadow .25s}.cards article:hover{transform:translateY(-6px);box-shadow:0 20px 38px #12405a1f}
.steps>div{transition:transform .25s}.steps>div:hover{transform:translateY(-5px)}
.reveal-ready .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal-ready .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.s1,.s2,.badge,.wave,.head:after{animation:none}.cards article,.steps>div,.chip{transition:none}}
