:root{--bg:#fff;--soft:#f5f5f3;--soft2:#eeede9;--ink:#25282c;--muted:#6b6e73;--gold:#b08d4f;--gold-soft:#ead9b3;--rule:#e8e8e6;--dark:#0d0f12;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--bg);line-height:1.65;font-size:16.5px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12}
h1{font-size:clamp(34px,4.6vw,60px)}h2{font-size:clamp(30px,3.4vw,44px)}h3{font-size:24px}.h3{font-size:28px;margin:44px 0 14px}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}picture{display:block;width:100%;height:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}.narrow{max-width:800px}
section{padding:100px 0}.pt0{padding-top:0}.soft{background:var(--soft)}.center{text-align:center}.small{font-size:13px}
.kicker{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:12px}.kicker.light{color:var(--gold-soft)}
.rule{width:56px;height:1px;background:var(--gold);margin:22px 0}
.muted{color:var(--muted)}.lead{font-size:16.5px;line-height:1.75;color:var(--muted);margin-bottom:18px}.lead strong{font-weight:500;color:var(--ink)}.lead.big{font-family:var(--serif);font-size:24px;line-height:1.5;color:var(--ink);max-width:900px}
.btn{display:inline-block;padding:14px 30px;border:1px solid var(--gold);color:var(--ink);font-size:12px;letter-spacing:2.4px;text-transform:uppercase;font-weight:500;background:none;font-family:var(--sans);cursor:pointer;transition:.3s}
.btn:hover{background:var(--gold);color:#fff}.btn.btn-solid{background:var(--dark);color:#fff;border-color:var(--dark)}.btn.btn-solid:hover{background:var(--gold);border-color:var(--gold)}
.btn.btn-light{border-color:rgba(255,255,255,.85);color:#fff}.btn.btn-light:hover{background:#fff;color:var(--ink)}.btn.btn-white{background:#fff;color:var(--ink);border-color:#fff}
.ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.grid-5-6{display:grid;grid-template-columns:5fr 6fr;gap:80px;align-items:start}.grid-4-7{display:grid;grid-template-columns:4fr 7fr;gap:80px;align-items:start}.grid-7-4{display:grid;grid-template-columns:7fr 4fr;gap:70px;align-items:start}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.head{margin-bottom:52px}.head.center{text-align:center;max-width:680px;margin-left:auto;margin-right:auto}.head.row{display:flex;justify-content:space-between;align-items:end;gap:20px}
.skip{position:absolute;left:-9999px}.hp{position:absolute;left:-9999px;height:0;width:0;border:0;padding:0}
/* header */
header{position:fixed;top:0;left:0;right:0;z-index:100;padding:22px 0;transition:background .4s,padding .4s,box-shadow .4s;color:#fff}
header.scrolled,header.hdr-light{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);color:var(--ink);padding:12px 0;box-shadow:0 1px 0 var(--rule)}
.hwrap{max-width:1240px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}
.brand{font-family:var(--serif);font-size:24px;letter-spacing:6px;text-transform:uppercase;line-height:1}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:3.2px;color:var(--gold);margin-top:5px;text-transform:uppercase}
nav#navLinks{display:flex;gap:26px;align-items:center;font-size:11.5px;letter-spacing:2px;text-transform:uppercase}nav#navLinks a{opacity:.85}nav#navLinks a:hover{opacity:1;color:var(--gold)}
.lang-switch{display:flex;gap:2px;margin-left:10px}.lang-switch a{padding:4px 8px;border-radius:20px;font-size:10.5px;opacity:.7}.lang-switch a.active{background:var(--gold);color:#fff;opacity:1}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;align-items:center}.burger span{display:block;width:24px;height:1.5px;background:currentColor;transition:.3s}
body.menu-open .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}body.menu-open .burger span:nth-child(2){opacity:0}body.menu-open .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
/* hero */
.hero{position:relative;height:88vh;min-height:620px;display:flex;align-items:flex-end;padding:0 0 84px;color:#fff;overflow:hidden;background:var(--dark)}
.hero picture,.hero .hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,12,16,.78) 0%,rgba(10,12,16,.3) 50%,rgba(10,12,16,.12) 100%)}
.hero-inner{position:relative;z-index:2}.hero h1{max-width:860px;font-weight:400;font-size:clamp(38px,5.2vw,70px)}.hero h1 em{font-style:italic;color:var(--gold-soft)}.hero .sub{max-width:580px;margin:22px 0 0;font-size:17px;color:rgba(255,255,255,.88)}
.hero-loc{height:72vh;min-height:520px}.hero-loc h1{font-size:clamp(32px,4.2vw,54px)}
/* pos */
.pos h2{font-size:clamp(34px,3.8vw,48px)}
/* tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tiles.small .tile{aspect-ratio:16/9}.tile{position:relative;aspect-ratio:3/4;overflow:hidden;color:#fff;background:var(--dark);display:block}
.tile picture,.tile .tile-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s}.tile picture{position:absolute;inset:0;width:100%;height:100%}.tile:hover .tile-img{transform:scale(1.04)}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,12,16,.78),rgba(10,12,16,0) 60%)}.tile .t{position:absolute;left:28px;right:28px;bottom:26px;z-index:2}.tile h3{font-size:32px;margin:4px 0 8px}.tile p{font-size:14px;color:rgba(255,255,255,.85)}
/* pillars */
.plist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:38px 48px}.plist li{border-top:1px solid var(--rule);padding-top:22px}.plist li span{font-family:var(--serif);font-size:15px;color:var(--gold);letter-spacing:2px}.plist h3{font-size:24px;margin:8px 0}.plist p{color:var(--muted);font-size:15px}
/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.card{display:block}.card-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--soft2)}.card-img picture,.card-pic{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s}.card:hover .card-pic{transform:scale(1.04)}
.badge{position:absolute;top:14px;left:14px;background:#fff;color:var(--ink);font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:6px 10px;font-weight:500}.badge.gold{background:var(--gold);color:#fff}
.card .loc{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);margin:18px 0 6px}.card h3{font-size:26px}.card .specs{font-size:13px;color:var(--muted);margin-top:6px}.card .price{font-family:var(--serif);font-size:20px;margin-top:8px}.card .price small{font-family:var(--sans);font-size:11px;letter-spacing:1px;color:var(--muted);margin-left:6px}
/* dan */
.dan{background:var(--soft2);padding:0}.dan-grid{display:grid;grid-template-columns:5fr 7fr;gap:0;padding:0;max-width:1180px}.dan-photo picture,.dan-img{width:100%;height:100%;object-fit:cover;min-height:520px}.dan-txt{padding:90px 80px;align-self:center}
/* services */
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.sgrid>div{padding:38px 34px;border:1px solid var(--rule);background:#fff}.sgrid h3{font-size:26px;margin-bottom:10px}.sgrid p{color:var(--muted);font-size:15px}.sgrid a{display:inline-block;margin-top:18px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold)}
.sblock{padding:56px 0;border-top:1px solid var(--rule)}.sblock .num{font-family:var(--serif);color:var(--gold);letter-spacing:2px}
/* pareus band */
.pareus{padding:0}.pareus-inner{display:grid;grid-template-columns:1fr 1fr;background:var(--soft)}.pareus-inner picture,.pareus-img{width:100%;height:100%;object-fit:cover;min-height:380px}.pareus .txt{padding:70px 72px;align-self:center}.pareus h2{font-size:38px}.pareus p{color:var(--muted);margin:14px 0 24px}
.strip3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.strip-img,.lph{width:100%;aspect-ratio:4/3;object-fit:cover}.about-img{width:100%;aspect-ratio:3/4;object-fit:cover}
/* contact */
.contact-list{list-style:none;margin-top:30px}.contact-list li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:15px}.contact-list .label{width:110px;flex:none;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);padding-top:3px}
.cform{background:var(--soft);padding:34px 32px;border:1px solid var(--rule)}.cform-sub{color:var(--muted);margin-bottom:18px;font-size:15px}
.field{margin-bottom:14px}.field label{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.field input,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--rule);background:#fff;font-family:var(--sans);font-size:15px;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:10px 0 6px}.consent input{margin-top:5px}.priv-inline{font-size:12px;margin-bottom:16px}.priv-inline a{color:var(--gold);text-decoration:underline}
.form-msg{font-size:14px;margin-top:12px;min-height:1.2em}.form-msg.ok{color:#2f7d4f}.form-msg.err{color:#b23b3b}
/* footer */
footer{background:var(--dark);color:#9a9ea6;padding:64px 0 34px;font-size:13.5px}.fcols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}footer .brand{color:#fff;font-size:20px}footer h4{color:#fff;font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:2.4px;text-transform:uppercase;margin-bottom:14px}footer ul{list-style:none}footer li{margin-bottom:8px}footer a:hover{color:var(--gold)}.nap{margin-top:18px;line-height:1.7}.legal{border-top:1px solid #23262b;padding-top:22px;font-size:11.5px;line-height:1.7}.legal strong{color:#c9ccd2;font-weight:400}
#waFloat{position:fixed;right:20px;bottom:20px;z-index:150;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:transform .25s}#waFloat:hover{transform:scale(1.08)}
/* breadcrumb */
.crumbs{margin-bottom:22px;font-size:12px;letter-spacing:1px;color:var(--muted)}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.crumbs li+li:before{content:"›";margin-right:6px;color:var(--gold)}.crumbs a:hover{color:var(--gold)}
.ptop{padding:150px 0 40px}.ptop h1{margin:6px 0 16px}
/* property */
.phero{padding:0 0 30px}.phero-media{position:relative;height:70vh;min-height:480px;cursor:zoom-in;background:var(--soft2)}.phero-media picture,.phero-img{width:100%;height:100%;object-fit:cover;display:block}.phero-media .count{position:absolute;right:26px;bottom:22px;background:rgba(13,15,18,.72);color:#fff;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;padding:9px 14px}
.phero .wrap{padding-top:44px}.phero h1{font-size:clamp(28px,3.2vw,42px);max-width:960px}.pmeta{display:flex;flex-wrap:wrap;align-items:baseline;gap:18px 34px;margin-top:18px}.pname{font-family:var(--serif);font-size:24px;font-style:italic;color:var(--muted)}
.specline{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.specline li{font-size:12px;letter-spacing:.6px;background:var(--soft);padding:7px 12px;border:1px solid var(--rule)}.pmeta .price{font-family:var(--serif);font-size:26px}
.pgallery{padding:0 0 60px}.thumbs{display:grid;grid-template-columns:repeat(9,1fr);gap:8px}.th{position:relative;aspect-ratio:1;overflow:hidden;border:0;padding:0;background:var(--soft2);cursor:zoom-in}.th img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.th:hover img{transform:scale(1.06)}.th.more span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(13,15,18,.55);color:#fff;font-family:var(--serif);font-size:24px}
.pbody{padding:0 0 90px}.features{list-style:none}.features li{padding:10px 0 10px 24px;border-bottom:1px solid var(--rule);position:relative;color:var(--muted);font-size:15.5px}.features li:before{content:"";position:absolute;left:0;top:19px;width:12px;height:1px;background:var(--gold)}.features.small li{font-size:14px;padding:7px 0 7px 20px;border:0}.features.small li:before{top:16px}
.dist{margin:26px 0 10px;background:var(--soft);padding:26px 28px;border:1px solid var(--rule)}.dist ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 40px}.dist li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--rule);font-size:14.5px}.dist b{font-family:var(--serif);font-weight:500;color:var(--gold);font-size:17px}.dist small{font-family:var(--sans);font-size:10.5px;color:var(--muted);letter-spacing:.5px}
.plan{margin:10px 0 30px;border:1px solid var(--rule);padding:18px;background:#fff}.plan img{width:100%}.plan figcaption{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-top:12px}
.closing{font-family:var(--serif);font-size:22px;line-height:1.5;margin-top:34px;border-left:2px solid var(--gold);padding-left:22px}
.pside .sticky{position:sticky;top:90px}.specbox{border:1px solid var(--rule);padding:26px 28px;background:#fff}.specbox table{width:100%;border-collapse:collapse;font-size:14px}.specbox th{text-align:left;font-weight:500;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);padding:9px 10px 9px 0;border-bottom:1px solid var(--rule);width:42%;vertical-align:top}.specbox td{padding:9px 0;border-bottom:1px solid var(--rule);color:var(--ink)}.partner{font-size:12px;color:var(--muted);margin-top:14px;letter-spacing:.4px}
.expose-box{margin-top:18px;background:var(--soft);border:1px solid var(--rule);padding:24px 26px}.expose-box p{font-size:14px;color:var(--muted);margin-bottom:14px}.expose-box .btn{width:100%;text-align:center}
.advisor-mini{display:flex;gap:16px;align-items:center;margin-top:18px;padding:18px 20px;border:1px solid var(--rule);font-size:14px}.advisor-mini img{width:64px;height:84px;object-fit:cover;flex:none}.advisor-mini .kicker{margin-bottom:2px;font-size:10px}.advisor-mini a{color:var(--gold)}
/* location */
.lintro{padding:60px 0 40px}.lgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 60px}.lgrid h3{font-size:26px;margin-bottom:10px}.lgrid p{color:var(--muted);font-size:15.5px}
.faqlist details{border-top:1px solid var(--rule);padding:18px 0}.faqlist details:last-child{border-bottom:1px solid var(--rule)}.faqlist summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px}.faqlist summary::-webkit-details-marker{display:none}.faqlist summary h3{font-size:22px}.faqlist summary:after{content:"+";font-family:var(--serif);font-size:26px;color:var(--gold)}.faqlist details[open] summary:after{content:"–"}.faqlist p{color:var(--muted);margin-top:12px;font-size:15.5px;max-width:720px}
/* about */
.subtitle{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:8px}.figs{list-style:none;display:grid;grid-template-columns:1fr 1fr;}.figs.three{grid-template-columns:1fr 1fr 1fr;gap:16px 30px;margin:28px 0}.figs li{border-top:1px solid var(--rule);padding-top:12px}.figs b{font-family:var(--serif);font-size:30px;font-weight:500;display:block}.figs span{font-size:13px;color:var(--muted)}
.about-strip{padding:0 0 100px}
.privacy h2{font-size:24px;margin:34px 0 10px}.privacy h3{font-size:18px;margin:22px 0 6px;font-family:var(--sans);font-weight:500}.privacy p{color:var(--muted);margin-bottom:12px;font-size:15px}
/* lightbox / modal */
.lightbox{position:fixed;inset:0;background:rgba(8,9,11,.96);z-index:200;display:none;align-items:center;justify-content:center;flex-direction:column}.lightbox.open{display:flex}.lightbox img{max-width:min(92vw,1300px);max-height:78vh;object-fit:contain;touch-action:pan-y;user-select:none}
.lb-close{position:absolute;top:18px;right:22px;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:0;color:#fff;font-size:44px;width:56px;height:80px;cursor:pointer}.lb-prev{left:12px}.lb-next{right:12px}.lb-count{color:#9aa0a8;font-size:12px;letter-spacing:2px;margin-top:14px}.lb-cap{color:#e8e6e1;font-family:var(--serif);font-size:18px;margin-top:6px;text-align:center;padding:0 20px}
.modal{position:fixed;inset:0;background:rgba(13,15,18,.72);z-index:210;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-card{background:#fff;max-width:520px;width:100%;padding:38px 36px;position:relative;max-height:92vh;overflow:auto}.modal-close{position:absolute;top:14px;right:16px;background:none;border:0;font-size:20px;cursor:pointer;color:var(--muted)}.modal-card h3{font-size:28px;margin-bottom:6px}.modal-sub{color:var(--muted);font-size:14px;margin-bottom:20px}
/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1);transition-delay:var(--d,0s)}.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:960px){
  .grid-5-6,.grid-4-7,.grid-7-4,.dan-grid,.pareus-inner,.lgrid,.plist,.figs,.grid-2{grid-template-columns:1fr;gap:34px}.tiles,.cards,.sgrid,.strip3{grid-template-columns:1fr}.fcols{grid-template-columns:1fr 1fr}
  section{padding:70px 0}.dan-txt{padding:50px 32px}.pareus .txt{padding:44px 32px}.thumbs{grid-template-columns:repeat(4,1fr)}.dist ul{grid-template-columns:1fr}.pside .sticky{position:static}
  nav#navLinks{position:fixed;inset:0;background:#fff;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:26px;font-size:15px;transform:translateX(100%);transition:transform .35s;z-index:99}body.menu-open nav#navLinks{transform:none}body.menu-open{overflow:hidden}.burger{display:flex;position:relative;z-index:100}body.menu-open header{color:var(--ink)}
  .hero{height:78vh;padding-bottom:60px}.wrap{padding:0 22px}.lb-nav{width:44px;height:64px;font-size:34px}
}
