@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500;600&display=swap");
:root{--ivory:#f3efe7;--ink:#171716;--taupe:#8c8173;--bronze:#a88a5a;--stone:#d8d0c3;--sage:#727665}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.nav{position:fixed;top:0;z-index:5;width:100%;display:flex;justify-content:space-between;align-items:center;padding:26px 5vw;color:var(--ivory);mix-blend-mode:difference}.brand{font-size:.75rem;letter-spacing:.16em;line-height:1.3}.navlinks{display:flex;gap:28px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.menu{display:none}.hero{min-height:100svh;background:#171716;color:var(--ivory);position:relative;overflow:hidden;display:grid;place-items:center;padding:10vh 8vw}.hero canvas{position:absolute;inset:0;width:100%;height:100%}.hero:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 65% 40%,#a88a5a18,transparent 42%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:680px;margin-right:auto}.eyebrow,.label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}h1,h2{font-family:'Playfair Display',serif;font-weight:500;line-height:.98;margin:22px 0}h1{font-size:clamp(3.8rem,8vw,8rem)}h2{font-size:clamp(2.7rem,5vw,5.5rem)}p{line-height:1.7;color:#665f56;max-width:580px}.hero p{color:#d8d0c3}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{padding:15px 22px;border:1px solid var(--bronze);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;transition:.3s}.btn.primary{background:var(--bronze);color:#fff}.btn:hover{transform:translateY(-4px);background:var(--ink);color:#fff}.scroll{position:absolute;bottom:30px;left:8vw;font-size:.65rem;letter-spacing:.18em;color:var(--stone)}section{padding:120px 8vw}.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;background:var(--stone);padding-top:55px;padding-bottom:55px}.stat{border-left:1px solid #8c817355;padding-left:18px}.stat strong{display:block;font:500 2.5rem 'Playfair Display';margin-bottom:8px}.stat span{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--taupe)}.split{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.visual{min-height:460px;background:linear-gradient(135deg,#24231f,#8c8173);position:relative;overflow:hidden}.visual:before,.visual:after{content:'';position:absolute;background:#d8d0c3aa;transform:skewY(-25deg);box-shadow:30px 40px 70px #0005}.visual:before{width:55%;height:72%;left:24%;top:20%}.visual:after{width:70%;height:10%;left:10%;top:55%}.services{background:#e7e1d7}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{min-height:245px;padding:25px;background:var(--ivory);border:1px solid #8c817333;transition:.35s}.card:hover{transform:translateY(-8px) rotateX(2deg);box-shadow:0 18px 35px #17171614}.num{font-size:.7rem;color:var(--bronze);letter-spacing:.15em}.card h3{font:500 1.7rem 'Playfair Display';margin-top:80px}.properties{background:var(--ink);color:var(--ivory)}.properties p{color:var(--stone)}.properties .card{background:#262521;color:var(--ivory);min-height:280px}.properties .card p{font-size:.9rem}.locations{background:var(--stone)}.location-card{padding:45px;background:var(--ivory);min-height:260px}.location-card h3{font:500 2.8rem 'Playfair Display';margin:15px 0}.contact{background:#24231f;color:var(--ivory)}.contact p{color:var(--stone)}.contact .label{color:var(--bronze)}footer{padding:55px 8vw;background:#111;color:var(--stone);display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;font-size:.78rem}footer a{display:block;margin:8px 0;color:#aaa}.reveal{opacity:0;transform:translateY(25px)}@media(max-width:700px){.navlinks{display:none}.menu{display:block}.hero{padding:120px 7vw}.split{grid-template-columns:1fr}.trust{grid-template-columns:repeat(2,1fr)}section{padding:80px 7vw}.cards{grid-template-columns:1fr}.visual{min-height:330px}.section-head{display:block}footer{grid-template-columns:1fr 1fr}.brand{max-width:170px}}
