:root{--accent-color:#659e40;--accent-dark:#4d7b30;--accent-light:#eef5e8;--accent-soft:#f6faf1;--accent-strong:#35561f;--border-color:#dde3dd;--container:1200px;--font-body:'Inter', system-ui, sans-serif;--font-display:'Oswald', system-ui, sans-serif;--font-heading:'Josefin Sans', system-ui, sans-serif;--header-height:92px;--radius:6px;--shadow-soft:0 12px 40px #00000012;--shadow-strong:0 24px 60px #0000001f;--space-1:.5rem;--space-10:5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:3rem;--space-8:4rem;--surface:#ffffff;--surface-alt:#f8f6f0;--surface-dark:#1f211d;--text-color:#2b2d29;--text-on-dark:#f5f3ed;--text-soft:#67706a;--topbar-height:2.2rem}
:root body{transition:opacity 300ms}
:root.waiting body{opacity:.2}
*,*::before,*::after{box-sizing:border-box}
a{color:inherit;text-decoration:none}
body{background:var(--surface);color:var(--text-color);font-family:var(--font-body);line-height:1.6;margin:0;-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
button{background:none;border:none}
button,input,textarea{font:inherit}
h1,h2,h3,h4,p{margin:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}
img{display:block;max-width:100%}
input,textarea{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius);padding:.95rem 1rem;width:100%}
label{display:block;font-weight:700;margin-bottom:.5rem}
main{overflow:hidden}
p + p{margin-top:var(--space-2)}
textarea{min-height:10rem;resize:vertical}
ul{list-style:none;margin:0;padding:0}
.blog-article .cta-block{margin-bottom:var(--space-8)}
.blog-article__cover{border-radius:var(--radius);box-shadow:var(--shadow-soft);margin-bottom:var(--space-4);width:100%}
.blog-article__figure{margin-top:var(--space-3)}
.blog-article__figure figcaption{color:var(--text-soft);font-size:.95rem;margin-top:.75rem}
.blog-article__figure img{border-radius:var(--radius);box-shadow:var(--shadow-soft);width:100%}
.blog-article__intro{color:var(--accent-strong);font-size:1.2rem;font-weight:600;margin-bottom:var(--space-4)}
.blog-article__section + .blog-article__section{margin-top:var(--space-6)}
.blog-article__section h2{margin-bottom:var(--space-2)}
.blog-card{display:grid;gap:var(--space-3);grid-template-columns:200px 1fr}
.blog-card h2{font-family:var(--font-heading);font-size:1.6rem;line-height:1.2;margin:.35rem 0 .7rem}
.blog-card img{border-radius:var(--radius);height:100%;min-height:13rem;object-fit:cover}
.blog-card--link{color:inherit;display:grid}
.blog-card__link{color:var(--accent-color);display:inline-block;font-weight:700;margin-top:var(--space-2)}
.blog-detail{padding-bottom:var(--space-8)}
.blog-detail__meta{color:var(--text-soft);display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}
.blog-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2, minmax(0, 1fr))}
.btn{border:1px solid transparent;border-radius:var(--radius);display:inline-flex;font-weight:700;justify-content:center;padding:.95rem 1.35rem;transition:.25s ease}
.btn--dark{background:var(--surface-dark);color:#fff}
.btn--outline{border-color:var(--border-color);color:var(--text-color)}
.btn--outline-light{border-color:#ffffff40;color:var(--text-on-dark)}
.btn--primary{background:var(--accent-color);color:#fff}
.btn--small{padding:.75rem 1rem}
.btn:hover{transform:translateY(-2px)}
.card,.feature-panel,.contact-panel,.form-card,.quote-panel,.testimonial-card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:var(--space-4)}
.card-grid--four{grid-template-columns:repeat(4, minmax(0, 1fr))}
.card-grid--three{grid-template-columns:repeat(3, minmax(0, 1fr))}
.card-grid--three .card{display:flex;flex-direction:column}
.card-grid--three .price{margin-top:auto;padding-top:var(--space-3)}
.card-grid--two{grid-template-columns:repeat(2, minmax(0, 1fr))}
.check-list{display:grid;gap:.85rem;margin-top:var(--space-3)}
.check-list li{padding-left:1.6rem;position:relative}
.check-list li::before{color:var(--accent-color);content:'✓';font-weight:700;left:0;position:absolute}
.contact-list{display:grid;gap:var(--space-2);margin-top:var(--space-4)}
.contact-list li{border-bottom:1px solid var(--border-color);display:grid;gap:.35rem;padding-bottom:var(--space-2)}
.contact-list strong{font-family:var(--font-heading);font-size:1.1rem}
.contact-preview,.contact-layout{display:grid;gap:var(--space-4);grid-template-columns:.95fr 1.05fr}
.contact-preview--edge{align-items:stretch;gap:var(--space-4);grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);margin:0 auto}
.contact-preview__content{max-width:none;padding:var(--space-5) 0;width:100%}
.container{margin:0 auto;max-width:var(--container);padding:0 var(--space-3)}
.cta-block{text-align:center}
.cta-block .cta-row{justify-content:center}
.document h2 + p,.document p + h2{margin-top:var(--space-3)}
.faq-list{display:grid;gap:.75rem;margin-top:var(--space-2)}
.faq-list details{border-top:1px solid #ffffff26;padding-top:.75rem}
.faq-list p{color:#d0d4ce;margin-top:.75rem}
.faq-list summary{cursor:pointer;font-weight:700;list-style:none}
.feature-panel{align-self:start;background:linear-gradient(180deg, var(--accent-soft) 0%, #fff 100%)}
.footer{background:var(--surface-dark);color:var(--text-on-dark);padding:var(--space-10) 0 var(--space-4)}
.footer .faq-list details{border-top:1px solid #ffffff1f}
.footer__bottom{align-items:center;border-top:1px solid #ffffff1f;display:grid;gap:var(--space-2);grid-template-columns:1fr auto 1fr;margin-top:var(--space-6);padding-top:var(--space-3)}
.footer__bottom > p{margin:0}
.footer__columns{display:grid;gap:var(--space-4);grid-template-columns:repeat(3, minmax(0, 1fr))}
.footer__columns h3{color:var(--text-on-dark);font-family:var(--font-heading);margin-bottom:var(--space-2)}
.footer__columns li + li{margin-top:.65rem}
.footer__columns ul,.footer__columns p{color:#d0d4ce}
.footer__intro h2{color:var(--text-on-dark);font-family:var(--font-heading);font-size:clamp(2.1rem, 4vw, 3.4rem);margin:var(--space-2) 0 var(--space-3)}
.footer__intro p:last-child{color:#d0d4ce;max-width:35rem}
.footer__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}
.footer__privacy{justify-self:center;text-align:center}
.footer__privacy a{text-decoration:none}
.footer__social{align-items:center;color:var(--text-on-dark);display:inline-flex;justify-content:center;text-decoration:none}
.footer__social svg{fill:currentColor;height:1.3rem;width:1.3rem}
.footer__top{display:grid;gap:var(--space-5);grid-template-columns:.9fr 1.1fr}
.form-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(2, minmax(0, 1fr));margin-bottom:var(--space-3)}
.form-grid__full{grid-column:1 / -1}
.hero{background:linear-gradient(180deg, var(--surface-alt) 0%, #fff 100%);min-height:calc(100vh - 120px);position:relative}
.hero__actions,.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}
.hero__backdrop{inset:0;overflow:hidden;position:absolute}
.hero__backdrop img{height:100%;object-fit:cover;width:100%}
.hero__backdrop::after{background:linear-gradient(90deg, #f8f6f0f2 0%, #f8f6f0d6 42%, #f8f6f040 100%);content:'';inset:0;position:absolute}
.hero__card{position:relative}
.hero__card img{border-radius:var(--radius);box-shadow:var(--shadow-strong);min-height:32rem;object-fit:cover;width:100%}
.hero__content{align-items:center;display:grid;gap:var(--space-6);grid-template-columns:1.1fr .9fr;min-height:calc(100vh - 120px);position:relative;z-index:1}
.hero__copy h1,.page-hero h1{font-size:clamp(3rem, 6vw, 5.4rem);margin:var(--space-2) 0 var(--space-3)}
.hero__copy h1,.page-hero h1,.not-found__number{font-family:var(--font-heading);line-height:1.05}
.hero__offer{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius);bottom:-2rem;box-shadow:var(--shadow-soft);left:-2rem;max-width:18rem;padding:var(--space-4);position:absolute}
.hero__offer h2{font-family:var(--font-heading);font-size:1.8rem;line-height:1.15;margin:var(--space-1) 0}
.hero__offer p{color:var(--accent-color);font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero__quote{border-left:2px solid var(--accent-color);display:grid;gap:.25rem;margin-top:var(--space-5);padding-left:var(--space-3)}
.hero__quote span{color:var(--text-soft)}
.hero__quote strong{font-family:var(--font-heading);font-size:1.35rem}
.image-stack{position:relative}
.image-stack .main{border-radius:var(--radius);box-shadow:var(--shadow-soft);min-height:34rem;object-fit:cover;width:100%}
.lang-switch{display:inline-flex;gap:.35rem}
.lang-switch a{border:1px solid var(--border-color);border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:700;justify-content:center;min-width:2.7rem;padding:.28rem .55rem;transition:.2s ease}
.lang-switch a.active,.lang-switch a[aria-current=page]{background:var(--accent-color);border-color:var(--accent-color);box-shadow:inset 0 0 0 1px #ffffff1f, 0 8px 20px #12966d33;color:#fff}
.lead{color:var(--text-soft);font-size:1.12rem;max-width:42rem}
.logo-grid{align-items:center;grid-template-columns:repeat(3, minmax(0, 1fr))}
.logo-grid img{filter:saturate(.92) contrast(1.04);height:40px;object-fit:contain;width:min(100%, 140px)}
.logo-grid li{align-items:center;background:#fff;border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:flex;justify-content:center;min-height:5.25rem;padding:var(--space-2)}
.logo-grid,.card-grid,.stats-grid{display:grid;gap:var(--space-3)}
.map-card{background:linear-gradient(180deg, #d8efe4 0%, #f0faf5 100%);box-shadow:var(--shadow-soft);isolation:isolate;min-height:24rem;overflow:hidden}
.mobile-lang{margin-top:var(--space-1)}
.narrow{max-width:860px}
.not-found{align-items:center;display:flex;justify-content:center;min-height:100vh;position:relative;text-align:center}
.not-found__bg{inset:0;position:absolute}
.not-found__bg img{filter:brightness(.3);height:100%;object-fit:cover;width:100%}
.not-found__content{color:#fff;position:relative;z-index:1}
.not-found__eyebrow,.not-found__title,.not-found__sub{margin-bottom:var(--space-2)}
.not-found__number{font-size:clamp(8rem, 22vw, 16rem)}
.page-hero__grid{align-items:center;display:grid;gap:var(--space-5);grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr)}
.page-hero__media img{border-radius:var(--radius);box-shadow:var(--shadow-soft);min-height:24rem;object-fit:cover;width:100%}
.price,.meta{color:var(--accent-dark);font-weight:700;margin-top:var(--space-3)}
.quote-panel{align-items:center;background:var(--surface-alt);display:flex;justify-content:center;min-height:18rem}
.quote-panel p{font-size:clamp(1.8rem, 3vw, 2.6rem);line-height:1.15;text-align:center}
.section,.page-hero{padding:var(--space-10) 0}
.section--contact{overflow:hidden;padding:0}
.section--dark{background:var(--surface-dark);color:var(--text-on-dark)}
.section--logos{border-bottom:1px solid var(--border-color);border-top:1px solid var(--border-color);padding:var(--space-5) 0}
.section--soft{background:var(--surface-alt)}
.section-heading{margin-bottom:var(--space-5)}
.section__eyebrow,.hero__kicker,.footer__eyebrow{color:var(--accent-color);font-size:.85rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.service-card h2,.card h2,.card h3,.feature-panel h3,.quote-panel p{font-family:var(--font-heading)}
.site-header{backdrop-filter:blur(16px);background:#fffffff0;border-bottom:1px solid #ffffff80;left:0;position:sticky;top:0;z-index:30}
.site-header.is-scrolled{box-shadow:var(--shadow-soft)}
.site-nav{align-items:center;display:grid;gap:.6rem;grid-template-areas:'brand spacer actions' 'menu menu menu';grid-template-columns:auto 1fr auto;padding:.7rem var(--space-3) .55rem}
.site-nav__actions{align-items:center;display:flex;gap:var(--space-2);grid-area:actions;justify-self:end}
.site-nav__brand{align-items:center;display:inline-flex;gap:var(--space-2);grid-area:brand;min-width:max-content;white-space:nowrap}
.site-nav__brand img{border-radius:50%;height:46px;object-fit:cover;width:46px}
.site-nav__brand small{color:var(--text-soft);display:block;font-size:.8rem;white-space:nowrap}
.site-nav__brand strong{display:block;font-family:var(--font-heading);font-size:1.28rem}
.site-nav__menu{grid-area:menu;min-width:0}
.site-nav__menu a,.site-nav__mobile-menu a{font-size:.86rem;font-weight:600;padding:.2rem 0;white-space:nowrap}
.site-nav__menu a.active{color:var(--accent-color)}
.site-nav__menu a.btn,.site-nav__mobile-menu a.btn{padding:.75rem 1rem}
.site-nav__menu ul,.site-nav__mobile-menu ul{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem .85rem}
.site-nav__mobile{background:#fff;bottom:0;left:0;opacity:0;overflow-y:auto;padding-top:calc(var(--header-height) + var(--topbar-height));position:fixed;right:0;top:0;transform:translateY(-8px);transition:opacity .25s ease, transform .25s ease, visibility .25s ease;visibility:hidden;z-index:20}
.site-nav__mobile-menu{display:grid;gap:var(--space-3);padding:var(--space-3)}
.site-nav__mobile-menu ul{align-items:flex-start;flex-direction:column}
.site-nav__mobile.is-open{opacity:1;transform:translateY(0);visibility:visible}
.site-nav__toggle{cursor:pointer;display:none;padding:.5rem}
.site-nav__toggle span{background:var(--text-color);border-radius:99px;display:block;height:2px;margin:6px 0;width:24px}
.split{align-items:start;display:grid;gap:var(--space-5);grid-template-columns:repeat(2, minmax(0, 1fr))}
.split--about{align-items:center}
.stat{background:var(--surface-alt);border:1px solid var(--border-color);border-radius:var(--radius);padding:var(--space-4);text-align:center}
.stat strong{color:var(--accent-color);display:block;font-family:var(--font-display);font-size:3rem;line-height:1;margin-bottom:.5rem}
.stats-card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius);bottom:2rem;box-shadow:var(--shadow-soft);left:-2rem;max-width:14rem;padding:var(--space-3);position:absolute}
.stats-card strong{color:var(--accent-color);display:block;font-family:var(--font-display);font-size:3rem;line-height:1}
.stats-grid{grid-template-columns:repeat(4, minmax(0, 1fr))}
.testimonial-card{color:var(--text-color);display:grid;gap:var(--space-2)}
.testimonial-card p{font-size:1.05rem}
.testimonial-card span{color:inherit;opacity:.72}
.testimonial-card strong{font-family:var(--font-heading)}
.testimonial-card--light{background:#fff;color:var(--text-color)}
.testimonial-card--soft{background:linear-gradient(180deg, var(--accent-soft) 0%, #fff 100%);color:var(--text-color)}
.testimonials-preview{display:grid;gap:var(--space-4)}
.topbar{background:var(--surface-alt);border-bottom:1px solid var(--border-color);font-size:.76rem}
.topbar__badge{color:var(--accent-strong);font-weight:700;text-transform:uppercase}
.topbar__inner{padding-bottom:.45rem;padding-top:.45rem}
.topbar__inner,.topbar__items{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}
.topbar__items{color:var(--text-soft);flex-wrap:wrap;gap:.35rem var(--space-2);justify-content:flex-start}
@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400 700;src:url(/Inter.ttf) format('truetype')}
@font-face{font-display:swap;font-family:'Josefin Sans';font-style:normal;font-weight:400 700;src:url(/JosefinSans.ttf) format('truetype')}
@font-face{font-display:swap;font-family:Oswald;font-style:normal;font-weight:400 700;src:url(/Oswald.ttf) format('truetype')}
@media (max-width: 1024px){
.card-grid--three,.card-grid--two,.card-grid--four,.stats-grid,.footer__columns,.blog-grid,.logo-grid{grid-template-columns:1fr 1fr}
.contact-preview--edge{gap:0}
.contact-preview__content{padding:var(--space-6) 0 var(--space-3)}
.footer__bottom{grid-template-columns:1fr;justify-items:center;text-align:center}
.footer__meta{justify-content:center}
.hero__content,.split,.contact-preview,.contact-layout,.footer__top,.blog-card,.page-hero__grid{grid-template-columns:1fr}
.hero__offer,.stats-card{left:auto;position:static}
.map-card{min-height:28rem}
.site-nav{display:grid;grid-template-areas:'brand spacer toggle';grid-template-columns:auto 1fr auto;min-height:var(--header-height);padding:0}
.site-nav__menu,.site-nav__actions{display:none}
.site-nav__toggle{display:block;grid-area:toggle;justify-self:end}}
@media (max-width: 1280px){
.site-nav__brand small{display:none}}
@media (max-width: 720px){
.blog-card{grid-template-columns:1fr}
.card-grid--three,.card-grid--two,.card-grid--four,.stats-grid,.footer__columns,.blog-grid,.logo-grid,.form-grid{grid-template-columns:1fr}
.contact-preview__content{padding:var(--space-8) 0 var(--space-3)}
.hero__copy h1,.page-hero h1{font-size:clamp(2.4rem, 12vw, 4rem)}
.section,.page-hero{padding:var(--space-8) 0}
.site-nav__brand small{display:none}
.topbar__inner{align-items:flex-start;flex-direction:column;gap:var(--space-1)}}