@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;500;700;800&display=swap");
:root{--bg:#e8fffe;--bg-2:#d6fbf6;--text:#041f20;--muted:#3d7a7e;--turq:#06c8c8;--turq-2:#009ea6;--accent:#34f0e0;--on-accent:#063738;--card:#ffffff;--ring:rgba(6,200,200,.23);--shadow:0 30px 80px -35px rgba(0,0,0,.35),0 10px 30px -20px rgba(6,200,200,.25);--radius:20px}
@media (prefers-color-scheme:dark){:root{--bg:#0b0f12;--bg-2:#071516;--text:#e9fbff;--muted:#a6d6db;--turq:#20e0e0;--turq-2:#1ab7bd;--accent:#64fff0;--on-accent:#002b2e;--card:#0f2123;--ring:rgba(32,224,224,.28);--shadow:0 30px 80px -40px rgba(0,0,0,.6),0 12px 36px -24px rgba(100,255,240,.18)}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:"Outfit",system-ui,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(1200px 600px at 90% -10%, rgba(50,230,230,.35), transparent 60%),radial-gradient(900px 500px at -10% 10%, rgba(15,70,75,.35), transparent 50%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color-scheme:light dark}
a{color:inherit;text-decoration:none}.container{width:min(1100px,92vw);margin-inline:auto}
nav{position:fixed;inset-inline:0;top:0;z-index:50;backdrop-filter:saturate(160%) blur(12px);background:linear-gradient(180deg,rgba(5,25,28,.8),rgba(5,25,28,.4));border-bottom:1px solid rgba(255,255,255,.08)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.brand{display:flex;align-items:center;gap:.7rem;font-weight:800;letter-spacing:.02em}
.logo{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff 3px,transparent 4px),radial-gradient(circle at 60% 55%,#fff 3px,transparent 4px),radial-gradient(circle at 30% 60%,#fff 2.5px,transparent 4px),radial-gradient(circle at 70% 40%,#fff 2.5px,transparent 4px),radial-gradient(circle at 50% 50%,#fff 2.5px,transparent 4px),#c9ffff;outline:3px solid var(--turq);box-shadow:0 0 0 3px rgba(32,209,209,.25)}
.nav-links a{font-weight:800;margin-left:20px;opacity:.96;padding:10px 14px;border-radius:14px}.nav-links a:hover{background:rgba(32,209,209,.14);box-shadow:inset 0 0 0 1px rgba(32,209,209,.28)}
header.hero{position:relative;padding-top:110px;min-height:78vh;display:grid;align-items:center;overflow:hidden}
.hero .kicker{display:inline-block;letter-spacing:.08em;font-size:12px;font-weight:800;text-transform:uppercase;color:var(--on-accent);background:var(--accent);padding:6px 10px;border-radius:999px;box-shadow:var(--shadow)}
.hero h1{font-size:clamp(38px,7.2vw,72px);line-height:1.02;margin:14px 0 12px;text-shadow:0 2px 0 rgba(0,0,0,.08)}
.lead{max-width:65ch;color:var(--muted);font-size:clamp(16px,2.4vw,20px)}.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.cta,.cta.small{display:inline-flex;align-items:center;gap:.8rem;margin-top:24px;padding:14px 18px;border-radius:16px;font-weight:900;letter-spacing:.01em;background:linear-gradient(90deg,var(--turq),var(--accent));box-shadow:var(--shadow)}
.cta.alt{background:linear-gradient(90deg,#00c179,#50f0b1)}.cta.small{padding:12px 16px;font-size:14px}a:hover .arrow{transform:translateX(4px)}.arrow{display:inline-block;transition:transform .2s ease}
.waves{pointer-events:none;position:absolute;inset-inline:0;height:180px;background:radial-gradient(50% 120% at 50% 0%,rgba(32,209,209,.35),transparent 70%),linear-gradient(180deg,transparent 20%,rgba(0,0,0,.2) 100%);-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1440 200"><path fill="white" d="M0,64L30,85.3C60,107,120,149,180,154.7C240,160,300,128,360,128C420,128,480,160,540,170.7C600,181,660,171,720,144C780,117,840,75,900,69.3C960,64,1020,96,1080,122.7C1140,149,1200,171,1260,176C1320,181,1380,171,1410,165.3L1440,160L1440 200L0 200Z"/></svg>') no-repeat 0 0/100% 100%;mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1440 200"><path fill="white" d="M0,64L30,85.3C60,107,120,149,180,154.7C240,160,300,128,360,128C420,128,480,160,540,170.7C600,181,660,171,720,144C780,117,840,75,900,69.3C960,64,1020,96,1080,122.7C1140,149,1200,171,1260,176C1320,181,1380,171,1410,165.3L1440,160L1440 200L0 200Z"/></svg>') no-repeat 0 0/100% 100%;transform:translateZ(0);will-change:transform}
.waves-top{bottom:-1px}footer{position:relative;padding:64px 0 120px;text-align:center;color:var(--muted)}.waves-bottom{bottom:0;left:0;right:0;height:180px}
section{padding:72px 0}h2{font-size:clamp(28px,4.8vw,42px);margin:0 0 12px}p.section-intro{color:var(--muted);margin:0 0 28px}
.grid{display:grid;gap:22px;grid-template-columns:repeat(12,1fr)}.card{grid-column:span 12;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0)),var(--card);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 30px 90px -40px rgba(0,0,0,.55),0 12px 36px -20px var(--ring)}.card h3{margin:0 0 8px;font-size:22px}.muted{color:var(--muted)}
.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8{grid-column:span 8}@media (max-width:900px){.span-4,.span-6,.span-8{grid-column:span 12}}
.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-weight:900}.price .amount{font-size:52px;color:var(--turq)}
ul.clean{list-style:none;padding:0;margin:0}ul.clean li{padding:10px 0;border-bottom:1px dashed rgba(0,0,0,.12)}@media (prefers-color-scheme:dark){ul.clean li{border-bottom:1px dashed rgba(255,255,255,.12)}}ul.clean li:last-child{border-bottom:0}
.address{display:grid;gap:6px}.btn-line{display:inline-block;margin-top:6px;padding-bottom:3px;font-weight:900;border-bottom:2px solid var(--accent)}
.reveal{opacity:0;transform:translateY(28px) scale(.98);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.reveal.revealed{opacity:1;transform:translateY(0) scale(1)}
.ball-cursor{position:fixed;top:0;left:0;width:26px;height:26px;border-radius:50%;pointer-events:none;z-index:999;opacity:.95;transform:translate(-50%,-50%);background:radial-gradient(circle at 30% 30%,rgba(0,0,0,.12) 2.4px,transparent 2.4px) 0 0/8px 8px,radial-gradient(circle at 70% 70%,rgba(0,0,0,.12) 2.4px,transparent 2.4px) 4px 4px/8px 8px,#ffffff;box-shadow:inset -4px -6px 12px rgba(0,0,0,.18),inset 6px 8px 16px rgba(255,255,255,.7),0 10px 25px -10px rgba(32,209,209,.6);border:2px solid rgba(255,255,255,.85);transition:transform .08s ease-out}
.ball-cursor.hide{opacity:0}@media (pointer:none),(hover:none),(prefers-reduced-motion:reduce){.ball-cursor{display:none}html{scroll-behavior:auto}}

/* === Galerie === */
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}
.gallery-grid .g-item{grid-column:span 4;display:block;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);transform:translateZ(0)}
.gallery-grid .g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1), filter .3s ease}
.gallery-grid .g-item:hover img{transform:scale(1.06)}
@media (max-width:900px){.gallery-grid .g-item{grid-column:span 6}}
@media (max-width:580px){.gallery-grid .g-item{grid-column:span 12}}

/* Lightbox */
.lightbox{{position:fixed;inset:0;background:rgba(0,0,0,.8);display:none;align-items:center;justify-content:center;z-index:100}}
.lightbox.open{{display:flex}}
.lightbox img{{max-width:92vw;max-height:88vh;border-radius:14px;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}}
.lightbox .close{{position:absolute;top:20px;right:20px;font-weight:900;background:#fff;padding:8px 12px;border-radius:10px;cursor:pointer}}
