*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',sans-serif;background:#ecfeff;color:#0f172a;overflow-x:hidden}
h1,h2,h3{font-family:'Poppins',sans-serif;line-height:1.15}
a{text-decoration:none;color:inherit}
.brand-wrap{display:flex;align-items:center;gap:12px}
.brand-logo{width:44px;height:44px;flex-shrink:0;display:block}
.brand-text{font-weight:700;letter-spacing:.02em;line-height:1.2;max-width:min(52vw,280px)}
.bg-orb{position:fixed;inset:auto auto 10% -80px;width:280px;height:280px;border-radius:50%;filter:blur(40px);opacity:.3;background:#0ea5e9;animation:float 10s ease-in-out infinite;pointer-events:none}
.bg-orb.orb2{left:auto;right:-90px;top:15%;animation-delay:-4s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}
.site-header{position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:14px 4vw;background:rgba(0,0,0,.2);backdrop-filter:blur(8px);border-bottom:1px solid #bae6fd}
nav ul{list-style:none;display:flex;gap:14px;margin:0;padding:0;flex-wrap:wrap;align-items:center}
nav a{padding:8px 10px;border-radius:24px;transition:.25s}
nav a:hover{background:#bae6fd;transform:translateY(-1px)}
nav a.active{outline:2px solid #0ea5e9;outline-offset:2px}
#menu-btn{display:none;border:0;background:#0ea5e9;color:#fff;padding:10px 14px;border-radius:24px}
.hero{min-height:74vh;display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:center;padding:42px 4vw}
.hero-media img{width:100%;height:100%;max-height:540px;object-fit:cover;border-radius:24px;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.hero-card{padding:22px;background:rgba(255,255,255,.56);border:1px solid #bae6fd;border-radius:24px;animation:reveal .9s ease both}
.hero p{opacity:.92}
.btn{display:inline-block;margin-top:14px;padding:11px 18px;background:#0ea5e9;color:#fff;border-radius:24px;transition:.25s;border:0;cursor:pointer;font:inherit}
.btn:hover{transform:translateY(-2px) scale(1.02)}
.btn-ghost{background:transparent;color:#0f172a;border:2px solid #bae6fd}
.ticker{display:flex;gap:10px;overflow:hidden;padding:8px 4vw 16px}
.ticker span{white-space:nowrap;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.56);border:1px solid #bae6fd;animation:slide 16s linear infinite}
@keyframes slide{from{transform:translateX(110vw)}to{transform:translateX(-120vw)}}
main{padding:10px 4vw 48px}
section{margin:30px 0}
.reveal{opacity:0;transform:translateY(20px);transition:.65s ease}
.reveal.show{opacity:1;transform:none}
.services-grid,.gallery-grid,.stats-grid,.pricing-grid,.team-grid,.schedule-grid,.faq-grid{display:grid;gap:14px}
.services-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{padding:14px;background:rgba(255,255,255,.56);border:1px solid #bae6fd;border-radius:24px;transition:.3s}
.card:hover{transform:translateY(-3px)}
.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.gallery-grid img{width:100%;height:150px;object-fit:cover;border-radius:24px}
.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.team-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.schedule-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.faq-grid{grid-template-columns:1fr}
.stat{padding:18px;background:rgba(255,255,255,.56);border:1px solid #bae6fd;border-radius:24px;text-align:center}
.stat strong{font-size:2rem;display:block}
.timeline{display:grid;gap:10px}
.timeline div{padding:12px;background:rgba(255,255,255,.56);border-left:4px solid #0ea5e9;border-radius:8px}
.price{padding:16px;background:rgba(255,255,255,.56);border:1px solid #bae6fd;border-radius:24px}
.price strong{font-size:1.8rem;display:block;margin:8px 0}
.member img{width:100%;height:190px;object-fit:cover;border-radius:24px}
.faq{padding:14px;background:rgba(255,255,255,.56);border:1px solid #bae6fd;border-radius:24px}
.faq h4{margin:0 0 8px}
.legal-page{max-width:820px;margin:0 auto}
.legal-page h2{margin-top:1.6em}
.site-footer{display:grid;grid-template-columns:2fr 1fr;gap:16px;padding:24px 4vw;background:rgba(255,255,255,.56);border-top:1px solid #bae6fd}
.site-footer .foot-links{display:grid;gap:6px}
.transition-cover{position:fixed;inset:0;background:#ecfeff;z-index:80;transform:translateY(100%);pointer-events:none}
.transition-cover.active{animation:cover .7s ease}
@keyframes cover{0%{transform:translateY(100%)}50%{transform:translateY(0)}100%{transform:translateY(-100%)}}
@keyframes reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.cookie-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:560px;margin:0 auto;background:rgba(255,255,255,.56);border:1px solid #bae6fd;border-radius:24px;padding:18px;box-shadow:0 12px 40px rgba(0,0,0,.25);display:none}
.cookie-consent.show{display:block}
.cookie-consent h2{margin:0 0 8px;font-size:1.05rem}
.cookie-consent p{margin:0 0 12px;font-size:.92rem;opacity:.95;line-height:1.5}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cookie-actions a{text-decoration:underline;color:#0ea5e9}
@media (max-width:940px){.hero{grid-template-columns:1fr}#menu-btn{display:block}nav{display:none}nav.open{display:block;width:100%}nav ul{flex-direction:column;margin-top:10px;align-items:flex-start}.site-footer{grid-template-columns:1fr}}