*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--c-primary:hsl(195,65%,22%);--c-primary-light:hsl(195,55%,32%);--c-primary-dark:hsl(195,70%,15%);--c-accent:hsl(35,85%,55%);--c-accent-hover:hsl(35,85%,45%);--c-green:hsl(145,50%,38%);--c-bg:hsl(195,15%,96%);--c-bg-alt:hsl(195,10%,92%);--c-text:hsl(200,20%,18%);--c-text-light:hsl(200,10%,40%);--c-white:#fff;--c-border:hsl(200,10%,85%);--radius:6px;--shadow:0 2px 12px hsla(200,20%,18%,.08);--shadow-lg:0 8px 32px hsla(200,20%,18%,.12);--font-heading:'Poppins',sans-serif;--font-body:'Inter',sans-serif;--header-h:72px}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);font-size:1rem;line-height:1.65;color:var(--c-text);background:var(--c-white)}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-primary);text-decoration:none;transition:color .2s}
a:hover{color:var(--c-accent)}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.25;color:var(--c-primary-dark)}
h1{font-size:clamp(1.9rem,4vw,3rem);font-weight:800}
h2{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700}
h3{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:600}
h4{font-size:1.1rem;font-weight:600}
p+p{margin-top:1rem}
.wrap{max-width:1200px;margin:0 auto;padding:0 1.25rem}
.section-pad{padding:clamp(2.5rem,6vw,5rem) 0}
.section-title{text-align:center;margin-bottom:2.5rem}
.section-title h2{margin-bottom:.5rem}
.section-title p{color:var(--c-text-light);max-width:600px;margin:0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 2rem;border-radius:var(--radius);font-family:var(--font-body);font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:all .25s;min-height:44px;min-width:44px;text-align:center}
.btn-primary{background:var(--c-accent);color:var(--c-white)}
.btn-primary:hover{background:var(--c-accent-hover);color:var(--c-white);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-outline{background:transparent;color:var(--c-white);border:2px solid var(--c-white)}
.btn-outline:hover{background:var(--c-white);color:var(--c-primary)}
.btn-secondary{background:var(--c-primary);color:var(--c-white)}
.btn-secondary:hover{background:var(--c-primary-light);color:var(--c-white)}

.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:var(--c-white);box-shadow:0 1px 6px hsla(200,20%,18%,.06);z-index:1000;transition:box-shadow .3s}
.header-wrap{max-width:1200px;margin:0 auto;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;height:100%}
.header-logo,.footer-logo{font-family:var(--font-heading);font-size:1.45rem;font-weight:700;color:var(--c-primary-dark);display:flex;align-items:center;gap:.35rem}
.logo-icon{color:var(--c-accent);font-size:1.2rem}
.logo-accent{color:var(--c-accent)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;min-height:44px;min-width:44px;justify-content:center;align-items:center}
.nav-toggle span{display:block;width:24px;height:2.5px;background:var(--c-primary-dark);border-radius:2px;transition:all .3s}
.nav-list{display:flex;align-items:center;gap:.25rem}
.nav-link{display:flex;align-items:center;gap:.3rem;padding:.6rem 1rem;font-weight:500;color:var(--c-text);border-radius:var(--radius);transition:all .2s;min-height:44px}
.nav-link:hover,.nav-link.active{color:var(--c-accent);background:hsl(35,85%,55%,.07)}
.nav-link.cta-btn{background:var(--c-accent);color:var(--c-white);margin-left:.5rem}
.nav-link.cta-btn:hover{background:var(--c-accent-hover);color:var(--c-white)}
.has-dropdown{position:relative}
.dropdown-trigger svg{transition:transform .2s}
.dropdown-menu{position:absolute;top:100%;left:0;min-width:260px;background:var(--c-white);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.5rem 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s}
.has-dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.has-dropdown:hover .dropdown-trigger svg{transform:rotate(180deg)}
.dropdown-menu a{display:block;padding:.6rem 1.25rem;color:var(--c-text);font-size:.92rem;transition:all .15s}
.dropdown-menu a:hover{background:var(--c-bg);color:var(--c-accent)}

.hero-section{position:relative;min-height:85vh;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:var(--header-h)}
.hero-bg{position:absolute;inset:0;z-index: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(195,65%,12%,.82),hsla(195,65%,22%,.65));z-index:1}
.hero-content{position:relative;z-index:2;text-align:center;padding:2rem 1.25rem;max-width:750px}
.hero-content h1{color:var(--c-white);margin-bottom:1rem}
.hero-content p{color:hsla(0,0%,100%,.9);font-size:clamp(1rem,2vw,1.2rem);margin-bottom:2rem}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{background:var(--c-white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.service-card-img{height:220px;overflow:hidden}
.service-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.service-card:hover .service-card-img img{transform:scale(1.05)}
.service-card-body{padding:1.25rem}
.service-card-body h3{margin-bottom:.5rem}
.service-card-body p{color:var(--c-text-light);font-size:.92rem;margin-bottom:1rem}
.service-card-link{font-weight:600;color:var(--c-accent);display:inline-flex;align-items:center;gap:.3rem}
.service-card-link:hover{color:var(--c-primary)}

.about-preview{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.about-preview-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg)}
.about-preview-text h2{margin-bottom:1rem}
.about-preview-text p{color:var(--c-text-light);margin-bottom:1rem}
.credentials-list{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}
.credential-badge{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--c-bg);border-radius:var(--radius);font-size:.85rem;font-weight:500;color:var(--c-primary)}
.credential-badge svg{flex-shrink:0}

.client-types{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.client-type-card{position:relative;border-radius:var(--radius);overflow:hidden;height:300px}
.client-type-card picture,.client-type-card img{width:100%;height:100%;object-fit:cover}
.client-type-overlay{position:absolute;inset:0;background:linear-gradient(to top,hsla(195,65%,12%,.8),transparent 60%);display:flex;align-items:flex-end;padding:1.5rem}
.client-type-overlay h3{color:var(--c-white);font-size:1.2rem}

.trust-section{background:var(--c-primary-dark)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.trust-item{padding:1.5rem}
.trust-icon{font-size:2.5rem;margin-bottom:.75rem;color:var(--c-accent)}
.trust-item h4{color:var(--c-white);margin-bottom:.4rem}
.trust-item p{color:hsla(0,0%,100%,.7);font-size:.88rem}

.faq-list{max-width:800px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--c-border)}
.faq-item details{padding:0}
.faq-item summary{padding:1.15rem 0;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;min-height:44px;color:var(--c-primary-dark);font-size:1.02rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.3rem;color:var(--c-accent);transition:transform .2s;flex-shrink:0;margin-left:1rem}
.faq-item details[open] summary::after{content:"\2212"}
.faq-answer{padding:0 0 1.25rem;color:var(--c-text-light);font-size:.95rem;line-height:1.7}

.contact-strip{background:var(--c-primary);color:var(--c-white)}
.contact-strip-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.contact-strip-text h2{color:var(--c-white);margin-bottom:1rem}
.contact-strip-text p{color:hsla(0,0%,100%,.85);margin-bottom:1.5rem}
.contact-info-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:hsla(0,0%,100%,.9)}
.contact-info-item a{color:var(--c-accent)}
.contact-form-card{background:var(--c-white);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-lg)}
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-weight:500;margin-bottom:.35rem;color:var(--c-text);font-size:.9rem}
.form-control{width:100%;padding:.7rem 1rem;border:1px solid var(--c-border);border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;transition:border-color .2s;min-height:44px}
.form-control:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px hsla(35,85%,55%,.15)}
textarea.form-control{min-height:100px;resize:vertical}
select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}

.page-hero{background:var(--c-primary);padding:clamp(2rem,5vw,4rem) 0;margin-top:var(--header-h);text-align:center}
.page-hero h1{color:var(--c-white);margin-bottom:.5rem}
.page-hero p{color:hsla(0,0%,100%,.8);max-width:600px;margin:0 auto}
.breadcrumb{display:flex;justify-content:center;gap:.5rem;margin-top:.75rem;font-size:.85rem}
.breadcrumb a{color:var(--c-accent)}
.breadcrumb span{color:hsla(0,0%,100%,.6)}

.service-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:start}
.service-detail-text h2{margin-bottom:1rem}
.service-detail-text p{color:var(--c-text-light);margin-bottom:1rem}
.service-detail-text ul{margin:1rem 0;padding-left:0}
.service-detail-text ul li{padding:.4rem 0 .4rem 1.5rem;position:relative;color:var(--c-text-light)}
.service-detail-text ul li::before{content:"\2713";position:absolute;left:0;color:var(--c-green);font-weight:700}
.service-sidebar{background:var(--c-bg);border-radius:var(--radius);padding:1.75rem}
.service-sidebar h3{margin-bottom:1rem;font-size:1.1rem}
.sidebar-links a{display:block;padding:.6rem 0;border-bottom:1px solid var(--c-border);color:var(--c-text);font-size:.92rem}
.sidebar-links a:hover{color:var(--c-accent);padding-left:.5rem}
.sidebar-cta{margin-top:1.5rem;padding:1.25rem;background:var(--c-primary);border-radius:var(--radius);color:var(--c-white);text-align:center}
.sidebar-cta h4{color:var(--c-white);margin-bottom:.5rem}
.sidebar-cta p{font-size:.88rem;color:hsla(0,0%,100%,.8);margin-bottom:1rem}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.gallery-item{border-radius:var(--radius);overflow:hidden;aspect-ratio:3/2;cursor:pointer;position:relative}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:.75rem 1rem;background:linear-gradient(to top,hsla(0,0%,0%,.7),transparent);color:var(--c-white);font-size:.85rem;transform:translateY(100%);transition:transform .3s}
.gallery-item:hover .gallery-caption{transform:translateY(0)}

.about-full{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.about-values{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2rem}
.value-card{padding:1.25rem;background:var(--c-bg);border-radius:var(--radius);border-left:3px solid var(--c-accent)}
.value-card h4{margin-bottom:.35rem}
.value-card p{font-size:.9rem;color:var(--c-text-light)}

.contact-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.contact-details-card{background:var(--c-bg);border-radius:var(--radius);padding:2rem}
.contact-details-card h3{margin-bottom:1.25rem}
.contact-detail-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--c-border)}
.contact-detail-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.contact-detail-icon{flex-shrink:0;width:44px;height:44px;background:var(--c-primary);color:var(--c-white);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.map-placeholder{margin-top:2rem;border-radius:var(--radius);overflow:hidden;background:var(--c-bg-alt);height:250px;display:flex;align-items:center;justify-content:center;color:var(--c-text-light)}

.policy-content{max-width:800px;margin:0 auto}
.policy-content h2{margin:2rem 0 1rem;font-size:1.4rem}
.policy-content h3{margin:1.5rem 0 .75rem;font-size:1.15rem}
.policy-content p{color:var(--c-text-light);margin-bottom:1rem}
.policy-content ul{margin:1rem 0;padding-left:1.5rem}
.policy-content ul li{padding:.3rem 0;color:var(--c-text-light);list-style:disc}

.thankyou-section{text-align:center;padding:clamp(4rem,10vw,8rem) 1.25rem;margin-top:var(--header-h)}
.thankyou-section .check-icon{font-size:4rem;color:var(--c-green);margin-bottom:1.5rem}
.thankyou-section h1{margin-bottom:1rem}
.thankyou-section p{color:var(--c-text-light);max-width:500px;margin:0 auto 2rem}

.site-footer{background:var(--c-primary-dark);color:hsla(0,0%,100%,.85);padding:3.5rem 0 0}
.footer-wrap{max-width:1200px;margin:0 auto;padding:0 1.25rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}
.footer-logo{color:var(--c-white);margin-bottom:1rem}
.footer-about p{font-size:.9rem;line-height:1.6;color:hsla(0,0%,100%,.7)}
.footer-reg{font-size:.8rem;color:hsla(0,0%,100%,.5);margin-top:.75rem}
.footer-col h4{color:var(--c-white);margin-bottom:1rem;font-size:1rem}
.footer-col ul li{margin-bottom:.4rem}
.footer-col ul li a{color:hsla(0,0%,100%,.7);font-size:.9rem;transition:color .2s}
.footer-col ul li a:hover{color:var(--c-accent)}
.footer-bottom{margin-top:2.5rem;padding:1.25rem 0;border-top:1px solid hsla(0,0%,100%,.1);text-align:center}
.footer-bottom p{font-size:.82rem;color:hsla(0,0%,100%,.5)}

.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--c-white);box-shadow:0 -4px 24px hsla(200,20%,18%,.15);z-index:9999;padding:1.25rem}
.cookie-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.cookie-inner p{flex:1;min-width:280px;font-size:.88rem;color:var(--c-text-light)}
.cookie-actions{display:flex;gap:.5rem}
.cookie-btn{padding:.55rem 1.25rem;border-radius:var(--radius);font-family:var(--font-body);font-weight:600;font-size:.85rem;cursor:pointer;border:none;min-height:44px}
.cookie-accept{background:var(--c-accent);color:var(--c-white)}
.cookie-accept:hover{background:var(--c-accent-hover)}
.cookie-reject{background:var(--c-bg);color:var(--c-text)}
.cookie-reject:hover{background:var(--c-bg-alt)}
.cookie-more{font-size:.82rem;color:var(--c-primary);text-decoration:underline}
.cookie-settings-btn{position:fixed;bottom:1rem;left:1rem;width:44px;height:44px;border-radius:50%;background:var(--c-primary);color:var(--c-white);border:none;font-size:1.3rem;cursor:pointer;box-shadow:var(--shadow);z-index:9998;transition:background .2s}
.cookie-settings-btn:hover{background:var(--c-primary-light)}

@media(max-width:1028px){
.services-grid{grid-template-columns:repeat(2,1fr)}
.trust-grid{grid-template-columns:repeat(2,1fr)}
.footer-wrap{grid-template-columns:1fr 1fr}
.about-preview,.about-full,.service-detail,.contact-page-grid,.contact-strip-inner{grid-template-columns:1fr;gap:2rem}
.client-types{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:756px){
.nav-toggle{display:flex}
.main-nav{position:fixed;top:var(--header-h);left:0;right:0;background:var(--c-white);box-shadow:var(--shadow-lg);transform:translateY(-110%);transition:transform .35s;padding:1rem;max-height:calc(100vh - var(--header-h));overflow-y:auto}
.main-nav.open{transform:translateY(0)}
.nav-list{flex-direction:column;align-items:stretch}
.nav-link{padding:.85rem 1rem}
.nav-link.cta-btn{margin-left:0;margin-top:.5rem;justify-content:center}
.has-dropdown .dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding-left:1rem;display:none}
.has-dropdown.dd-open .dropdown-menu{display:block}
.services-grid{grid-template-columns:1fr}
.client-types{grid-template-columns:1fr}
.trust-grid{grid-template-columns:1fr}
.gallery-grid{grid-template-columns:repeat(2,1fr)}
.footer-wrap{grid-template-columns:1fr}
.hero-section{min-height:70vh}
.about-values{grid-template-columns:1fr}
.contact-strip-inner{grid-template-columns:1fr}
}
@media(max-width:480px){
.gallery-grid{grid-template-columns:1fr}
.hero-actions{flex-direction:column;align-items:center}
.cookie-inner{flex-direction:column;text-align:center}
.cookie-actions{justify-content:center}
}
