*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--c-primary:hsl(174,62%,40%);--c-primary-dark:hsl(174,62%,30%);--c-accent:hsl(36,95%,55%);--c-accent-dark:hsl(36,95%,45%);--c-text:hsl(210,15%,18%);--c-text-light:hsl(210,8%,45%);--c-bg:hsl(0,0%,100%);--c-bg-alt:hsl(170,25%,97%);--c-bg-dark:hsl(210,18%,12%);--c-border:hsl(210,10%,88%);--c-white:hsl(0,0%,100%);--radius:10px;--shadow-sm:0 2px 8px hsla(210,15%,18%,0.07);--shadow-md:0 6px 24px hsla(210,15%,18%,0.1);--shadow-lg:0 12px 40px hsla(210,15%,18%,0.13);--font-heading:'Space Grotesk',sans-serif;--font-body:'Source Serif 4',Georgia,serif;--max-w:1200px;--header-h:72px}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;color:var(--c-text);background:var(--c-bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.25;color:var(--c-text)}h1{font-size:clamp(2.25rem,5vw,3.5rem)}h2{font-size:clamp(1.75rem,3.5vw,2.5rem)}h3{font-size:clamp(1.25rem,2.5vw,1.625rem)}h4{font-size:1.125rem}a{color:var(--c-primary);text-decoration:none;transition:color .25s}a:hover{color:var(--c-primary-dark)}img{max-width:100%;height:auto;display:block}ul{list-style:none}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.site-header{position:fixed;top:0;left:0;width:100%;height:var(--header-h);background:hsla(0,0%,100%,0.97);backdrop-filter:blur(8px);z-index:1000;border-bottom:1px solid var(--c-border);transition:box-shadow .3s}.site-header.scrolled{box-shadow:var(--shadow-sm)}.header-inner{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between}.brand-logo{display:flex;align-items:center;gap:.625rem;font-family:var(--font-heading);font-weight:700;font-size:1.25rem;color:var(--c-text)}.brand-logo:hover{color:var(--c-primary)}.main-nav ul{display:flex;gap:2rem}.main-nav a{font-family:var(--font-heading);font-size:.9375rem;font-weight:500;color:var(--c-text);position:relative}.main-nav a::after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--c-primary);transition:width .25s}.main-nav a:hover::after{width:100%}.header-cta{display:inline-block;padding:.5rem 1.25rem;background:var(--c-primary);color:var(--c-white);font-family:var(--font-heading);font-size:.875rem;font-weight:600;border-radius:var(--radius);transition:background .25s,transform .15s}.header-cta:hover{background:var(--c-primary-dark);color:var(--c-white);transform:translateY(-1px)}.burger-toggle{display:none;background:none;border:none;cursor:pointer;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px}.burger-toggle span{display:block;width:24px;height:2px;background:var(--c-text);border-radius:2px;transition:transform .3s,opacity .3s}.burger-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger-toggle.active span:nth-child(2){opacity:0}.burger-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero-section{margin-top:var(--header-h);padding:5rem 0 4rem;background:linear-gradient(145deg,var(--c-bg-alt) 0%,var(--c-bg) 100%)}.hero-grid{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero-tagline{font-family:var(--font-heading);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--c-primary);margin-bottom:1rem}.hero-section h1{margin-bottom:1.25rem}.hero-section p{font-size:1.125rem;color:var(--c-text-light);margin-bottom:2rem;max-width:32rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.btn-primary{display:inline-block;padding:.875rem 2rem;background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dark));color:var(--c-white);font-family:var(--font-heading);font-size:1rem;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--c-white)}.btn-outline{display:inline-block;padding:.875rem 2rem;border:2px solid var(--c-primary);color:var(--c-primary);font-family:var(--font-heading);font-size:1rem;font-weight:600;border-radius:var(--radius);transition:background .25s,color .25s}.btn-outline:hover{background:var(--c-primary);color:var(--c-white)}.hero-visual{position:relative}.hero-visual picture,.hero-visual img{border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.stats-bar{padding:3rem 0;background:var(--c-bg-dark);color:var(--c-white)}.stats-grid{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}.stats-grid .stat-num{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--c-accent)}.stats-grid .stat-label{font-size:.9375rem;color:hsla(0,0%,100%,0.75);margin-top:.25rem}
.services-section{padding:5rem 0}.services-section .wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.section-label{font-family:var(--font-heading);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--c-accent);margin-bottom:.5rem}.section-heading{margin-bottom:1rem}.section-sub{color:var(--c-text-light);max-width:36rem;margin-bottom:3rem}.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.srv-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:2rem;transition:transform .25s,box-shadow .25s}.srv-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.srv-card .srv-icon{width:52px;height:52px;background:var(--c-bg-alt);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.srv-card .srv-icon svg{width:26px;height:26px;color:var(--c-primary)}.srv-card h3{margin-bottom:.75rem;font-size:1.1875rem}.srv-card p{font-size:.9375rem;color:var(--c-text-light);margin-bottom:1.25rem}.srv-card .srv-link{font-family:var(--font-heading);font-size:.875rem;font-weight:600;color:var(--c-primary)}
.portfolio-section{padding:5rem 0;background:var(--c-bg-alt)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.portfolio-card{border-radius:var(--radius);overflow:hidden;background:var(--c-bg);box-shadow:var(--shadow-sm);transition:box-shadow .3s}.portfolio-card:hover{box-shadow:var(--shadow-md)}.portfolio-card picture,.portfolio-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.portfolio-card .portfolio-info{padding:1.5rem}.portfolio-card h3{margin-bottom:.5rem}.portfolio-card p{color:var(--c-text-light);font-size:.9375rem}.portfolio-header{max-width:var(--max-w);margin:0 auto 3rem;padding:0 1.5rem}
.testimonials-section{padding:5rem 0}.testimonials-section .wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.testimonial-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}.testimonial-card{background:var(--c-bg-alt);border-radius:var(--radius);padding:2rem;position:relative}.testimonial-card::before{content:"\201C";font-family:var(--font-heading);font-size:4rem;line-height:1;color:var(--c-primary);opacity:.25;position:absolute;top:.75rem;left:1.25rem}.testimonial-card blockquote{font-style:italic;margin-bottom:1.25rem;padding-top:1.5rem}.testimonial-card .tc-author{font-family:var(--font-heading);font-weight:600;font-size:.9375rem}.testimonial-card .tc-role{font-size:.8125rem;color:var(--c-text-light)}
.about-preview{padding:5rem 0;background:var(--c-bg-alt)}.about-grid{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.about-preview picture,.about-preview img{border-radius:var(--radius);box-shadow:var(--shadow-md)}.about-content .section-label{margin-bottom:.5rem}.about-content h2{margin-bottom:1.25rem}.about-content p{color:var(--c-text-light);margin-bottom:1.5rem}
.faq-section{padding:5rem 0}.faq-section .wrap{max-width:48rem;margin:0 auto;padding:0 1.5rem}.faq-list{margin-top:2.5rem}.faq-item{border-bottom:1px solid var(--c-border);padding:1.25rem 0}.faq-trigger{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-heading);font-size:1.0625rem;font-weight:600;color:var(--c-text);text-align:left;padding:.25rem 0;min-height:44px}.faq-trigger svg{flex-shrink:0;transition:transform .3s;color:var(--c-primary)}.faq-trigger.open svg{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--c-text-light);font-size:.9375rem;line-height:1.7}.faq-answer-inner{padding:.75rem 0 .5rem}
.cta-section{padding:5rem 0;background:linear-gradient(135deg,var(--c-primary),hsl(174,62%,28%));color:var(--c-white);text-align:center}.cta-section .wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.cta-section h2{color:var(--c-white);margin-bottom:1rem}.cta-section p{color:hsla(0,0%,100%,0.85);max-width:32rem;margin:0 auto 2rem}.btn-accent{display:inline-block;padding:1rem 2.5rem;background:var(--c-accent);color:var(--c-text);font-family:var(--font-heading);font-size:1.0625rem;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:background .25s,transform .2s}.btn-accent:hover{background:var(--c-accent-dark);color:var(--c-text);transform:translateY(-2px)}
.site-footer{background:var(--c-bg-dark);color:hsla(0,0%,100%,0.8);padding:4rem 0 0}.footer-grid{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2rem}.footer-about p{font-size:.9375rem;margin-top:1rem;color:hsla(0,0%,100%,0.65)}.footer-about .brand-logo{color:var(--c-white)}.site-footer h4{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--c-white);margin-bottom:1rem}.footer-links ul li,.footer-contact ul li{margin-bottom:.5rem;font-size:.9375rem}.footer-links a{color:hsla(0,0%,100%,0.7)}.footer-links a:hover{color:var(--c-accent)}.footer-contact a{color:hsla(0,0%,100%,0.7)}.footer-contact a:hover{color:var(--c-accent)}.footer-bottom{margin-top:3rem;border-top:1px solid hsla(0,0%,100%,0.1);padding:1.5rem 0}.footer-bottom-inner{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-bottom p{font-size:.8125rem;color:hsla(0,0%,100%,0.5)}.footer-legal{display:flex;gap:1.5rem}.footer-legal a{font-size:.8125rem;color:hsla(0,0%,100%,0.5)}.footer-legal a:hover{color:var(--c-accent)}
.page-hero{margin-top:var(--header-h);padding:4rem 0 3rem;background:var(--c-bg-alt);text-align:center}.page-hero .wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.page-hero h1{margin-bottom:1rem}.page-hero p{color:var(--c-text-light);max-width:36rem;margin:0 auto}
.content-section{padding:4rem 0}.content-section .wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
.service-detail{padding:4rem 0}.service-detail .wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.service-detail-grid picture,.service-detail-grid img{border-radius:var(--radius);box-shadow:var(--shadow-sm)}.service-detail h2{margin-bottom:1rem}.service-detail p{color:var(--c-text-light);margin-bottom:1rem}.service-features{list-style:none;margin:1.5rem 0}.service-features li{padding:.5rem 0 .5rem 1.75rem;position:relative;color:var(--c-text-light)}.service-features li::before{content:"";position:absolute;left:0;top:.85rem;width:10px;height:10px;background:var(--c-primary);border-radius:50%}
.contact-form-section{padding:4rem 0}.contact-form-section .wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-info h2{margin-bottom:1.5rem}.contact-info p{color:var(--c-text-light);margin-bottom:1rem}.contact-info ul li{margin-bottom:.75rem;color:var(--c-text-light)}.contact-info a{color:var(--c-primary)}.site-form{display:flex;flex-direction:column;gap:1.25rem}.site-form label{font-family:var(--font-heading);font-size:.875rem;font-weight:600;display:block;margin-bottom:.375rem}.site-form input,.site-form textarea,.site-form select{width:100%;padding:.75rem 1rem;border:1px solid var(--c-border);border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;transition:border-color .25s}.site-form input:focus,.site-form textarea:focus,.site-form select:focus{outline:none;border-color:var(--c-primary)}.site-form textarea{min-height:140px;resize:vertical}.form-submit{align-self:flex-start}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.blog-card{border-radius:var(--radius);overflow:hidden;background:var(--c-bg);border:1px solid var(--c-border);transition:box-shadow .25s}.blog-card:hover{box-shadow:var(--shadow-md)}.blog-card picture,.blog-card img{width:100%;aspect-ratio:2/1;object-fit:cover}.blog-card .blog-card-body{padding:1.5rem}.blog-card .blog-date{font-family:var(--font-heading);font-size:.75rem;font-weight:500;color:var(--c-text-light);text-transform:uppercase;letter-spacing:.05em}.blog-card h3{margin:.5rem 0;font-size:1.125rem}.blog-card h3 a{color:var(--c-text)}.blog-card h3 a:hover{color:var(--c-primary)}.blog-card p{color:var(--c-text-light);font-size:.9375rem}
.article-layout{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:1fr 320px;gap:3rem}.article-main{min-width:0}.article-main h1{margin-bottom:.5rem}.article-meta{font-family:var(--font-heading);font-size:.8125rem;color:var(--c-text-light);margin-bottom:2rem}.article-main picture,.article-main img{border-radius:var(--radius);margin-bottom:2rem;width:100%}.article-body h2{margin:2rem 0 1rem;font-size:1.5rem}.article-body p{margin-bottom:1.25rem}.article-body ul,.article-body ol{margin:1rem 0 1.25rem 1.5rem;color:var(--c-text-light)}.article-body li{margin-bottom:.375rem;list-style:disc}.article-sidebar{position:sticky;top:calc(var(--header-h) + 2rem)}.sidebar-block{background:var(--c-bg-alt);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.sidebar-block h4{margin-bottom:1rem}.sidebar-block ul li{margin-bottom:.75rem}.sidebar-block a{font-size:.9375rem;color:var(--c-text)}.sidebar-block a:hover{color:var(--c-primary)}
.policy-content{margin-top:var(--header-h);padding:3rem 0 4rem}.policy-content .wrap{max-width:48rem;margin:0 auto;padding:0 1.5rem}.policy-content h1{margin-bottom:2rem}.policy-content h2{margin:2.5rem 0 1rem;font-size:1.375rem}.policy-content h3{margin:1.5rem 0 .75rem;font-size:1.125rem}.policy-content p{color:var(--c-text-light);margin-bottom:1rem}.policy-content ul{margin:1rem 0 1.25rem 1.5rem}.policy-content ul li{color:var(--c-text-light);margin-bottom:.375rem;list-style:disc}
.error-page{margin-top:var(--header-h);padding:6rem 0;text-align:center}.error-page .wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.error-page h1{font-size:clamp(4rem,10vw,8rem);color:var(--c-primary)}.error-page h2{margin-bottom:1rem}.error-page p{color:var(--c-text-light);margin-bottom:2rem}
.thank-you-section{margin-top:var(--header-h);padding:6rem 0;text-align:center}.thank-you-section .wrap{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.thank-you-section h1{color:var(--c-primary);margin-bottom:1rem}.thank-you-section p{color:var(--c-text-light);margin-bottom:2rem}
.cookie-banner{position:fixed;bottom:0;left:0;width:100%;background:var(--c-bg-dark);color:var(--c-white);padding:1.25rem 0;z-index:9999;transform:translateY(100%);transition:transform .4s ease}.cookie-banner.visible{transform:translateY(0)}.cookie-inner{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.cookie-inner p{font-size:.875rem;color:hsla(0,0%,100%,0.8);flex:1;min-width:200px}.cookie-actions{display:flex;gap:.75rem}.cookie-btn{padding:.5rem 1.25rem;border:none;border-radius:var(--radius);font-family:var(--font-heading);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .2s}.cookie-accept{background:var(--c-accent);color:var(--c-text)}.cookie-accept:hover{background:var(--c-accent-dark)}.cookie-reject{background:hsla(0,0%,100%,0.15);color:var(--c-white)}.cookie-reject:hover{background:hsla(0,0%,100%,0.25)}.cookie-settings-icon{position:fixed;bottom:1.25rem;left:1.25rem;width:44px;height:44px;border-radius:50%;background:var(--c-bg-dark);color:var(--c-white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);z-index:9998;transition:background .2s}.cookie-settings-icon:hover{background:var(--c-primary)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1040px){.hero-grid,.about-grid,.service-detail-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{order:-1}.srv-grid{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:1fr}.testimonial-cards{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}.article-layout{grid-template-columns:1fr}.article-sidebar{position:static}}
@media(max-width:752px){:root{--header-h:64px}.main-nav{position:fixed;top:var(--header-h);left:0;width:100%;background:var(--c-bg);border-bottom:1px solid var(--c-border);padding:1.5rem;transform:translateY(-120%);transition:transform .35s ease;z-index:999}.main-nav.open{transform:translateY(0)}.main-nav ul{flex-direction:column;gap:1rem}.main-nav a{font-size:1.125rem}.header-cta{display:none}.burger-toggle{display:flex}.srv-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom-inner{flex-direction:column;text-align:center}.footer-legal{flex-wrap:wrap;justify-content:center}.hero-section{padding:3rem 0}.cookie-inner{flex-direction:column;text-align:center}.cookie-actions{justify-content:center}}
