:root{--green:#087a45;--green-dark:#075c36;--green-deep:#042b1c;--gold:#c7a65b;--ink:#122019;--muted:#66736c;--cream:#f5f6f2;--white:#fff;--line:#dfe5df;--radius:22px;--shadow:0 18px 60px rgba(4,43,28,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}.topbar{background:var(--green-deep);color:#dce8e1;font-size:13px}.topbar-inner{min-height:34px;display:flex;justify-content:space-between;align-items:center}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(223,229,223,.7)}.nav-wrap{min-height:104px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;min-width:250px}.brand img{width:82px;height:82px;object-fit:cover;border-radius:10px}.brand span{display:flex;flex-direction:column;line-height:.95}.brand strong{font-family:"Playfair Display",serif;font-size:21px;letter-spacing:1px;color:var(--green-deep)}.brand small{font-size:9px;letter-spacing:3px;margin-top:5px;color:var(--green)}.nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}.nav a:not(.btn){color:#405047}.nav a:not(.btn):hover{color:var(--green)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 22px;border-radius:999px;background:var(--green);color:#fff;font-weight:700;border:1px solid var(--green);transition:.25s;cursor:pointer}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(8,122,69,.22)}.btn-small{padding:10px 17px}.btn-ghost{background:transparent;border-color:rgba(255,255,255,.35)}.menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--green-deep)}.hero{min-height:690px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,rgba(4,43,28,.78),rgba(4,43,28,.28)),url('assets/hero-residence.jpg') center/cover}.hero-content{position:relative;color:#fff;padding:100px 0;max-width:820px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2.7px;color:var(--green);margin:0 0 16px}.hero .eyebrow{color:#b9e1ca}.hero h1{font:600 clamp(48px,7vw,82px)/.98 "Playfair Display",serif;margin:0 0 25px;max-width:900px}.hero-copy{font-size:19px;max-width:650px;color:#e8f1ec}.hero-actions{display:flex;gap:13px;margin-top:34px;flex-wrap:wrap}.hero-note{display:flex;gap:10px;align-items:center;margin-top:40px;font-size:13px;color:#d9e6df}.dot{width:8px;height:8px;border-radius:50%;background:#a6d9ba;box-shadow:0 0 0 5px rgba(166,217,186,.12)}.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:28px 24px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat strong{display:block;font:600 36px "Playfair Display",serif;color:var(--green-deep)}.stat span{font-size:13px;color:var(--muted)}.section{padding:110px 0}.soft{background:var(--cream)}.two-col{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}.section h2{font:600 clamp(38px,5vw,62px)/1.05 "Playfair Display",serif;margin:0;color:var(--green-deep)}.lead{font-size:20px;color:#4e5d55;margin:0 0 24px}.text-link{font-weight:800;color:var(--green)}.image-split{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;margin-top:70px}.image-card{min-height:390px;background-size:cover;background-position:center;border-radius:var(--radius)}.image-card.large{min-height:470px}.value-card{background:var(--green-deep);color:#fff;border-radius:var(--radius);padding:35px;display:flex;flex-direction:column;justify-content:flex-end}.value-card span{font-size:13px;color:#9bd3b1}.value-card h3{font:600 31px/1.1 "Playfair Display",serif;margin:12px 0}.value-card p{color:#c8d9d0;margin:0}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:55px}.section-head>p{max-width:420px;color:var(--muted);margin:0}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;padding:34px;border-radius:var(--radius);border:1px solid var(--line);min-height:310px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-icon{width:48px;height:48px;border-radius:14px;background:#e6f2eb;color:var(--green);display:grid;place-items:center;font-weight:800}.service-card h3{font:600 30px "Playfair Display",serif;margin:35px 0 10px}.service-card p{color:var(--muted);margin:0}.service-link{font-weight:800;color:var(--green);margin-top:25px}.dark{background:var(--green-deep);color:#fff}.dark h2{color:#fff}.dark-head .eyebrow{color:#9ed0b1}.project-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.project-card{min-height:390px;border-radius:var(--radius);overflow:hidden;position:relative;background-size:cover;background-position:center}.project-card.tall{min-height:560px}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.78))}.project-info{position:absolute;z-index:2;bottom:0;padding:30px;color:#fff}.project-info small{color:#bfe1cc;letter-spacing:2px;text-transform:uppercase;font-weight:700}.project-info h3{font:600 34px "Playfair Display",serif;margin:6px 0}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.step{background:#fff;padding:34px;min-height:250px}.step-num{color:var(--gold);font-weight:800}.step h3{font:600 25px "Playfair Display",serif;margin:32px 0 8px}.step p{color:var(--muted);font-size:14px}.quote-section{padding-top:40px}.quote-box{background:#edf5ef;border-radius:32px;padding:70px;max-width:1180px}.quote-box blockquote{font:600 clamp(36px,5vw,62px)/1.08 "Playfair Display",serif;color:var(--green-deep);margin:0 0 25px;max-width:900px}.quote-box>p:not(.eyebrow){max-width:700px;color:var(--muted)}.faq-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.faq-item{border-top:1px solid var(--line)}.faq-q{width:100%;padding:24px 0;background:none;border:0;display:flex;justify-content:space-between;text-align:left;font:600 18px "DM Sans",sans-serif;color:var(--ink);cursor:pointer}.faq-a{max-height:0;overflow:hidden;color:var(--muted);transition:max-height .3s ease}.faq-a p{margin:0 0 22px}.contact-section{background:var(--green-deep);color:#fff;padding:110px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-section h2{color:#fff}.contact-section .eyebrow{color:#a7d7b9}.contact-section p{color:#c5d7ce}.contact-details{display:flex;flex-direction:column;gap:10px;margin-top:35px}.contact-details a{color:#e5f1eb;font-weight:700}.contact-form{background:#fff;color:var(--ink);padding:34px;border-radius:var(--radius)}.contact-form label{display:block;font-size:13px;font-weight:700;margin-bottom:15px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;border:1px solid #dbe3de;border-radius:12px;padding:13px 14px;font:inherit;outline:none;background:#fbfcfb}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-message{font-size:13px;margin:10px 0 0}.footer-grid{padding:65px 0 45px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}.footer-brand{margin-bottom:20px}.footer-grid p{max-width:340px;color:var(--muted)}.footer-grid h4{margin:0 0 15px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-grid a,.footer-grid span{color:var(--muted);font-size:14px}.copyright{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;color:#7a857f;font-size:12px}.footer-brand img{width:46px;height:46px}.footer-brand strong{font-size:16px}.footer-brand small{font-size:8px}
@media(max-width:900px){.nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:22px 5%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav.open{display:flex}.menu-toggle{display:block}.trust-grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.two-col,.contact-grid,.faq-wrap{grid-template-columns:1fr;gap:35px}.image-split{grid-template-columns:1fr 1fr}.image-card.large{grid-column:span 2}.value-card{min-height:300px}.cards-3{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-card.tall{min-height:420px}.process-grid{grid-template-columns:1fr 1fr}.section-head{align-items:start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar-inner{padding:7px 0;font-size:11px}.topbar-inner span{display:none}.topbar-inner{justify-content:flex-end}.hero{min-height:650px}.hero-content{padding:80px 0}.hero h1{font-size:48px}.hero-copy{font-size:16px}.section{padding:75px 0}.image-split{grid-template-columns:1fr}.image-card.large{grid-column:auto}.image-card,.image-card.large{min-height:300px}.process-grid{grid-template-columns:1fr}.quote-box{padding:40px 28px}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:35px}.copyright{flex-direction:column;gap:8px}.brand span{display:none}}

/* Social media links */
.social-heading{margin-top:22px!important}
.social-links{display:flex;flex-direction:row!important;gap:12px!important;align-items:center}
.social-links a{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff!important;display:grid;place-items:center}
.social-links a:hover{background:var(--gold);color:var(--green-deep)!important}
.social-links svg{width:22px;height:22px;fill:currentColor}
@media(max-width:760px){
  .nav-wrap{min-height:86px}
  .brand{min-width:0;gap:8px}
  .brand img{width:62px;height:62px}
  .brand strong{font-size:17px}
  .brand small{font-size:8px;letter-spacing:2px}
}

/* Refined editorial touches for a more natural, welcoming website */
#about .lead { white-space:normal; line-height:1.85; }
.about-paragraph { display:block; margin-bottom:18px; }
.about-emphasis { display:block; margin:24px 0 10px; color:var(--green-deep); font-size:1.08em; }
.about-tagline { display:block; color:var(--green); font-weight:600; margin-top:4px; }
#heroTitle { max-width:900px; }
.address-link { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:start; gap:10px; color:#e5f1eb; max-width:480px; }
.location-icon { width:32px; height:32px; border-radius:50%; display:inline-grid; place-items:center; background:rgba(199,166,91,.18); color:var(--gold); font-size:25px; line-height:1; }
.map-hint { grid-column:2; color:#c7a65b; font-size:13px; font-weight:700; margin-top:-3px; }
.address-link:hover .map-hint, .footer-address-link:hover { text-decoration:underline; }
.footer-address-link { display:flex; align-items:center; gap:9px; }
.footer-address-link .location-icon { flex:0 0 32px; color:var(--green); background:#e6f2eb; }
#servicesGrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:900px) { #servicesGrid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  #servicesGrid { grid-template-columns:1fr; }
  .address-link { grid-template-columns:30px minmax(0,1fr); }
  .location-icon { width:28px;height:28px;font-size:22px; }
}

/* Compact contact shortcuts in the top bar */
.topbar-actions{display:flex;align-items:center;gap:15px}
.topbar-call{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(220,232,225,.45);color:#fff;text-decoration:none}
.topbar-call-icon{font-size:15px;line-height:1}
.topbar-social{display:flex;align-items:center;gap:10px}
.topbar-social a{display:grid;place-items:center;width:22px;height:22px;color:#dce8e1;transition:color .2s ease}
.topbar-social a:hover{color:var(--gold)}
.topbar-social svg{width:18px;height:18px;fill:currentColor}
.hero{background-position:center;background-repeat:no-repeat}
@media(max-width:600px){.topbar-inner{gap:10px}.topbar{font-size:10px}.topbar-actions{gap:9px;flex-shrink:0}}
