:root{
  --ocean:#0b8fb3; --ocean-d:#0a7596; --deep:#063b54; --teal:#13c2c2;
  --sand:#f6efe2; --sun:#ffb33e; --coral:#ff6b5e;
  --ink:#13343f; --muted:#5c7782; --bg:#f3f9fb; --white:#fff; --line:#dceaef;
  --r:18px; --shadow:0 16px 40px rgba(11,143,179,.14);
  --sans:'Poppins',sans-serif; --display:'Righteous',cursive;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.65;overflow-x:hidden}
.container{width:90%;max-width:1180px;margin:0 auto}
h1,h2,h3,.brand{font-family:var(--display);font-weight:400;line-height:1.05}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
section{padding:96px 0}
.kicker{display:inline-block;color:var(--ocean);font-weight:700;text-transform:uppercase;letter-spacing:3px;font-size:.78rem;margin-bottom:12px;font-family:var(--sans)}
.sec-head{text-align:center;max-width:600px;margin:0 auto 50px}
.sec-head h2{font-size:clamp(2rem,5vw,3.2rem)}
.sec-head.light h2{color:#fff}.sec-head.light .kicker{color:var(--sun)}
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 30px;border-radius:50px;font-family:var(--sans);font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:.25s}
.btn-primary{background:var(--sun);color:var(--deep);box-shadow:0 10px 24px rgba(255,179,62,.35)}
.btn-primary:hover{background:#fca81f;transform:translateY(-3px)}
.btn-glass{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(6px)}
.btn-glass:hover{background:#fff;color:var(--deep);transform:translateY(-3px)}

#navbar{position:fixed;top:0;width:100%;z-index:1000;padding:18px 0;transition:.3s}
#navbar.scrolled{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);padding:12px 0;box-shadow:0 6px 24px rgba(11,143,179,.1)}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.brand{font-size:1.6rem;display:flex;align-items:center;gap:9px;color:#fff}
.brand i{color:var(--sun)}
#navbar.scrolled .brand{color:var(--ocean)}
.nav-menu{display:flex;align-items:center;gap:6px;list-style:none}
.nav-link{padding:9px 16px;border-radius:50px;font-weight:600;color:rgba(255,255,255,.9);transition:.2s}
#navbar.scrolled .nav-link{color:var(--ink)}
.nav-link:hover,.nav-link.active{color:var(--sun)}
#navbar.scrolled .nav-link:hover,#navbar.scrolled .nav-link.active{color:var(--ocean)}
.nav-cta{background:var(--sun);color:var(--deep)!important}
.nav-cta:hover{background:#fca81f}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer}
.hamburger span{width:26px;height:3px;background:#fff;border-radius:3px;transition:.3s}
#navbar.scrolled .hamburger span{background:var(--ink)}
.hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* hero */
.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-veil{position:absolute;inset:0;background:linear-gradient(120deg,rgba(6,59,84,.7),rgba(11,143,179,.45))}
.hero-inner{position:relative;z-index:2;max-width:680px}
.pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);padding:8px 18px;border-radius:50px;font-weight:600;font-size:.82rem;margin-bottom:22px}
.pill i{color:var(--sun)}
.hero h1{font-size:clamp(3rem,9vw,5.6rem);margin-bottom:18px}
.hero>.hero-inner>p{font-size:1.16rem;max-width:500px;margin-bottom:32px;opacity:.95}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.wave-divider{position:absolute;bottom:-1px;left:0;width:100%;line-height:0}
.wave-divider svg{width:100%;height:90px}
.wave-divider path{fill:var(--white)}

/* shop */
.shop-filter{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:40px}
.sf{background:var(--bg);border:1px solid var(--line);color:var(--muted);padding:9px 22px;border-radius:50px;cursor:pointer;font-family:var(--sans);font-weight:600;transition:.2s}
.sf:hover{color:var(--ink)}
.sf.active{background:var(--ocean);color:#fff;border-color:var(--ocean)}
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.prod{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.3s}
.prod:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.p-img{position:relative;background:var(--bg)}
.p-img img{height:200px;width:100%;object-fit:cover}
.p-badge{position:absolute;top:12px;left:12px;background:var(--coral);color:#fff;font-weight:600;font-size:.72rem;padding:4px 12px;border-radius:50px}
.prod h4{font-family:var(--sans);font-weight:600;font-size:1.05rem;padding:16px 18px 0}
.p-row{display:flex;align-items:center;justify-content:space-between;padding:8px 18px 18px}
.price{font-family:var(--display);color:var(--ocean);font-size:1.3rem}
.add{width:42px;height:42px;border-radius:50%;background:var(--ocean);color:#fff;border:none;cursor:pointer;transition:.2s}
.add:hover{background:var(--ocean-d);transform:scale(1.1)}

/* lessons */
.lessons{background:var(--bg)}
.lessons-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.lessons-text h2{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:14px}
.lessons-text>p{color:var(--muted);font-size:1.05rem;margin-bottom:24px}
.lesson-cards{display:flex;flex-direction:column;gap:12px;margin-bottom:26px}
.lc{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 20px;transition:.2s}
.lc:hover{transform:translateX(6px);box-shadow:var(--shadow)}
.lc>i{font-size:1.4rem;color:var(--ocean);width:30px}
.lc div{flex:1}
.lc h4{font-family:var(--sans);font-weight:600;font-size:1.05rem}
.lc p{color:var(--muted);font-size:.85rem}
.lc-price{font-family:var(--display);color:var(--sun);font-size:1.4rem}
.lessons-art{position:relative}
.lessons-art>img{width:100%;border-radius:24px;box-shadow:var(--shadow)}
.stoke-badge{position:absolute;bottom:-20px;left:-20px;background:var(--ocean);color:#fff;border-radius:18px;padding:18px 26px;box-shadow:var(--shadow);text-align:center}
.stoke-badge .count{font-family:var(--display);font-size:1.9rem;display:block}
.stoke-badge small{font-size:.78rem;opacity:.9}

/* report */
.report{background:linear-gradient(135deg,var(--deep),var(--ocean));color:#fff}
.report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px}
.rep{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--r);padding:30px;text-align:center;backdrop-filter:blur(6px)}
.rep i{font-size:1.6rem;color:var(--sun);margin-bottom:14px}
.rep-val{font-family:var(--display);font-size:2.4rem;display:block;line-height:1}
.rep-val em{font-family:var(--sans);font-size:1rem;font-style:normal;opacity:.8}
.rep small{color:rgba(255,255,255,.8);font-size:.85rem;display:block;margin-top:6px}
.report-note{text-align:center;font-size:1.1rem}
.report-note i{color:var(--teal);margin-right:8px}
.report-note strong{color:var(--sun)}

/* gallery */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:16px}
.gal-grid img{width:100%;height:100%;object-fit:cover;border-radius:var(--r);transition:.4s}
.gal-grid img:nth-child(1),.gal-grid img:nth-child(5){grid-row:span 2}
.gal-grid img:hover{transform:scale(1.03);filter:brightness(1.05)}

/* contact */
.contact{background:var(--bg)}
.contact-inner{display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:center}
.contact-text h2{font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:14px}
.contact-text>p{color:var(--muted);font-size:1.05rem;margin-bottom:24px}
.contact-list{list-style:none}
.contact-list li{display:flex;align-items:center;gap:14px;padding:9px 0;color:var(--muted);font-weight:500}
.contact-list i{color:var(--ocean);width:20px}
.contact-form{background:#fff;border-radius:20px;padding:34px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}
.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form input,.contact-form select,.contact-form textarea{padding:13px 15px;border:1px solid var(--line);border-radius:12px;font-family:var(--sans);font-size:.95rem;color:var(--ink);resize:none;background:var(--bg)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--ocean)}
.form-submit{justify-content:center}

/* footer */
.footer{background:var(--deep);color:#9bc0cf;padding:70px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:36px;margin-bottom:42px}
.footer .brand{margin-bottom:14px}.footer .brand.light{color:#fff}
.footer-grid>div>p{font-size:.92rem;margin-bottom:16px}
.footer h4{color:#fff;font-family:var(--sans);font-weight:700;margin-bottom:16px;font-size:1rem}
.footer ul{list-style:none}
.footer ul li{margin-bottom:10px;font-size:.92rem}
.footer ul li a{color:#9bc0cf;transition:.2s}
.footer ul li a:hover{color:var(--sun)}
.footer ul li i{color:var(--sun);margin-right:8px}
.socials{display:flex;gap:10px}
.socials a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;color:#fff;transition:.25s}
.socials a:hover{background:var(--sun);color:var(--deep);transform:translateY(-3px)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem;flex-wrap:wrap;gap:10px}
.footer-bottom a{color:var(--sun);font-weight:600}

.reveal{opacity:0;transform:translateY(32px);transition:.7s cubic-bezier(.2,.7,.3,1)}
.reveal.visible{opacity:1;transform:none}
.back-to-top{position:fixed;bottom:28px;right:28px;width:50px;height:50px;border-radius:50%;background:var(--ocean);color:#fff;border:none;cursor:pointer;opacity:0;pointer-events:none;transition:.3s;z-index:900;box-shadow:var(--shadow)}
.back-to-top.visible{opacity:1;pointer-events:auto}
.back-to-top:hover{transform:translateY(-4px)}

@media(max-width:980px){
  .shop-grid{grid-template-columns:repeat(2,1fr)}
  .lessons-inner,.contact-inner{grid-template-columns:1fr}
  .report-grid{grid-template-columns:repeat(2,1fr)}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .nav-menu{position:fixed;top:0;right:-100%;height:100vh;width:74%;background:var(--deep);flex-direction:column;justify-content:center;gap:18px;transition:.35s}
  .nav-menu.open{right:0}.nav-menu .nav-link{color:#fff}.hamburger{display:flex;z-index:1001}
  .shop-grid,.gal-grid,.footer-grid,.contact-form .row{grid-template-columns:1fr}
  .gal-grid img:nth-child(1),.gal-grid img:nth-child(5){grid-row:span 1}
  section{padding:72px 0}
}
