@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Jost:wght@300;400;500;600&display=swap');
:root{--bg:#0c0c0e;--bg2:#141416;--gold:#c9a24b;--gold2:#e7c976;--ink:#ececec;--muted:#9a958c;--line:#262629}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Jost',sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;font-weight:300}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.1;letter-spacing:.01em}
section{padding:92px 0}
/* header */
.ls-head{position:sticky;top:0;z-index:50;background:rgba(12,12,14,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.ls-nav{display:flex;align-items:center;justify-content:space-between;height:80px}
.ls-logo{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;letter-spacing:.04em}
.ls-logo b{color:var(--gold);font-weight:600}
.ls-menu{display:flex;gap:34px}
.ls-menu a{font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);transition:.2s}
.ls-menu a:hover,.ls-menu a.active{color:var(--gold)}
.ls-burger{display:none;font-size:1.6rem;background:none;border:none;color:var(--ink);cursor:pointer}
/* hero */
.hero{position:relative;min-height:90vh;display:flex;align-items:center;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.42)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,14,.3),rgba(12,12,14,.85))}
.hero-in{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 28px;width:100%}
.hero .tag{display:inline-block;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.hero h1{font-size:clamp(3rem,8vw,6.5rem);font-weight:500;max-width:16ch}
.hero h1 em{font-style:italic;color:var(--gold2)}
.hero p{max-width:48ch;margin:24px 0 34px;font-size:1.12rem;color:#d8d3c9}
.btn{display:inline-block;border:1px solid var(--gold);color:var(--gold);font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;padding:16px 38px;transition:.3s;background:transparent;cursor:pointer;font-family:'Jost',sans-serif}
.btn:hover{background:var(--gold);color:#0c0c0e}
.btn-fill{background:var(--gold);color:#0c0c0e}
.btn-fill:hover{background:var(--gold2)}
/* sec head */
.sec-head{max-width:680px;margin:0 auto 56px;text-align:center}
.lab{display:inline-block;font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.sec-head h2{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:500}
.sec-head p{color:var(--muted);margin-top:16px;font-size:1.08rem}
/* services */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.gcard{background:var(--bg2);border:1px solid var(--line);padding:48px 34px;text-align:center;transition:.3s}
.gcard:hover{border-color:var(--gold);transform:translateY(-6px)}
.gcard .ic{width:54px;height:54px;margin:0 auto 22px}
.gcard h3{font-size:1.6rem;margin-bottom:12px}
.gcard p{color:var(--muted);font-size:.98rem}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gal a{position:relative;overflow:hidden}
.gal img{height:300px;width:100%;object-fit:cover;filter:grayscale(.2) brightness(.85);transition:.5s}
.gal a:hover img{filter:none;transform:scale(1.05)}
.gal a.tall{grid-row:span 2}
.gal a.tall img{height:614px}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split-img{position:relative}
.split-img img{height:520px;width:100%;object-fit:cover}
.split-img::after{content:"";position:absolute;inset:14px;border:1px solid var(--gold);pointer-events:none}
/* stats */
.band{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.stat .n{font-family:'Cormorant Garamond',serif;font-size:3.6rem;font-weight:600;color:var(--gold)}
.stat .l{color:var(--muted);font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;margin-top:4px}
/* price */
.price{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.pcard{background:var(--bg2);border:1px solid var(--line);padding:44px 34px;text-align:center;transition:.3s}
.pcard.hot{border-color:var(--gold)}
.pcard h3{font-size:1.8rem;margin-bottom:8px}
.pcard .amt{font-family:'Cormorant Garamond',serif;font-size:3rem;color:var(--gold);margin-bottom:6px}
.pcard .amt small{font-size:1rem;color:var(--muted)}
.pcard ul{list-style:none;margin:22px 0 28px;text-align:left}
.pcard li{padding:9px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.95rem}
.pcard li::before{content:"—";color:var(--gold);margin-right:10px}
/* quote */
.quote{max-width:920px;margin:0 auto;text-align:center}
.quote p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,4vw,3rem);font-style:italic;line-height:1.3}
.quote p span{color:var(--gold)}
.quote .who{margin-top:24px;color:var(--gold);font-size:.82rem;letter-spacing:.22em;text-transform:uppercase}
/* form */
.form{display:grid;gap:18px;max-width:580px}
.form input,.form select,.form textarea{font-family:'Jost',sans-serif;font-size:1rem;padding:16px 18px;background:var(--bg2);border:1px solid var(--line);color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--gold)}
.form textarea{min-height:130px;resize:vertical}
.ok{display:none;border:1px solid var(--gold);color:var(--gold);padding:14px 18px}
.info-row{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}
.info-row b{display:block;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.map{margin-top:24px;border:1px solid var(--line)}
.map iframe{width:100%;height:330px;display:block;filter:grayscale(1) invert(.9) contrast(.85)}
/* legal */
.legal{max-width:840px;margin:0 auto}
.legal h1{font-size:3rem;font-weight:500;margin-bottom:8px}
.legal .upd{color:var(--muted);margin-bottom:36px;letter-spacing:.1em;text-transform:uppercase;font-size:.82rem}
.legal h2{font-size:1.7rem;margin:34px 0 10px;color:var(--gold2)}
.legal p{color:#c2bdb3;margin-bottom:12px}
/* footer */
.ls-foot{background:var(--bg2);border-top:1px solid var(--line);padding:70px 0 34px}
.ls-foot .top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:44px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.ls-foot .logo{font-family:'Cormorant Garamond',serif;font-size:1.8rem;margin-bottom:14px}
.ls-foot .logo b{color:var(--gold)}
.ls-foot p{color:var(--muted);font-size:.95rem}
.ls-foot h4{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-family:'Jost',sans-serif;font-weight:500}
.ls-foot a{display:block;margin-bottom:9px;color:var(--muted);transition:.2s}
.ls-foot a:hover{color:var(--gold)}
.ls-foot .bot{padding-top:26px;font-size:.85rem;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
/* cookie */
.cookie{position:fixed;left:24px;bottom:24px;right:24px;max-width:460px;background:var(--bg2);border:1px solid var(--gold);padding:24px;z-index:99;display:none}
.cookie p{font-size:.9rem;color:var(--muted);margin-bottom:16px}
.cookie .row{display:flex;gap:12px}
.cookie button{font-family:'Jost',sans-serif;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:11px 20px;cursor:pointer;border:1px solid var(--gold)}
.cookie .acc{background:var(--gold);color:#0c0c0e}
.cookie .dec{background:transparent;color:var(--gold)}
/* reveal */
.reveal{opacity:0;transform:translateY(34px);transition:.8s}
.reveal.in{opacity:1;transform:none}
@media(max-width:900px){.ls-menu{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;background:var(--bg2);padding:22px 28px;border-bottom:1px solid var(--line);gap:18px}.ls-menu.open{display:flex}.ls-burger{display:block}
.grid3,.stats,.price{grid-template-columns:1fr}.gal{grid-template-columns:1fr 1fr}.gal a.tall{grid-row:auto}.gal a.tall img{height:300px}.split{grid-template-columns:1fr}.split-img img{height:380px}.ls-foot .top{grid-template-columns:1fr}}
