
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#17151a;background:#fff;font-family:"DM Sans",Arial,sans-serif}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}
.site-header{height:82px;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:100}.nav{height:100%;display:flex;align-items:center;gap:24px}.brand{width:125px;flex:0 0 125px}.brand img{width:125px;height:70px;object-fit:contain}nav{display:flex;justify-content:center;align-items:center;gap:21px;flex:1}nav a{font-size:12px;font-weight:700;white-space:nowrap}nav a:hover{color:#b4005d}.actions{display:flex;gap:8px}.call,.enquire{padding:11px 15px;border-radius:22px;font-size:11px;font-weight:800}.call{background:#b4005d;color:#fff}.enquire{border:1px solid #b4005d;color:#b4005d;border-radius:4px}.menu{display:none;border:0;background:none;font-size:24px}
.hero{min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.9) 38%,rgba(255,255,255,.18) 72%),url("https://images.unsplash.com/photo-1773099032238-6aaee4fb7f18?auto=format&fit=crop&fm=jpg&ixlib=rb-4.1.0&q=90&w=2400");background-position:center;background-size:cover}.hero-content{position:relative;z-index:2;padding:90px 0 150px}.hero-copy{max-width:640px}.eyebrow{color:#b4005d;font-size:10px;letter-spacing:3px;font-weight:800;margin-bottom:14px}h1,h2,h3{font-family:"Playfair Display",Georgia,serif}h1{font-size:58px;line-height:1.03;margin:0 0 20px}h1 span{color:#b4005d}.hero p{font-size:17px;line-height:1.6;max-width:530px}.buttons{display:flex;gap:12px;margin-top:26px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 23px;border-radius:4px;font-size:12px;font-weight:800;border:1px solid #b4005d}.primary{background:#b4005d;color:#fff}.secondary{background:#fff;color:#b4005d}.benefits{position:absolute;bottom:0;left:0;right:0;background:rgba(255,255,255,.95);z-index:3}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:17px 0}.benefit-grid div{display:grid;grid-template-columns:32px 1fr}.benefit-grid i{grid-row:1/3;color:#b4005d;font-size:21px;font-style:normal}.benefit-grid b{font-size:12px}.benefit-grid small{font-size:10px;color:#777}
.section{padding:78px 0}.section.alt{background:#faf8fa}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center}.split img{width:100%;height:370px;object-fit:cover;border-radius:6px}h2{font-size:42px;line-height:1.08;margin:0 0 17px}.lead{font-size:15px;line-height:1.8;color:#626067}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.fact{border:1px solid #eee;padding:20px;border-radius:5px}.fact b{display:block;font-size:20px;color:#b4005d}.fact span{font-size:11px;color:#666}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.outline{border:1px solid #b4005d;color:#b4005d;padding:12px 16px;border-radius:4px;font-size:11px;font-weight:800}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid #eee;background:#fff;overflow:hidden}.card img{width:100%;height:220px;object-fit:cover}.card-body{padding:20px}.card h3{font-size:22px;margin:0 0 5px}.location{font-size:10px;color:#b4005d;font-weight:800}.card p{font-size:12px;color:#666;line-height:1.6}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}.chips span{font-size:9px;background:#faedf4;padding:6px 8px;border-radius:3px}
.stats{background:linear-gradient(90deg,#5b0a34,#b4005d);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:35px 0}.stats b{display:block;font:700 35px "Playfair Display",Georgia,serif}.stats span{font-size:10px}
.page-hero{padding:95px 0;background:#faf4f7;border-bottom:1px solid #eee}.page-hero h1{font-size:54px;margin-bottom:12px}.page-hero p{max-width:650px;color:#666;line-height:1.7}.breadcrumbs{font-size:10px;color:#b4005d;font-weight:800;margin-bottom:15px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid img{width:100%;height:250px;object-fit:cover;border-radius:5px}.project-detail{display:grid;grid-template-columns:1.3fr .8fr;gap:40px;align-items:start}.project-detail .main-img{width:100%;height:500px;object-fit:cover;border-radius:6px}.detail-card{background:#fff;border:1px solid #eee;padding:28px;position:sticky;top:100px}.detail-card h3{font-size:26px;margin-top:0}.detail-list{display:grid;gap:10px;margin:20px 0}.detail-list div{padding:10px 0;border-bottom:1px solid #eee;font-size:12px}.detail-list b{color:#b4005d}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}form{padding:30px;background:#fff;border:1px solid #efd8e4;box-shadow:0 10px 30px #4d002015;border-radius:6px}form h3{font-size:30px;margin:0 0 7px}form p{font-size:11px;color:#777}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}input,select,textarea{width:100%;padding:13px;border:1px solid #ddd;border-radius:3px;font:inherit;font-size:11px}textarea{min-height:110px;resize:vertical;grid-column:1/-1}
footer{background:#12131a;color:#fff;padding-top:50px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:30px;padding-bottom:35px}.footer-grid img{width:125px;background:#fff}.footer-grid h4{font-size:12px;margin:0 0 10px}.footer-grid a,.footer-grid p{display:block;color:#aaa;font-size:11px;line-height:1.9;margin:0}.copyright{border-top:1px solid #292a31;padding:16px 4%;color:#888;font-size:10px}.whatsapp{position:fixed;right:20px;bottom:20px;width:54px;height:54px;border-radius:50%;background:#21c76b;color:#fff;display:grid;place-items:center;font-size:27px;z-index:200}
@media(max-width:1000px){nav{gap:10px}nav a{font-size:10px}.call{display:none}h1{font-size:48px}}
@media(max-width:760px){.site-header{height:70px}.brand{width:105px;flex-basis:105px}.brand img{width:105px;height:62px}.menu{display:block;margin-left:auto}nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:18px;flex-direction:column;box-shadow:0 10px 25px #0001}nav.open{display:flex}.actions{display:none}.hero{min-height:720px}.hero-bg{background-image:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.58)),url("https://images.unsplash.com/photo-1773099032238-6aaee4fb7f18?auto=format&fit=crop&fm=jpg&ixlib=rb-4.1.0&q=90&w=2400")}.hero-content{padding:75px 0 150px}h1{font-size:40px}.hero p{font-size:14px}.benefit-grid{grid-template-columns:1fr 1fr;gap:12px}.section{padding:55px 0}.split,.project-detail,.contact-grid{grid-template-columns:1fr}.split img{height:290px}h2{font-size:32px}.cards,.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:240px}.stats-grid{grid-template-columns:1fr 1fr;gap:20px}.page-hero h1{font-size:40px}.detail-card{position:static}.form-grid{grid-template-columns:1fr}textarea{grid-column:auto}.footer-grid{grid-template-columns:1fr}}

/* Premium refinement layer */
body{letter-spacing:.01em}
.site-header{backdrop-filter:blur(14px);background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(20,10,20,.05)}
nav a{position:relative;padding:30px 0}nav a:after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:2px;background:#b4005d;transition:right .25s ease}nav a:hover:after,nav a.active:after{right:0}nav a.active{color:#b4005d}
.hero{min-height:700px}.hero-bg{transform:scale(1.02);transition:transform 8s ease}.hero:hover .hero-bg{transform:scale(1.06)}
.hero-copy{animation:heroIn .8s ease both}.hero-copy h1{letter-spacing:-.025em}.hero-copy .eyebrow{display:inline-flex;align-items:center;gap:10px}.hero-copy .eyebrow:before{content:"";width:30px;height:1px;background:#b4005d}
.btn,.outline,.call,.enquire{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover,.outline:hover,.call:hover,.enquire:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(180,0,93,.16)}
.card{border-radius:10px;box-shadow:0 12px 35px rgba(26,15,25,.05);transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-7px);box-shadow:0 22px 48px rgba(26,15,25,.12)}.card img{transition:transform .6s ease}.card:hover img{transform:scale(1.04)}
.split img,.project-detail .main-img,.gallery-grid img{box-shadow:0 18px 45px rgba(20,10,20,.10)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
.page-hero{position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(180,0,93,.07);right:-90px;top:-120px}
.detail-card{border-radius:10px;box-shadow:0 18px 45px rgba(20,10,20,.08)}
.gallery-grid img{cursor:zoom-in;transition:transform .25s ease}.gallery-grid img:hover{transform:translateY(-4px)}
.lightbox{position:fixed;inset:0;background:rgba(8,8,12,.92);display:grid;place-items:center;padding:40px;z-index:1000}.lightbox img{max-width:min(1100px,94vw);max-height:88vh;object-fit:contain;border-radius:5px}.lightbox button{position:absolute;right:25px;top:15px;border:0;background:none;color:#fff;font-size:42px;cursor:pointer}
@keyframes heroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:760px){nav a{padding:8px 0}nav a:after{bottom:2px}.hero{min-height:720px}.lightbox{padding:20px}.lightbox button{right:14px;top:8px}}
.trust-strip{background:#17151a;color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.trust-grid>div{padding:26px 28px;border-right:1px solid rgba(255,255,255,.12)}.trust-grid>div:last-child{border-right:0}.trust-grid span{display:block;color:#c98bad;font-size:10px;letter-spacing:2px;margin-bottom:8px}.trust-grid b{display:block;font:600 20px "Playfair Display",Georgia,serif}.trust-grid small{display:block;color:#aaa;font-size:10px;margin-top:5px}@media(max-width:760px){.trust-grid{grid-template-columns:1fr}.trust-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.trust-grid>div:last-child{border-bottom:0}}


/* Completed project portfolio */
.completed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.completed-card{background:#fff;border:1px solid #ece7eb;border-radius:12px;overflow:hidden;box-shadow:0 14px 35px rgba(26,15,25,.06);transition:transform .3s ease,box-shadow .3s ease}
.completed-card:hover{transform:translateY(-7px);box-shadow:0 24px 50px rgba(26,15,25,.12)}
.completed-image{background:#f5f5f5;aspect-ratio:3/2;overflow:hidden}
.completed-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.completed-card:hover .completed-image img{transform:scale(1.035)}
.completed-body{padding:18px 19px 20px}
.completed-body h3{margin:5px 0 4px;font-family:"Playfair Display",serif;font-size:23px;line-height:1.15}
.completed-body .location{font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 28px}
.filter-btn{border:1px solid #ddd3da;background:#fff;color:#3c3039;padding:10px 14px;border-radius:999px;font:600 11px "DM Sans",sans-serif;cursor:pointer;transition:.2s}
.filter-btn:hover,.filter-btn.active{background:#b4005d;color:#fff;border-color:#b4005d}
.completed-head{align-items:flex-start}
.section-intro{max-width:720px;color:#666;line-height:1.7}
.dark-cta{background:#171017;color:#fff}
.dark-cta h2{color:#fff;margin:5px 0 0}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.eyebrow.light{color:#f2bfd8}
.light-btn{background:#fff;color:#171017;border-color:#fff}
@media(max-width:900px){.completed-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.completed-grid{grid-template-columns:1fr}.cta-inner{display:grid}.filter-row{gap:6px}.filter-btn{padding:9px 11px;font-size:10px}}


/* Google Maps contact section */
.map-card{border-radius:16px;overflow:hidden;border:1px solid #e8e1e6;background:#eee;box-shadow:0 18px 50px rgba(26,15,25,.08)}
.map-card iframe{display:block;width:100%;height:460px;border:0}
.map-section .section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}
@media(max-width:760px){.map-section .section-head{display:grid;align-items:start}.map-card iframe{height:360px}}
