:root{--black:#0b0c0d;--charcoal:#151719;--gold:#b78a3e;--ink:#151515;--muted:#6f7378;--line:#e7e7e4;--paper:#fff;--soft:#f5f5f2;--max:1380px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.site-header{height:88px;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(0,0,0,.06)}.nav-wrap{height:100%;display:flex;align-items:center;gap:32px}.brand{width:205px;flex:none}.brand img{width:100%;height:auto}.main-nav{margin-left:auto;display:flex;align-items:center;gap:34px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.main-nav a{position:relative;padding:34px 0}.main-nav a:after{content:"";position:absolute;left:0;bottom:23px;width:0;height:2px;background:#111;transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;transition:.25s}.header-cta,.btn-primary{background:#0c0c0c;color:#fff;border:1px solid #0c0c0c}.header-cta:hover,.btn-primary:hover{background:#b78a3e;border-color:#b78a3e}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:#111;margin:5px}.hero{position:relative;min-height:590px;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('assets/hero-overwater-villas.jpg') center right/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,18,27,.96) 0%,rgba(4,20,31,.78) 31%,rgba(5,20,28,.2) 60%,rgba(0,0,0,.05) 100%)}.hero-inner{position:relative;z-index:2;display:flex;align-items:center;min-height:590px}.hero-copy{max-width:600px;padding:56px 0}.eyebrow,.section-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.15em;font-weight:800}.eyebrow{color:#d6bd8d}.hero h1{font-size:clamp(42px,5.3vw,72px);line-height:1.08;letter-spacing:-.045em;margin:13px 0 22px}.hero-copy>p:not(.eyebrow){max-width:530px;font-size:17px}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:32px}.text-link{font-size:13px;font-weight:800;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.6);padding:13px 0}.text-link span{margin-left:15px}.capability-bar{background:#0d0f10;color:#fff}.capability-grid{display:grid;grid-template-columns:repeat(5,1fr)}.capability-grid article{display:flex;align-items:center;gap:14px;padding:20px 22px;border-right:1px solid #323536}.capability-grid article:last-child{border-right:0}.capability-grid .icon{font-size:31px;min-width:35px}.capability-grid b,.capability-grid small{display:block}.capability-grid b{font-size:12px;text-transform:uppercase}.capability-grid small{font-size:11px;color:#c1c4c6}.section{padding:90px 0}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1.1fr 1.65fr .72fr;gap:30px;align-items:stretch}.section-kicker{color:var(--gold);margin:0 0 14px}.section-kicker:before{content:"";display:inline-block;width:32px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.section-kicker.centered{text-align:center}.section-kicker.centered:after{content:""}.about h2,.section-heading h2,.split-heading h2,.contact h2{font-size:clamp(32px,3.5vw,52px);line-height:1.1;letter-spacing:-.035em;margin:0 0 22px}.about-copy{padding:16px 12px 16px 0}.about-copy p:not(.section-kicker){color:#50545a}.btn-outline{border:1px solid #1b1b1b;margin-top:20px;background:#fff}.btn-outline:hover{background:#111;color:#fff}.about-image{margin:0;min-height:360px}.about-image img{width:100%;height:100%;object-fit:cover}.stats{background:var(--soft);padding:35px;display:flex;flex-direction:column;justify-content:center;gap:37px}.stats div{border-bottom:1px solid #ddd;padding-bottom:24px}.stats div:last-child{border-bottom:0;padding-bottom:0}.stats strong,.stats span{display:block}.stats strong{font-size:28px;text-transform:uppercase}.stats span{font-size:12px;text-transform:uppercase;font-weight:700}.services{background:#f7f7f5}.section-heading{text-align:center;max-width:850px;margin:0 auto 42px}.section-heading .lead{color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{background:#fff;padding:32px;min-height:270px;border:1px solid #ebebe8;transition:.25s}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(0,0,0,.08)}.service-card>span{font-size:35px}.service-card h3{font-size:17px;margin:18px 0 10px}.service-card p{font-size:14px;color:#686c70}.service-card a{display:inline-block;margin-top:20px;color:var(--gold);font-size:12px;font-weight:800;text-transform:uppercase}.dark-section{background:#111416;color:#fff}.split-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:80px;margin-bottom:45px}.split-heading>p{color:#b7bbbd}.section-kicker.light{color:#d5b06c}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#35393c}.product-grid article{background:#171a1c;padding:34px;min-height:210px}.product-grid h3{font-size:18px}.product-grid p{color:#acb0b3;font-size:14px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.process-grid article{border-top:1px solid #bbb;padding-top:22px}.process-grid b{color:var(--gold);font-size:13px}.process-grid h3{font-size:25px;margin:14px 0 8px}.process-grid p{color:#6d7175}.gallery{background:#f4f4f1}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.gallery-item{position:relative;padding:0;border:0;background:#111;color:#fff;overflow:hidden;min-height:330px;cursor:pointer;text-align:left}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;left:24px;bottom:20px;font-weight:700}.text-tile{display:flex;flex-direction:column;justify-content:center;padding:35px}.text-tile strong{font-size:34px;line-height:1.15}.text-tile span{position:static;margin-top:20px;color:#bbb}.contact{background:#fff}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact-copy>p:not(.section-kicker){color:#65696d}.contact-details{margin-top:35px;display:grid;gap:8px}.contact-details b{font-size:19px}.contact-details a{font-weight:700}.enquiry-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.enquiry-form label{font-size:12px;font-weight:800;text-transform:uppercase}.enquiry-form input,.enquiry-form textarea{width:100%;margin-top:8px;border:1px solid #d8d8d4;background:#fafafa;padding:14px;font:inherit;text-transform:none}.full{grid-column:1/-1}.form-status{margin:0;color:#246b35}.footer{background:#0e1011;color:#fff;padding:60px 0 22px}.footer-grid{display:grid;grid-template-columns:1.6fr .75fr .9fr 1.2fr;gap:55px}.footer img{width:220px;filter:invert(1);margin-bottom:25px}.footer p,.footer span,.footer a{color:#b5b8ba;font-size:13px}.footer h3{font-size:13px;text-transform:uppercase}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-bottom{border-top:1px solid #33383a;margin-top:42px;padding-top:20px;display:flex;justify-content:space-between}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100;display:none;align-items:center;justify-content:center;padding:35px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:88vh}.lightbox-close{position:absolute;right:25px;top:15px;background:none;border:0;color:#fff;font-size:44px}.reveal{opacity:0;transform:translateY(18px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.main-nav{gap:18px}.header-cta{display:none}.brand{width:185px}.about-grid{grid-template-columns:1fr 1.4fr}.stats{grid-column:1/-1;flex-direction:row;justify-content:space-around}.capability-grid{grid-template-columns:repeat(3,1fr)}.capability-grid article:nth-child(3){border-right:0}.capability-grid article:nth-child(n+4){border-top:1px solid #323536}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1.6fr 1fr}.text-tile{grid-column:1/-1;min-height:230px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:820px){.site-header{height:76px}.container{width:min(calc(100% - 32px),var(--max))}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px 24px;flex-direction:column;align-items:flex-start;box-shadow:0 14px 30px rgba(0,0,0,.1)}.main-nav.open{display:flex}.main-nav a{padding:9px 0}.main-nav a:after{bottom:3px}.hero,.hero-inner{min-height:630px}.hero-bg{background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(4,17,25,.93),rgba(4,17,25,.56))}.hero-copy{max-width:560px}.hero h1{font-size:47px}.capability-grid{grid-template-columns:1fr 1fr}.capability-grid article{border-top:1px solid #323536}.about-grid,.contact-grid,.split-heading{grid-template-columns:1fr}.about-copy{padding-right:0}.stats{grid-column:auto}.service-grid,.process-grid,.product-grid{grid-template-columns:1fr 1fr}.contact-grid{gap:40px}.footer-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr}.footer-grid>div:last-child{grid-column:auto}}
@media(max-width:560px){.brand{width:165px}.hero,.hero-inner{min-height:660px}.hero-copy{padding:40px 0}.hero h1{font-size:39px}.hero-copy>p:not(.eyebrow){font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.capability-grid{grid-template-columns:1fr}.capability-grid article{border-right:0}.section{padding:70px 0}.about-grid,.service-grid,.process-grid,.product-grid,.footer-grid{grid-template-columns:1fr}.stats{flex-direction:column}.gallery-item{min-height:260px}.enquiry-form{grid-template-columns:1fr}.full{grid-column:auto}.footer-bottom{gap:15px;flex-direction:column}}
.site-header{transition:box-shadow .25s,height .25s}.site-header.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.09)}
.hero-bg{will-change:transform;background-position:center 38%}.counter{font-variant-numeric:tabular-nums}
.footer-link{border:0;background:none;color:#b5b8ba;padding:0;font:inherit;cursor:pointer}.footer-link:hover{color:#fff}
#legal-modal{width:min(760px,calc(100% - 32px));border:0;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.35)}#legal-modal::backdrop{background:rgba(0,0,0,.72)}#legal-content{padding:45px}#legal-content h2{margin-top:0;font-size:32px}#legal-content p,#legal-content li{color:#555}.modal-close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:34px;cursor:pointer}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-bg{transform:none!important}.service-card,.gallery-item img{transition:none}}

/* Formspree form feedback */
.enquiry-form button[disabled]{opacity:.7;cursor:wait}
.form-status{min-height:1.5em;margin:0;font-size:.92rem}
.form-status.sending{opacity:.75}
.form-status.success{font-weight:700}
.form-status.error{font-weight:700}
.form-status a{text-decoration:underline}

/* Formspree official AJAX integration */
.form-wrap{min-width:0}
.form-message{display:none;grid-column:1/-1;margin:0 0 18px;padding:14px 16px;border:1px solid transparent;font-size:.94rem}
.form-message:not(:empty){display:block}
.form-success{background:#f1f8f3;border-color:#b9ddc1;color:#1f6530;font-weight:700}
.form-error{background:#fff3f2;border-color:#efc1bc;color:#8a2920;font-weight:700}
.field-error{display:block;min-height:1.25em;margin-top:5px;color:#9a2d24;font-size:.78rem;font-weight:600;text-transform:none}
.enquiry-form [aria-invalid="true"]{border-color:#b43b31;outline:2px solid rgba(180,59,49,.12)}
.enquiry-form button[disabled]{opacity:.65;cursor:wait}
.honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important}
