:root{--dark: #121212;--light: #fdf9f5;--accent: #ff8c1a;--accent-dark: #e57a00;--text: #333;--text-light: #555}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Poppins,sans-serif;color:var(--text);line-height:1.6}.navbar{position:sticky;top:0;z-index:10000;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:1rem 4rem;box-shadow:0 3px 10px #0000000d}.navbar .logo{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:#61525a;white-space:nowrap}.desktop-nav a{margin-left:2rem;text-decoration:none;color:#333;font-weight:500}.desktop-nav a:hover{color:var(--accent-dark)}.call-btn{background:var(--accent);color:#fff;padding:.6rem 1rem;border-radius:8px;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;white-space:nowrap}.menu-toggle{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:#333}.mobile-menu{position:absolute;top:100%;left:0;width:100%;background:#fff;display:flex;flex-direction:column;max-height:0;overflow:hidden;transition:max-height .3s ease;box-shadow:0 10px 20px #0000001a;z-index:9999}.mobile-menu.show{max-height:400px;border-bottom:1px solid #eee}.mobile-menu a{width:100%;padding:1rem;text-decoration:none;color:#333;font-weight:500;border-bottom:1px solid #eee;text-align:left}.mobile-menu a:hover{background:var(--light)}.hero{height:95vh;background:url(/images/hero-bg.jpeg) center/cover no-repeat;position:relative}.hero-overlay{background:#000000bf;height:100%;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem}.hero h1{font-family:Playfair Display,serif;font-size:clamp(42px,6vw,72px);font-weight:800;line-height:1.2;margin-bottom:24px}.hero p{font-size:1.6rem;margin-bottom:2rem}.hero-actions a{padding:1rem 2rem;margin:0 .5rem;font-size:1.1rem;border-radius:10px;font-weight:500;transition:all .3s;color:#fff!important}.btn-primary{background:var(--accent)}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{border:2px solid white}.btn-secondary:hover{background:#fff;color:var(--accent-dark)}.section{padding:4rem 3rem;text-align:center}.section.light{background:var(--light)}.section h2{font-family:Playfair Display,serif;font-size:3rem;margin-bottom:2rem;color:var(--accent-dark)}.section-subtitle{font-size:1.5rem;color:var(--text-light);margin-bottom:4rem;max-width:700px;margin-inline:auto}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem}.card{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 15px 35px #00000014;transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0000001f}.card i{font-size:2.5rem;color:var(--accent);margin-bottom:1rem}.card h3{font-size:1.5rem;margin-bottom:.8rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1200px;margin:auto}.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:16px;transition:transform .3s ease}.gallery-grid img:hover{transform:scale(1.05)}.gallery-cta{text-align:center}.cta-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--accent);color:#fff;padding:1rem 2.2rem;border-radius:16px;font-size:1.2rem;font-weight:400;text-decoration:none;box-shadow:0 10px 25px #0000002e;transition:all .25s ease;margin-top:2rem}.cta-btn:hover{background:var(--accent-dark);transform:translateY(-2px)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;text-align:left;max-width:1100px;margin:auto}.features-grid span{display:flex;align-items:center;font-size:1.2rem;margin-bottom:1rem}.features-grid span:before{content:"✔";margin-right:.8rem;color:var(--accent)}.enquiry-cta{position:relative;min-height:80vh;background:url(/images/home-grid-1.jpeg) center/cover no-repeat}.enquiry-overlay{background:#000000bf;min-height:80vh;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;padding:2rem}.enquiry-overlay h2{font-family:Playfair Display,serif;font-size:3rem;margin-bottom:1rem}.enquiry-overlay p{font-size:1.3rem;margin-bottom:2rem;max-width:650px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:3rem;text-align:left;padding:7rem 3rem}.contact-info h2{color:var(--accent-dark);margin-bottom:1rem}.contact-info p{margin-bottom:1rem;font-size:1.1rem;color:var(--text-light)}.contact-item{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-light)}.contact-item i{font-size:1.1rem;color:var(--accent-dark)}.contact-item span{line-height:1.4}.map-container{width:100%;height:450px;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #00000026}.map-container iframe{width:100%;height:100%;border:none}footer{background:var(--dark);color:#fff;padding:4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:3rem}footer a{color:#ccc;display:block;margin-top:.5rem;text-decoration:none;transition:color .3s}footer a:hover{color:var(--accent)}.fade-in{opacity:0;transform:translateY(30px);transition:all .8s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.btn-primary,.btn-secondary,.btn-nav{text-decoration:none}.page-title{font-family:Playfair Display,serif;font-size:2.8rem;margin-bottom:2rem;color:var(--accent-dark)}.about-paragraph{max-width:900px;margin:auto;text-align:justify;line-height:1.9;font-size:1.1rem;color:var(--text-light)}.services-carousel{display:flex;gap:1.5rem;overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory}.service-card{min-width:220px;height:140px;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:600;font-size:1.2rem;color:#fff;box-shadow:0 10px 25px #00000026;scroll-snap-align:start;transition:transform .3s ease}.card1{background:linear-gradient(#0000008c,#0000008c),url(/images/hero-bg.jpeg) center/cover no-repeat}.card2{background:linear-gradient(#0000008c,#0000008c),url(/images/home-grid-1.jpeg) center/cover no-repeat}.card3{background:linear-gradient(#0000008c,#0000008c),url(/images/home-grid-2.jpeg) center/cover no-repeat}.card4{background:linear-gradient(#0000008c,#0000008c),url(/images/home-grid-4.jpeg) center/cover no-repeat}.card5{background:linear-gradient(#0000008c,#0000008c),url(/images/gallery_page/grid-3.jpeg) center/cover no-repeat}.card6{background:linear-gradient(#0000008c,#0000008c),url(/images/gallery_page/grid-7.jpeg) center/cover no-repeat}.gallery-section{padding:6rem 2rem}.gallery-title{font-family:Playfair Display,serif;font-size:3rem;text-align:center;color:var(--accent-dark);margin-bottom:3rem}.coloured-page{background:#fdf9f5}.faq-section{max-width:900px;margin:auto}.faq-title{font-family:Playfair Display,serif;font-size:3rem;margin-bottom:3rem;color:var(--accent-dark);text-align:center}.faq-item{background:#fff;border-radius:14px;margin-bottom:1rem;box-shadow:0 8px 20px #00000014;overflow:hidden}.faq-question{width:100%;padding:1.2rem 1.5rem;font-size:1.1rem;text-align:left;background:none;border:none;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.8rem}.faq-answer{max-height:0;overflow:hidden;padding:0 1.5rem;transition:max-height .3s ease;color:var(--text-light);text-align:left}.faq-icon{font-size:.9rem;color:var(--accent-dark);transition:transform .3s ease}.contact-title{padding:2rem}.enquiry{background:url(/images/home-grid-1.jpeg) center/cover no-repeat;padding:8rem 2rem}.enquiry-box{background:#000000bf;max-width:750px;margin:auto;padding:4rem;border-radius:20px;color:#fff;text-align:center}.enquiry-box h2{font-size:2.5rem;margin-bottom:1rem}.enquiry form input,.enquiry form select,.enquiry form textarea{width:100%;padding:1rem;margin-bottom:1.5rem;border-radius:8px;border:2px solid transparent;font-size:1rem;background:#fff;color:#333}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.enquiry form input:focus,.enquiry form select:focus,.enquiry form textarea:focus,input:focus,select:focus,textarea:focus{outline:none;border:2px solid var(--accent)}.enquiry form input:invalid,.enquiry form select:invalid,.enquiry form textarea:invalid,input:invalid,select:invalid,textarea:invalid{border:2px solid #ff4d4d}.enquiry form ::placeholder{color:#777;opacity:1}.enquiry button{width:100%;padding:1rem;background:var(--accent);font-size:1.2rem;border:none;border-radius:10px;cursor:pointer}.enquiry button:hover{background:var(--accent-dark)}.enquiry button:disabled,button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 1024px){.hero h1{font-size:4.5rem}.hero p{font-size:1.3rem}}@media (max-width: 768px){.navbar{padding:.75rem 1rem}.desktop-nav{display:none}.menu-toggle{display:block}.navbar .logo{font-size:1.15rem}.call-btn{padding:.45rem .75rem;font-size:.85rem}.form-row,.contact{grid-template-columns:1fr}.hero p{font-size:1.2rem}.hero h1{font-size:3rem}.hero-actions{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:320px}.hero-actions a{width:100%;text-align:center;margin:0}.section h2{font-size:2rem}.section{padding:2rem}.section-subtitle{font-size:1.1rem;max-width:250px}.page-title{font-size:2rem}.about-paragraph p{font-size:.9rem;padding:0 .5rem}.service-card{min-width:180px;height:120px;font-size:1rem}.features-grid span{font-size:1rem;margin-bottom:0}}@media (max-width: 992px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.gallery-grid{grid-template-columns:1fr}}.whatsapp-btn{position:fixed;right:24px;bottom:24px;z-index:1000;background:#fff;color:var(--text);padding:.6rem 1rem;border-radius:8px;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;white-space:nowrap;box-shadow:0 4px 14px #0003;transition:transform .3s,box-shadow .3s}.whatsapp-btn i{color:#25d366;font-size:1.4rem}.whatsapp-btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000040}@media (max-width: 576px){.whatsapp-btn{right:16px;bottom:16px;padding:.45rem .75rem;font-size:.85rem}}
