@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--navy:#174653;--teal:#1f9b8d;--lime:#d8ec65;--coral:#f17e5d;--gold:#f5bd50;--sky:#e6f4f1;--paper:#fffdf8;--ink:#17343d;--muted:#62777a;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 var(--sans)}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,86%);margin:auto}
.header{height:86px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:9;border-bottom:1px solid #e7efeb}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:44px;height:44px;background:var(--lime);border-radius:14px 14px 14px 3px;display:grid;place-items:center;font:700 19px var(--sans);color:var(--navy);transform:rotate(-3deg)}.brand-name{font:800 12px var(--sans);letter-spacing:.13em;line-height:1.35}.brand-name small{display:block;font-size:8px;letter-spacing:.18em;color:var(--teal);margin-top:4px}.nav{display:flex;align-items:center;gap:28px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.nav a{padding:10px 0;border-bottom:2px solid transparent}.nav a:hover,.nav a.active{border-color:var(--coral)}.nav .nav-cta{background:var(--teal);color:white;padding:12px 18px;border:0;border-radius:3px}.menu{display:none;border:0;background:none;font-size:25px;color:var(--navy)}
.hero{min-height:660px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:white}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,52,63,.92),rgba(13,52,63,.68) 52%,rgba(13,52,63,.1)),url('images/hero.jpg') center/cover}.hero:after{content:"158";position:absolute;right:5%;bottom:-105px;font:700 340px/.9 var(--sans);color:rgba(255,255,255,.08);letter-spacing:-.1em}.hero-content{position:relative;z-index:1;width:min(1160px,86%);margin:auto;padding:90px 0}.eyebrow,.kicker{font-size:9px;letter-spacing:.2em;font-weight:800;text-transform:uppercase;color:var(--teal)}.eyebrow.light{color:var(--lime)}.hero h1{font:clamp(50px,6.5vw,86px)/1.05 var(--serif);font-weight:500;letter-spacing:-.035em;max-width:850px;margin:24px 0}.hero h1 em{color:var(--lime);font-weight:500}.hero p{max-width:490px;color:#e4efeb;font-size:14px;margin:0 0 32px}.btn{display:inline-flex;align-items:center;gap:35px;padding:15px 20px;background:var(--lime);color:var(--navy);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:2px}.btn span{font-size:17px}.hero-meta{position:absolute;z-index:2;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.17em;color:#e0eeea}
.page-hero{background:var(--navy);color:white;padding:95px 7%;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:8%;top:-150px;width:380px;height:380px;border:55px solid rgba(216,236,101,.12);border-radius:50%}.page-hero .wrap{position:relative;z-index:1}.page-hero h1{font:clamp(46px,6vw,74px)/1.1 var(--serif);margin:20px 0;max-width:800px}.page-hero h1 em{color:var(--lime)}.page-hero p{max-width:570px;color:#d9e9e4;font-size:14px}
.section{padding:100px 0}.section.tint{background:var(--sky)}.section.sun{background:#fff3dc}.section.dark{background:var(--navy);color:white}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.section h2{font:clamp(36px,4.4vw,60px)/1.13 var(--serif);font-weight:500;letter-spacing:-.03em;margin:18px 0 25px}.section h2 em{color:var(--teal)}.dark h2 em{color:var(--lime)}.copy{color:var(--muted);font-size:13px}.copy .lead{font:20px/1.55 var(--serif);color:var(--ink)}.dark .copy{color:#d3e2df}.dark .copy .lead{color:white}.photo{min-height:460px;background-size:cover;background-position:center;border-radius:3px;position:relative}.photo.about{background-image:url('images/about.jpg')}.photo.interior{background-image:url('images/interior.jpg')}.photo.contact{background-image:url('images/contact.jpg')}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:42px}.section-heading p{max-width:360px;color:var(--muted);font-size:13px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}.property-card{height:500px;position:relative;background-size:cover;background-position:center;display:flex;align-items:end;color:white;overflow:hidden;border-radius:3px}.property-card.res{background-image:url('images/residential.jpg')}.property-card.com{background-image:url('images/commercial.jpg')}.property-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,45,53,.9),transparent 75%)}.card-content{position:relative;padding:36px;max-width:440px}.card-content small{font-size:9px;letter-spacing:.18em;color:var(--lime)}.card-content h3{font:40px/1.1 var(--serif);margin:15px 0}.card-content p{font-size:12px;color:#e1eeea}.card-content a{display:inline-block;margin-top:15px;border-bottom:2px solid var(--coral);padding-bottom:5px;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}.feature{background:white;border-top:5px solid var(--teal);padding:24px 24px 26px;box-shadow:0 10px 35px rgba(23,70,83,.06)}.feature:nth-child(2){border-color:var(--coral)}.feature:nth-child(3){border-color:var(--gold)}.feature span{font-size:9px;color:var(--teal);font-weight:800;letter-spacing:.16em}.feature h3{font:24px var(--serif);margin:12px 0 8px}.feature p{font-size:12px;color:var(--muted);margin:0}
.bullet-list{padding:0;margin:25px 0 0;list-style:none;border-top:1px solid #d7e3df}.bullet-list li{padding:12px 0;border-bottom:1px solid #d7e3df;font-size:12px}.bullet-list li:before{content:"✳";color:var(--coral);margin-right:12px}
.stat-band{background:var(--lime);padding:62px 0}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.stat-grid div{border-left:1px solid rgba(23,70,83,.25);padding-left:22px}.stat-grid strong{display:block;font:35px var(--serif);color:var(--navy)}.stat-grid span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--navy)}
.quote{padding:75px 8%;text-align:center;background:#fff0e9}.quote p{font:clamp(24px,3.5vw,42px)/1.3 var(--serif);max-width:850px;margin:18px auto;color:var(--navy)}.quote small{font-size:8px;letter-spacing:.2em;color:var(--teal)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact-item{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2)}.contact-item span{display:block;color:var(--lime);font-size:8px;letter-spacing:.17em;margin-bottom:7px}.contact-item a,.contact-item p{font:20px var(--serif);margin:0;color:white}.footer{background:#103641;color:white;padding:45px 7% 20px}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:30px}.footer .brand-mark{background:var(--lime)}.footer .brand-name small{color:#a8d7cd}.footer p{font:16px var(--serif);color:#d2e3df}.footer-links{display:flex;gap:24px;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.footer-bottom{border-top:1px solid rgba(255,255,255,.17);padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#bdd0ca;font-size:8px;letter-spacing:.12em}
@media(max-width:800px){.header{height:76px;padding:0 6%}.menu{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:20px 7%;flex-direction:column;align-items:flex-start;gap:12px}.nav.open{display:flex}.hero{min-height:620px}.hero-content{width:86%}.hero h1{font-size:55px}.page-hero{padding:80px 7%}.section{padding:76px 0}.split,.contact-grid{grid-template-columns:1fr;gap:35px}.photo{min-height:360px}.section-heading{display:block}.section-heading p{margin-top:20px}.cards{grid-template-columns:1fr}.property-card{height:430px}.features{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr;gap:20px}.footer-top{display:block}.footer-links{margin-top:20px;flex-wrap:wrap}.footer-bottom{flex-direction:column}}
@media(max-width:480px){.brand-name{font-size:10px}.brand-name small{font-size:7px}.hero h1{font-size:46px}.hero-meta{font-size:7px}.card-content{padding:27px}.card-content h3{font-size:35px}}
