@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');:root{--navy:#102b38;--gold:#c9ad79;--cream:#f7f6f2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--navy);font-family:'DM Sans',Arial,sans-serif}a{text-decoration:none;color:inherit}.header{height:86px;display:flex;justify-content:space-between;align-items:center;padding:0 max(5vw,22px);background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 15px #0000000d}.brand{font-size:19px;letter-spacing:.14em;font-weight:700;line-height:1.2}.brand small{display:block;font-size:9px;letter-spacing:.23em;margin-top:6px}.header nav{display:flex;gap:30px;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.header nav a:hover,.text-link:hover{color:#aa8b57}.menu{display:none;background:none;border:0;font-size:24px}.hero{height:min(780px,85vh);min-height:540px;position:relative;color:white;display:flex;align-items:center}.slides,.slide,.hero-shade{position:absolute;inset:0}.slide{background-size:cover;background-position:center;opacity:0;transition:opacity 1.3s}.slide.active{opacity:1}.hero-shade{background:linear-gradient(90deg,#061c2bc4,#061c2b35 75%)}.hero-content{position:relative;z-index:2;margin-left:9%;max-width:800px}.eyebrow{letter-spacing:.28em;font-size:12px;color:#e5c996;font-weight:700}.eyebrow.dark{color:#a58c60}.hero h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500}.hero h1{font-size:clamp(48px,6.5vw,96px);line-height:1.12;margin:22px 0}.hero h1 em{color:#f3d6a5}.hero p{font-size:18px;line-height:1.7;max-width:570px;margin-bottom:35px}.btn{display:inline-block;background:var(--gold);padding:17px 29px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#132935}.btn:hover{background:#f0d4a3}.dots{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:3}.dots button{width:9px;height:9px;border-radius:50%;background:#ffffff70;border:0;cursor:pointer}.dots button.selected{background:#fff}.intro{padding:95px max(5vw,22px);text-align:center;background:var(--cream)}h2{font-size:clamp(35px,4vw,56px);margin:12px 0 20px}.intro>p{color:#60727b;margin-bottom:50px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;max-width:1320px;margin:auto;text-align:left}.card{background:white;box-shadow:0 8px 25px #102b380d;overflow:hidden}.card-image{height:230px;background-size:cover;background-position:center;transition:transform .3s}.card:hover .card-image{transform:scale(1.025)}.card-content{padding:25px}.card-content span{font-size:10px;letter-spacing:.18em;color:#a58c60}.card h3{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:10px 0}.card p{font-size:13px;color:#60727b}.services{background:#102b38;color:white;padding:100px max(5vw,22px);text-align:center}.service-grid{max-width:1200px;margin:50px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.service-grid article{border-top:1px solid #c9ad79;padding-top:20px;text-align:left}.service-grid h3{font-family:Georgia,serif;font-weight:400;font-size:25px}.service-grid p{color:#c3d1d6;line-height:1.8}.about{display:grid;grid-template-columns:1fr 1.3fr;gap:7%;align-items:center;padding:100px 10%}.about img{width:100%;max-width:400px}.about p{font-size:17px;line-height:1.9;color:#546874}.text-link{font-weight:700;color:#a58c60}.contact{padding:100px 20px;text-align:center;background:linear-gradient(#102b38c9,#102b38c9),url('assets/miami-bay.webp') center/cover;color:white}.contact p{margin:0 auto 32px;max-width:600px;line-height:1.8}footer{padding:25px 5%;font-size:12px;color:#6d7c83;display:flex;justify-content:space-between;gap:20px}@media(max-width:800px){.menu{display:block}.header nav{display:none;position:absolute;top:86px;left:0;right:0;background:white;padding:25px;flex-direction:column;gap:20px}.header nav.open{display:flex}.hero-content{margin:0 7%}.hero{min-height:540px}.grid{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:1fr;text-align:center}.about img{margin:auto;max-width:300px}}@media(max-width:540px){.brand{font-size:15px}.grid,.service-grid{grid-template-columns:1fr}.hero h1{font-size:46px}.hero p{font-size:16px}.intro,.services,.about,.contact{padding-top:65px;padding-bottom:65px}.card-image{height:210px}footer{display:block;line-height:2}}