
:root{--bg:#0f1417;--fg:#e9eef0;--a:#162026;--b:#2ec4b6;--c:#151d22;--r:14px;--f1:'Sora',Georgia,serif;--f2:'Manrope',system-ui,sans-serif;--mut:#9fb0b6;--card:rgba(255,255,255,.04);--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f2);line-height:1.65;-webkit-font-smoothing:antialiased;font-size:17px}
img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(100% - 2.5rem,1160px);margin:auto}
h1,h2,h3{font-family:var(--f1);line-height:1.08;margin:0 0 .5em;font-weight:600;letter-spacing:-.02em}h2{font-size:clamp(1.9rem,4.2vw,3rem)}h3{font-size:1.3rem}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.74rem;font-weight:700;color:var(--b);margin:0 0 .8rem;font-family:var(--f2)}.center{text-align:center}.sub{color:var(--mut);max-width:660px}.center.sub{margin:0 auto 2.4rem}
.nav{position:sticky;top:0;z-index:40;background:rgba(15,20,23,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-in{display:flex;align-items:center;gap:1rem;height:72px}
.brand{text-decoration:none;display:flex;align-items:center;gap:.65rem;margin-right:auto;min-width:0}.brand svg{width:38px;height:38px;flex:none}.brand span{display:flex;flex-direction:column;line-height:1;min-width:0}.brand b{font-family:var(--f1);font-size:1.3rem;color:#fff;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand small{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-top:5px;white-space:nowrap}
.links{display:flex;gap:1.7rem}.links a{text-decoration:none;font-weight:600;font-size:.95rem;opacity:.82;padding:6px 0;border-bottom:2px solid transparent}.links a:hover,.links a.on{opacity:1;border-color:var(--b)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;font-weight:700;padding:.9rem 1.45rem;border-radius:var(--r);background:var(--b);color:#062a27;border:2px solid var(--b);transition:.25s;font-family:var(--f2);font-size:1rem;cursor:pointer}.btn:hover{transform:translateY(-2px);filter:brightness(1.07)}.btn.ghost{background:transparent;color:inherit;border-color:currentColor}.btn.sm{padding:.55rem 1rem;font-size:.88rem}.btn.alt{background:var(--a);border-color:var(--a);color:#fff}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;color:inherit;padding:0;flex:none}.burger span{display:block;height:2px;background:currentColor;margin:7px 9px;transition:.3s}
@media(max-width:880px){.links{position:fixed;inset:72px 0 auto 0;flex-direction:column;gap:0;background:var(--bg);padding:.5rem 1.25rem 1.25rem;transform:translateY(-160%);transition:.35s;box-shadow:0 20px 40px rgba(0,0,0,.2)}.links.open{transform:none}.links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1.05rem}.burger{display:block}.nav .btn.sm{display:none}}
.badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem}.badges span{font-size:.8rem;font-weight:600;padding:.42rem .9rem;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(6px)}
.cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.7rem}
/* hero: full */
.hero{position:relative;overflow:hidden}.hero.full{color:#fff;min-height:clamp(560px,88vh,840px);display:flex;align-items:flex-end}.hero.full .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 20s ease-out both}@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.hero.full .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,10,.15),rgba(20,16,10,.35) 45%,rgba(20,16,10,.88))}.hero.full .hero-in{position:relative;max-width:760px;padding:10rem 0 4.5rem}
.hero h1{font-size:clamp(2.6rem,7vw,5rem);margin-bottom:.55rem}.hero h1 em{font-style:normal;color:var(--b)}.hero .lead{font-size:1.14rem;opacity:.94;max-width:610px;margin:0}
/* hero: block */
.hero.block{background:var(--a);color:#fff}.hero.block .grid2{display:grid;grid-template-columns:1.05fr 1fr;min-height:clamp(560px,82vh,780px)}.hero.block .hero-in{padding:4rem clamp(1.25rem,5vw,4.5rem) 4rem max(1.25rem,calc((100vw - 1160px)/2));align-self:center}.hero.block .pic{position:relative;min-height:340px}.hero.block .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero.block .pic .tag{position:absolute;left:0;bottom:2rem;background:var(--b);color:#111;font-weight:800;padding:.75rem 1.2rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}
.statbar{background:var(--b);color:#111}.statbar .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.3rem 0}.statbar b{display:block;font-family:var(--f1);font-size:1.9rem;line-height:1;letter-spacing:-.02em}.statbar span{font-size:.88rem;font-weight:600}
/* hero: split */
.hero.split{background:radial-gradient(circle at 80% 20%,rgba(46,196,182,.16),transparent 55%),var(--bg)}.hero.split .grid2{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;min-height:clamp(560px,84vh,780px);padding:3rem 0}
.hero.split .pic{position:relative;height:clamp(440px,70vh,640px)}.hero.split .pic img{position:absolute;object-fit:cover;border-radius:var(--r);box-shadow:0 30px 70px rgba(0,0,0,.45)}.hero.split .p1{top:0;right:0;width:74%;height:82%}.hero.split .p2{left:0;bottom:0;width:50%;height:52%;border:5px solid var(--bg)}
.hcard{position:absolute;right:4%;bottom:4%;background:var(--b);color:#062a27;border-radius:var(--r);padding:.95rem 1.25rem;box-shadow:0 18px 40px rgba(0,0,0,.35);font-size:.9rem;line-height:1.35;font-weight:600}.hcard b{display:block;font-family:var(--f1);font-size:1.15rem}
.hero.split h1{font-size:clamp(2.3rem,4.6vw,3.9rem)}.hero.split .badges span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
/* hero: framed */
.hero.framed{padding:1.2rem 0 0}.hero.framed .frame{position:relative;border-radius:calc(var(--r)*2);overflow:hidden;min-height:clamp(560px,82vh,760px);display:flex;align-items:flex-end}.hero.framed .frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero.framed .frame:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,19,.82),rgba(15,17,19,.25) 70%)}
.hero.framed .hero-in{position:relative;z-index:2;color:#fff;max-width:700px;padding:3rem clamp(1.4rem,5vw,3.5rem)}.hero.framed .chip{position:absolute;z-index:2;top:1.4rem;right:1.4rem;background:#fff;color:var(--fg);border-radius:99px;padding:.55rem 1rem;font-weight:800;font-size:.9rem;box-shadow:0 10px 30px rgba(0,0,0,.25)}.hero.framed .chip i{color:var(--b);font-style:normal}
@media(max-width:880px){.hero.block .grid2,.hero.split .grid2{grid-template-columns:1fr}.hero.block .pic{order:-1;min-height:280px}.hero.block .hero-in{padding:2.6rem 1.25rem 3rem}.hero.split .grid2{gap:2rem;min-height:0;padding:2rem 0 3rem}.hero.split .pic{height:380px;order:-1}.statbar .wrap{grid-template-columns:1fr;gap:.6rem}.statbar b{font-size:1.5rem;display:inline;margin-right:.4rem}.hero.framed .frame{min-height:600px}.hero.framed .frame:after{background:linear-gradient(180deg,rgba(15,17,19,.2),rgba(15,17,19,.88) 60%)}}
section.s{padding:clamp(4rem,9vw,6.5rem) 0}.alt{background:var(--c)}.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}@media(max-width:880px){.two{grid-template-columns:1fr}}
.stack{position:relative;min-height:460px;margin:0}.stack img{position:absolute;object-fit:cover;border-radius:var(--r);box-shadow:0 24px 50px rgba(0,0,0,.22)}.stack .a1{left:0;top:0;width:72%;height:80%}.stack .a2{right:0;bottom:0;width:52%;height:56%;border:6px solid var(--bg)}
.alt .stack .a2{border-color:var(--c)}
.ticks{list-style:none;padding:0;margin:1.2rem 0 0}.ticks li{padding:.45rem 0 .45rem 1.9rem;position:relative}.ticks li:before{content:'';position:absolute;left:0;top:.95rem;width:11px;height:11px;border-radius:50%;background:var(--b)}
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.2rem}.feat{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;color:#fff;text-decoration:none}.feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.6s}.feat:hover img{transform:scale(1.05)}.feat div{position:absolute;inset:auto 0 0 0;padding:4rem 1.3rem 1.3rem;background:linear-gradient(transparent,rgba(0,0,0,.88))}.feat h3{margin:0 0 .25rem;color:#fff}.feat p{margin:0;font-size:.93rem;opacity:.9}.feat .price{display:inline-block;margin-top:.6rem;font-size:.8rem;font-weight:700;background:var(--b);color:#062a27;padding:.2rem .65rem;border-radius:99px}
@media(max-width:880px){.feat{aspect-ratio:4/3}}
.svcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.2rem}.svc{display:grid;grid-template-columns:130px 1fr;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.25s}.svc:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.12)}.svc img{width:100%;height:100%;object-fit:cover;min-height:130px}.svc div{padding:1.1rem 1.2rem}.svc h3{margin:0 0 .25rem}.svc p{margin:0;color:var(--mut);font-size:.95rem;line-height:1.5}.svc .price{display:inline-block;margin-top:.6rem;background:var(--b);color:#062a27;font-weight:700;font-size:.8rem;padding:.22rem .7rem;border-radius:99px}
.svcs.big .svc{grid-template-columns:1fr}.svcs.big .svc img{aspect-ratio:16/10;height:auto}
.glass{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.2rem}.gl{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.gl img{width:100%;aspect-ratio:16/11;object-fit:cover}.gl div{padding:1.2rem 1.3rem 1.4rem}.gl h3{margin:0 0 .3rem}.gl p{margin:0;color:var(--mut);font-size:.95rem}.gl .price{display:inline-block;margin-top:.7rem;color:var(--b);font-weight:700;font-size:.85rem}
.rows{display:grid;gap:1rem}.row{display:grid;grid-template-columns:64px 1fr auto;gap:1.1rem;align-items:center;padding:1.2rem 1.3rem;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}.row .ic{width:64px;height:64px;border-radius:var(--r);object-fit:cover}.row h3{margin:0;font-size:1.2rem}.row p{margin:.15rem 0 0;color:var(--mut);font-size:.94rem;line-height:1.45}.row .price{font-weight:800;color:var(--b);white-space:nowrap}@media(max-width:600px){.row{grid-template-columns:56px 1fr}.row .ic{width:56px;height:56px}.row .price{grid-column:2}}
.ptable{max-width:620px;margin:2.4rem auto 0;background:var(--card);border-radius:var(--r);border:2px solid var(--b);overflow:hidden}.ptable h3{margin:0;background:var(--b);color:#fff;padding:1rem 1.4rem;font-size:1.15rem}.ptable ul{list-style:none;margin:0;padding:.4rem 1.4rem}.ptable li{display:flex;justify-content:space-between;padding:.8rem 0;border-bottom:1px dashed var(--line);font-weight:600}.ptable li:last-child{border:0}.ptable li b{color:var(--b);font-size:1.15rem}.ptable p{margin:0;padding:0 1.4rem 1.1rem;color:var(--mut);font-size:.85rem}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;counter-reset:s}.step{background:var(--card);border-radius:var(--r);padding:1.6rem;border:1px solid var(--line);border-top:4px solid var(--b)}.step:before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--a);color:#fff;font-family:var(--f1);font-size:1.4rem;font-weight:700;margin-bottom:.8rem}.step h3{margin:0 0 .3rem}.step p{margin:0;color:var(--mut)}@media(max-width:880px){.steps{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0}.chips span{background:var(--card);border:1px solid var(--line);border-radius:99px;padding:.42rem .95rem;font-weight:600;font-size:.92rem}
.strip{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:230px;gap:10px}.strip a:first-child{grid-row:span 2}.strip img{width:100%;height:100%;object-fit:cover;transition:.4s}.strip a{overflow:hidden;border-radius:var(--r)}.strip a:hover img{transform:scale(1.06)}@media(max-width:700px){.strip{grid-template-columns:1fr 1fr;grid-auto-rows:150px}}
.gal{columns:3 250px;column-gap:10px}.gal a{display:block;margin-bottom:10px;border-radius:var(--r);overflow:hidden;break-inside:avoid;position:relative}.gal img{width:100%;transition:.4s}.gal a:hover img{transform:scale(1.04)}
.ba{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:900px;margin:0 auto}.ba figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden}.ba img{width:100%;aspect-ratio:1;object-fit:cover}.ba figcaption{position:absolute;left:.8rem;top:.8rem;background:var(--a);color:#fff;font-weight:800;font-size:.8rem;padding:.3rem .7rem;text-transform:uppercase;letter-spacing:.08em}.ba figure+figure figcaption{background:var(--b);color:#111}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.2rem}.quotes blockquote{margin:0;padding:1.6rem;background:var(--card);border-radius:var(--r);border:1px solid var(--line);border-top:4px solid var(--b);font-size:1.08rem;line-height:1.5}.quotes .stars{color:var(--b);letter-spacing:.15em;display:block;margin-bottom:.4rem}.quotes cite{display:block;margin-top:.9rem;font-style:normal;font-size:.8rem;color:var(--mut);letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.rates{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.8rem}.rate{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.6rem;text-align:center;min-width:220px}.rate b{display:block;font-family:var(--f1);font-size:2.3rem;color:var(--b);line-height:1.1}.rate span{color:var(--mut);font-size:.9rem;font-weight:600}
.noreview{max-width:620px;margin:0 auto;text-align:center;background:var(--card);border:1px dashed var(--line);border-radius:var(--r);padding:2rem 1.6rem}.noreview p{color:var(--mut);margin:.4rem 0 1.2rem}
.pull{font-family:var(--f1);font-size:clamp(1.3rem,2.6vw,1.75rem);line-height:1.35;border-left:4px solid var(--b);padding-left:1.2rem;margin:1.8rem 0;}.pull small{display:block;font-family:var(--f2);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-top:.6rem;font-style:normal}
.band{background:var(--a);color:#fff;text-align:center;padding:4.5rem 0}.band h2{color:#fff}.band p{opacity:.88;margin:0 auto;max-width:560px}.band .cta{justify-content:center}
.phero{position:relative;color:#fff;padding:9rem 0 3.6rem;overflow:hidden}.phero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.phero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.8))}.phero .wrap{position:relative}.phero h1{font-size:clamp(2.3rem,6vw,4rem)}.phero p{opacity:.9;margin:0;max-width:640px}
dl.info{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem 1.4rem;margin:1.4rem 0}dl.info dt{font-weight:800;color:var(--b);text-transform:uppercase;font-size:.74rem;letter-spacing:.15em;padding-top:.3rem}dl.info dd{margin:0;min-width:0;overflow-wrap:anywhere}dl.info a{color:inherit;font-weight:700}
.hours{width:100%;border-collapse:collapse;margin:1rem 0}.hours td{padding:.7rem 0;border-bottom:1px solid var(--line)}.hours td:last-child{text-align:right;font-weight:700}
.map iframe{width:100%;height:460px;border:0;border-radius:var(--r);filter:grayscale(.2) invert(.9) hue-rotate(180deg)}
.foot{background:#080b0d;color:#cfcfcf;padding:3rem 0 6.5rem;text-align:center;font-size:.92rem}.foot b{font-family:var(--f1);font-size:1.55rem;color:#fff;font-weight:600;letter-spacing:-.02em}.foot a{color:#fff}.foot p{margin:.4rem 0}.foot .ex{margin-top:1.6rem;font-size:.74rem;opacity:.55}
.mbar{position:fixed;left:0;right:0;bottom:0;display:none;z-index:50;background:var(--a);box-shadow:0 -6px 20px rgba(0,0,0,.25);padding-bottom:env(safe-area-inset-bottom)}.mbar a{flex:1;text-align:center;color:#fff;text-decoration:none;font-weight:700;padding:15px 4px;font-size:.95rem}.mbar a.call{background:var(--b);color:#062a27}.mbar a+a{border-left:1px solid rgba(255,255,255,.18)}@media(max-width:880px){.mbar{display:flex}}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:99;padding:1rem}.lb.on{display:flex}.lb img{max-height:86vh;max-width:94vw;border-radius:6px}.lb p{position:absolute;bottom:1.2rem;color:#fff;width:100%;text-align:center;margin:0;padding:0 1rem}.lb button{position:absolute;top:1rem;right:1rem;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer}
.hero.framed .chip{white-space:nowrap}@media(max-width:880px){.hero.framed .hero-in{padding-top:5rem}}@media(max-width:480px){.brand b{font-size:1.02rem;white-space:normal;line-height:1.12}.brand small{display:none}.brand svg{width:34px;height:34px}}
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.hero .bgimg{animation:none}}
