@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400&family=Source+Sans+3:wght@300;400;600;700&display=swap');*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--brand:hsl(195,85%,35%);--brand-dark:hsl(195,85%,25%);--accent:hsl(38,90%,55%);--accent-hover:hsl(38,90%,45%);--dark:hsl(210,25%,15%);--light:hsl(210,20%,97%);--txt:hsl(210,15%,25%);--txt-light:hsl(210,10%,45%);--white:hsl(0,0%,100%);--border:hsl(210,15%,88%);--shadow-sm:0 2px 8px hsla(210,25%,15%,0.08);--shadow-md:0 6px 24px hsla(210,25%,15%,0.12);--shadow-lg:0 12px 40px hsla(210,25%,15%,0.16);--radius:0.5rem;--radius-lg:1rem;--font-heading:'DM Sans',sans-serif;--font-body:'Source Sans 3',sans-serif;--transition:0.3s ease}html{scroll-behavior:smooth;font-size:100%}body{font-family:var(--font-body);color:var(--txt);line-height:1.7;background:var(--white);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--brand);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--brand-dark)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.25;color:var(--dark)}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:clamp(1.6rem,4vw,2.5rem)}h3{font-size:clamp(1.2rem,3vw,1.5rem)}p{margin-bottom:1rem}.wrapper{width:min(90%,1200px);margin-inline:auto}.btn-primary{display:inline-flex;align-items:center;gap:0.5rem;padding:0.875rem 2rem;background:var(--accent);color:var(--dark);font-family:var(--font-heading);font-weight:700;font-size:1rem;border:none;border-radius:var(--radius);cursor:pointer;transition:all var(--transition);min-height:2.75rem;min-width:2.75rem;text-align:center;justify-content:center}.btn-primary:hover{background:var(--accent-hover);color:var(--dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline{display:inline-flex;align-items:center;gap:0.5rem;padding:0.875rem 2rem;background:transparent;color:var(--brand);font-family:var(--font-heading);font-weight:700;font-size:1rem;border:2px solid var(--brand);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);min-height:2.75rem;min-width:2.75rem}.btn-outline:hover{background:var(--brand);color:var(--white)}.site-hdr{position:sticky;top:0;z-index:1000;background:var(--white);border-bottom:1px solid var(--border);transition:box-shadow var(--transition)}.site-hdr.scrolled{box-shadow:var(--shadow-sm)}.hdr-inner{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 0;min-height:4rem}.logo-link{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-heading);font-weight:700;font-size:1.4rem;color:var(--dark)}.logo-link:hover{color:var(--brand)}.logo-link svg{width:2.25rem;height:2.25rem}.main-nav{display:flex;align-items:center;gap:0.25rem}.main-nav a{padding:0.5rem 0.75rem;font-size:0.95rem;font-weight:500;color:var(--txt);border-radius:var(--radius);transition:all var(--transition);white-space:nowrap}.main-nav a:hover,.main-nav a.active{color:var(--brand);background:hsla(195,85%,35%,0.06)}.nav-dropdown{position:relative}.nav-dropdown-toggle{display:flex;align-items:center;gap:0.25rem;cursor:pointer}.nav-dropdown-toggle::after{content:'';border:solid var(--txt-light);border-width:0 2px 2px 0;padding:2.5px;transform:rotate(45deg);transition:transform var(--transition)}.nav-dropdown:hover .nav-dropdown-toggle::after{transform:rotate(-135deg)}.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:14rem;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:0.5rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--transition);z-index:100}.nav-dropdown:hover .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-menu a{display:block;padding:0.5rem 0.75rem;font-size:0.9rem;border-radius:calc(var(--radius) / 2)}.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:0.5rem;min-width:2.75rem;min-height:2.75rem;align-items:center;justify-content:center}.burger span{display:block;width:24px;height:2.5px;background:var(--dark);border-radius:2px;transition:all var(--transition)}.burger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-panel{display:none}.hero-area{position:relative;min-height:85vh;display:flex;align-items:center;overflow:hidden;background:var(--dark)}.hero-bg{position:absolute;inset:0}.hero-bg picture,.hero-bg img{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,hsla(210,25%,15%,0.82) 0%,hsla(195,85%,25%,0.65) 100%)}.hero-content{position:relative;z-index:2;max-width:38rem;padding:4rem 0}.hero-area h1{color:var(--white);margin-bottom:1rem}.hero-area p{color:hsla(0,0%,100%,0.85);font-size:1.15rem;margin-bottom:2rem;line-height:1.8}.hero-badges{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.hero-badge{display:flex;align-items:center;gap:0.5rem;color:hsla(0,0%,100%,0.8);font-size:0.9rem}.hero-badge svg{width:1.25rem;height:1.25rem;color:var(--accent)}.sect{padding:5rem 0}.sect-alt{background:var(--light)}.sect-hd{text-align:center;max-width:40rem;margin:0 auto 3rem}.sect-hd p{color:var(--txt-light);font-size:1.05rem;margin-top:0.75rem}.sect-label{display:inline-block;font-family:var(--font-heading);font-weight:700;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--brand);margin-bottom:0.75rem}.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.svc-card{background:var(--white);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);transition:all var(--transition)}.svc-card:hover{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(-4px)}.svc-card-icon{width:3.5rem;height:3.5rem;background:hsla(195,85%,35%,0.1);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.svc-card-icon svg{width:1.75rem;height:1.75rem;color:var(--brand)}.svc-card h3{margin-bottom:0.75rem}.svc-card p{color:var(--txt-light);font-size:0.95rem;margin-bottom:1rem}.svc-card-link{font-weight:600;font-size:0.95rem;display:inline-flex;align-items:center;gap:0.35rem}.svc-card-link svg{width:1rem;height:1rem;transition:transform var(--transition)}.svc-card:hover .svc-card-link svg{transform:translateX(4px)}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.about-visual{position:relative;border-radius:var(--radius-lg);overflow:hidden}.about-visual img{border-radius:var(--radius-lg)}.about-badge{position:absolute;bottom:1.5rem;right:1.5rem;background:var(--brand);color:var(--white);padding:1rem 1.5rem;border-radius:var(--radius);text-align:center;font-family:var(--font-heading)}.about-badge strong{display:block;font-size:2rem;line-height:1}.about-txt h2{margin-bottom:1rem}.about-txt p{color:var(--txt-light);margin-bottom:1.25rem}.about-features{list-style:none;margin:1.5rem 0 2rem}.about-features li{display:flex;align-items:flex-start;gap:0.75rem;padding:0.5rem 0;font-weight:500}.about-features li svg{width:1.25rem;height:1.25rem;color:var(--brand);flex-shrink:0;margin-top:0.2rem}.pillars-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.pillar-box{text-align:center;padding:2rem 1.5rem}.pillar-box svg{width:3rem;height:3rem;color:var(--brand);margin-bottom:1rem}.pillar-box h3{margin-bottom:0.5rem;font-size:1.15rem}.pillar-box p{color:var(--txt-light);font-size:0.9rem}.reviews-slider{max-width:50rem;margin:0 auto}.review-item{background:var(--white);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:2rem;border:1px solid var(--border)}.review-stars{color:var(--accent);margin-bottom:1rem;font-size:1.2rem}.review-item blockquote{font-size:1.05rem;line-height:1.8;color:var(--txt);margin-bottom:1.25rem;font-style:italic}.review-author{display:flex;align-items:center;gap:0.75rem}.review-author-info strong{display:block;font-size:0.95rem}.review-author-info span{color:var(--txt-light);font-size:0.85rem}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.gallery-cell{border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:4/3}.gallery-cell img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.gallery-cell:hover img{transform:scale(1.05)}.gallery-cell figcaption{position:absolute;bottom:0;left:0;right:0;padding:0.75rem;background:linear-gradient(transparent,hsla(210,25%,15%,0.7));color:var(--white);font-size:0.85rem;font-weight:500}.faq-list{max-width:48rem;margin:0 auto}.faq-item{border-bottom:1px solid var(--border)}.faq-item details{padding:1.25rem 0}.faq-item summary{font-family:var(--font-heading);font-weight:600;font-size:1.05rem;cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;color:var(--dark);min-height:2.75rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';font-size:1.5rem;color:var(--brand);transition:transform var(--transition)}.faq-item details[open] summary::after{transform:rotate(45deg)}.faq-answer{padding:0.5rem 0 1rem;color:var(--txt-light);line-height:1.8}.cta-band{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);padding:4rem 0;text-align:center}.cta-band h2{color:var(--white);margin-bottom:1rem}.cta-band p{color:hsla(0,0%,100%,0.85);max-width:32rem;margin:0 auto 2rem;font-size:1.05rem}.cta-band .btn-primary{background:var(--accent);color:var(--dark)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-form-wrap{background:var(--white);padding:2.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.form-row{margin-bottom:1.25rem}.form-row label{display:block;font-weight:600;font-size:0.9rem;margin-bottom:0.4rem;color:var(--dark)}.form-row input,.form-row textarea,.form-row select{width:100%;padding:0.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;transition:border-color var(--transition);background:var(--white);min-height:2.75rem}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px hsla(195,85%,35%,0.1)}.form-row textarea{resize:vertical;min-height:7rem}.contact-info-side h3{margin-bottom:1.5rem}.contact-detail{display:flex;gap:1rem;margin-bottom:1.5rem}.contact-detail svg{width:1.5rem;height:1.5rem;color:var(--brand);flex-shrink:0;margin-top:0.2rem}.contact-detail strong{display:block;margin-bottom:0.25rem}.contact-detail span,.contact-detail a{color:var(--txt-light);font-size:0.95rem}.contact-map{border-radius:var(--radius-lg);overflow:hidden;margin-top:2rem;aspect-ratio:16/9;background:var(--light)}.site-ftr{background:var(--dark);color:hsla(0,0%,100%,0.7);padding:4rem 0 0}.ftr-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:3rem;border-bottom:1px solid hsla(0,0%,100%,0.1)}.ftr-col h4{color:var(--white);font-size:1rem;margin-bottom:1.25rem}.ftr-col p{font-size:0.9rem;line-height:1.7}.ftr-col ul{list-style:none}.ftr-col ul li{margin-bottom:0.5rem}.ftr-col ul a{color:hsla(0,0%,100%,0.65);font-size:0.9rem;transition:color var(--transition)}.ftr-col ul a:hover{color:var(--accent)}.ftr-brand{font-family:var(--font-heading);font-weight:700;font-size:1.25rem;color:var(--white);margin-bottom:0.75rem;display:flex;align-items:center;gap:0.5rem}.ftr-brand svg{width:1.75rem;height:1.75rem}.ftr-contact-line{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;font-size:0.9rem}.ftr-contact-line svg{width:1rem;height:1rem;color:var(--accent);flex-shrink:0}.ftr-bottom{padding:1.5rem 0;text-align:center;font-size:0.85rem}.ftr-bottom a{color:hsla(0,0%,100%,0.5)}.ftr-bottom a:hover{color:var(--accent)}.page-banner{background:var(--dark);padding:4rem 0;text-align:center;position:relative;overflow:hidden}.page-banner::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,hsla(195,85%,35%,0.15) 0%,transparent 60%)}.page-banner h1{color:var(--white);position:relative;margin-bottom:0.5rem}.page-banner p{color:hsla(0,0%,100%,0.7);position:relative;font-size:1.05rem}.breadcrumb{display:flex;align-items:center;justify-content:center;gap:0.5rem;color:hsla(0,0%,100%,0.5);font-size:0.9rem;margin-top:1rem;position:relative}.breadcrumb a{color:hsla(0,0%,100%,0.6)}.breadcrumb a:hover{color:var(--accent)}.svc-detail-split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.svc-detail-content h2{margin-bottom:1rem;font-size:1.75rem}.svc-detail-content p{color:var(--txt-light);margin-bottom:1rem;line-height:1.8}.svc-detail-content ul{list-style:none;margin:1.5rem 0}.svc-detail-content ul li{padding:0.4rem 0;padding-left:1.5rem;position:relative;color:var(--txt-light)}.svc-detail-content ul li::before{content:'';position:absolute;left:0;top:0.85rem;width:8px;height:8px;background:var(--brand);border-radius:50%}.svc-detail-img{border-radius:var(--radius-lg);overflow:hidden}.svc-detail-img img{border-radius:var(--radius-lg);width:100%}.svc-sidebar{background:var(--light);border-radius:var(--radius-lg);padding:2rem}.svc-sidebar h3{margin-bottom:1rem;font-size:1.15rem}.svc-sidebar ul{list-style:none}.svc-sidebar ul li{margin-bottom:0.5rem}.svc-sidebar ul a{display:block;padding:0.6rem 1rem;border-radius:var(--radius);color:var(--txt);font-weight:500;transition:all var(--transition)}.svc-sidebar ul a:hover,.svc-sidebar ul a.active{background:var(--brand);color:var(--white)}.location-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0}.loc-card{background:var(--white);padding:1.5rem;border-radius:var(--radius);border:1px solid var(--border);text-align:center}.loc-card svg{width:2.5rem;height:2.5rem;color:var(--brand);margin-bottom:0.75rem}.loc-card h3{font-size:1rem;margin-bottom:0.35rem}.loc-card p{color:var(--txt-light);font-size:0.9rem}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.portfolio-item{border-radius:var(--radius-lg);overflow:hidden;position:relative}.portfolio-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform var(--transition)}.portfolio-item:hover img{transform:scale(1.06)}.portfolio-caption{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(transparent,hsla(210,25%,15%,0.75));color:var(--white);font-weight:600;font-size:0.9rem}.policy-content{max-width:48rem;margin:0 auto;padding:3rem 0}.policy-content h1{margin-bottom:2rem;text-align:center}.policy-content h2{margin:2rem 0 1rem;font-size:1.35rem;color:var(--dark)}.policy-content h3{margin:1.5rem 0 0.75rem;font-size:1.1rem}.policy-content p{color:var(--txt-light);margin-bottom:1rem;line-height:1.8}.policy-content ul,.policy-content ol{margin:1rem 0 1rem 1.5rem;color:var(--txt-light)}.policy-content ul li,.policy-content ol li{margin-bottom:0.5rem;line-height:1.7}.thankyou-wrap{text-align:center;padding:6rem 0;min-height:60vh;display:flex;align-items:center;justify-content:center}.thankyou-wrap svg{width:5rem;height:5rem;color:var(--brand);margin-bottom:1.5rem}.thankyou-wrap h1{margin-bottom:1rem}.thankyou-wrap p{color:var(--txt-light);font-size:1.1rem;max-width:28rem;margin:0 auto 2rem}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--dark);color:hsla(0,0%,100%,0.85);padding:1.25rem;z-index:9999;transform:translateY(100%);transition:transform 0.4s ease;box-shadow:0 -4px 20px hsla(0,0%,0%,0.2)}.cookie-banner.visible{transform:translateY(0)}.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:1200px;margin:0 auto;flex-wrap:wrap}.cookie-inner p{font-size:0.9rem;flex:1;min-width:200px}.cookie-inner a{color:var(--accent)}.cookie-btns{display:flex;gap:0.75rem}.cookie-btns button{padding:0.6rem 1.5rem;border-radius:var(--radius);font-family:var(--font-heading);font-weight:600;font-size:0.9rem;cursor:pointer;border:none;min-height:2.75rem;min-width:2.75rem;transition:all var(--transition)}.cookie-accept{background:var(--accent);color:var(--dark)}.cookie-accept:hover{background:var(--accent-hover)}.cookie-reject{background:transparent;color:hsla(0,0%,100%,0.7);border:1px solid hsla(0,0%,100%,0.3)}.cookie-reject:hover{border-color:hsla(0,0%,100%,0.6);color:var(--white)}.cookie-settings-btn{position:fixed;bottom:1rem;left:1rem;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--dark);color:var(--white);border:none;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:var(--shadow-md);z-index:9998;transition:all var(--transition)}.cookie-settings-btn:hover{background:var(--brand)}.cookie-settings-btn svg{width:1.25rem;height:1.25rem}@media(max-width:1032px){.svc-grid{grid-template-columns:repeat(2,1fr)}.pillars-row{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.ftr-grid{grid-template-columns:repeat(2,1fr)}.about-split,.svc-detail-split,.contact-layout{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:752px){.main-nav{display:none}.burger{display:flex}.mobile-panel{position:fixed;top:0;right:-100%;width:85%;max-width:20rem;height:100vh;background:var(--white);z-index:9999;padding:5rem 1.5rem 2rem;overflow-y:auto;transition:right 0.35s ease;box-shadow:var(--shadow-lg)}.mobile-panel.open{display:block;right:0}.mobile-panel a{display:block;padding:0.75rem 0;font-size:1.05rem;font-weight:500;color:var(--txt);border-bottom:1px solid var(--border)}.mobile-panel a:hover{color:var(--brand)}.mobile-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--txt);min-width:2.75rem;min-height:2.75rem;display:flex;align-items:center;justify-content:center}.mob-overlay{display:none;position:fixed;inset:0;background:hsla(0,0%,0%,0.5);z-index:9998}.mob-overlay.open{display:block}.svc-grid{grid-template-columns:1fr}.pillars-row{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.hero-area{min-height:70vh}.hero-content{padding:3rem 0}.sect{padding:3.5rem 0}.ftr-grid{grid-template-columns:1fr}.location-highlights{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr}.cookie-inner{flex-direction:column;text-align:center}.cookie-btns{width:100%;justify-content:center}}