:root{--color-white:#FFFFFF;--color-gray-light:#F8F9FA;--color-gray-border:#EAEAEA;--color-gray-medium:#E9ECEF;--color-text-muted:#6B7280;--color-black:#1A1A1A;--color-accent:#E30613;--color-accent-dark:#B80510;--font-main:'Segoe UI', system-ui, -apple-system, sans-serif;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-xxl:5rem;--border-radius:4px;--border-radius-lg:8px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--box-shadow:0 2px 8px rgba(0, 0, 0, 0.08);--box-shadow-soft:0 4px 16px rgba(0, 0, 0, 0.06);--box-shadow-hover:0 8px 24px rgba(0, 0, 0, 0.12);--max-width:1200px;--header-height:72px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-main);font-weight:var(--font-weight-normal);line-height:1.6;color:var(--color-black);background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}img[src]{background-color:var(--color-gray-light)}img[loading="lazy"]{opacity:0;transition:opacity 0.3s ease-in}img[loading="lazy"].loaded,img[loading="lazy"]:not([src=""]){opacity:1}a{text-decoration:none;color:inherit}ul{list-style:none}address{font-style:normal}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:calc(var(--spacing-sm) * 0.875) var(--spacing-md);font-size:1rem;font-weight:var(--font-weight-medium);font-family:inherit;border-radius:var(--border-radius);border:2px solid #fff0;cursor:pointer;transition:all var(--transition-normal)}.btn--primary{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.btn--primary:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgb(227 6 19 / .25)}.btn--primary:active{transform:translateY(0);box-shadow:0 2px 8px rgb(227 6 19 / .3)}.btn--outline{background-color:#fff0;color:var(--color-black);border-color:var(--color-black)}.btn--outline:hover{background-color:var(--color-black);color:var(--color-white);transform:translateY(-2px)}.btn--outline:active{transform:translateY(0)}.btn--large{padding:var(--spacing-md) var(--spacing-xl);font-size:1.125rem}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:var(--color-white);box-shadow:0 1px 3px rgb(0 0 0 / .08);transition:box-shadow var(--transition-normal)}.header--scrolled{box-shadow:0 4px 20px rgb(0 0 0 / .12)}.header__container{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;height:var(--header-height)}.header__logo{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.375rem;font-weight:var(--font-weight-bold);color:var(--color-black);transition:color var(--transition-fast)}.header__logo:hover{color:var(--color-accent)}.header__logo-icon,.header__logo i{color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;font-size:1.05em;line-height:1;flex:0 0 auto}.header__logo-text{letter-spacing:-.02em}.brand-hal{color:var(--color-accent)!important}.brand-auto{color:inherit}.header__burger{display:none;background:none;border:none;font-size:1.375rem;color:var(--color-black);cursor:pointer;padding:var(--spacing-xs)}.header__nav-list{display:flex;align-items:center;gap:var(--spacing-xl)}.header__nav-link{font-weight:var(--font-weight-medium);font-size:.9375rem;color:var(--color-black);position:relative;padding:var(--spacing-xs) 0;transition:color var(--transition-fast)}.header__nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-accent);transition:width var(--transition-normal)}.header__nav-link:hover{color:var(--color-accent)}.header__nav-link:hover::after{width:100%}.header__nav-link--cta{background-color:var(--color-accent);color:var(--color-white);padding:calc(var(--spacing-xs) * 0.75) var(--spacing-md);border-radius:var(--border-radius)}.header__nav-link--cta::after{display:none}.header__nav-link--cta:hover{background-color:var(--color-accent-dark);color:var(--color-white)}.hero{position:relative;margin-top:70px!important;min-height:70vh;width:100%;display:flex;align-items:center;justify-content:center;background-image:url(../images/hero.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.hero__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgb(26 26 26 / .85) 0%,rgb(26 26 26 / .7) 50%,rgb(227 6 19 / .2) 100%);z-index:1}.hero__container{position:relative;z-index:2;max-width:var(--max-width);margin:0 auto;padding:var(--spacing-xxl) var(--spacing-lg);width:100%;text-align:center}.hero__content{max-width:720px;margin:0 auto}.hero__subtitle{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.7rem 1.1rem;margin-bottom:var(--spacing-md);border-radius:999px;border:1px solid rgb(227 6 19 / .18);background:rgb(227 6 19 / .08);backdrop-filter:blur(6px);color:var(--color-white);font-weight:var(--font-weight-bold);font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;line-height:1;box-shadow:0 10px 24px rgb(0 0 0 / .12)}.hero__subtitle i{font-size:.95em;color:var(--color-accent);line-height:1}.hero__title{font-size:clamp(2.25rem, 5vw, 3.5rem);font-weight:var(--font-weight-bold);line-height:1.15;margin-bottom:var(--spacing-md);color:var(--color-white)}.hero__text{font-size:1.125rem;color:rgb(255 255 255 / .9);margin-bottom:var(--spacing-lg);max-width:560px;margin-left:auto;margin-right:auto;line-height:1.7}.hero__buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.btn--outline-hero{background-color:#fff0;color:var(--color-white);border-color:var(--color-white)}.btn--outline-hero:hover{background-color:var(--color-white);color:var(--color-black);transform:translateY(-2px)}.reassurance{background-color:var(--color-gray-light);padding:var(--spacing-xl) var(--spacing-lg)}.reassurance__container{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.reassurance__card{background-color:var(--color-white);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);text-align:center;border:1px solid var(--color-gray-border);box-shadow:0 2px 12px rgb(0 0 0 / .04);transition:all var(--transition-normal)}.reassurance__card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgb(0 0 0 / .1);border-color:#fff0}.reassurance__card-icon{width:64px;height:64px;margin:0 auto var(--spacing-sm);display:flex;align-items:center;justify-content:center;color:var(--color-accent);font-size:1.75rem;background-color:rgb(227 6 19 / .06);border-radius:50%;transition:all var(--transition-normal)}.reassurance__card:hover .reassurance__card-icon{background-color:var(--color-accent);color:var(--color-white);transform:scale(1.1)}.reassurance__card-title{font-size:1.0625rem;font-weight:var(--font-weight-bold);color:var(--color-black);margin-bottom:var(--spacing-xs)}.reassurance__card-text{font-size:.875rem;color:var(--color-text-muted);line-height:1.6}.about{background-color:var(--color-white);padding:var(--spacing-xxl) var(--spacing-lg)}.about__container{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxl);align-items:center}.about__image{border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--box-shadow-soft)}.about__image img{width:100%;height:400px;object-fit:cover;transition:transform var(--transition-normal)}.about__image:hover img{transform:scale(1.03)}.about__title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1.75rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg);color:var(--color-black)}.about__title i,.services__title i,.contact__title i{color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center;font-size:.85em;line-height:1;transform:translateY(1px)}.about__text{font-size:1rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md);line-height:1.75}.services{background-color:var(--color-gray-light);padding:var(--spacing-xxl) var(--spacing-lg)}.services__container{max-width:var(--max-width);margin:0 auto}.services__title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1.75rem;font-weight:var(--font-weight-bold);text-align:center;margin-bottom:var(--spacing-sm);color:var(--color-black)}.services__subtitle{text-align:center;font-size:1rem;color:var(--color-text-muted);margin-bottom:var(--spacing-xl);max-width:560px;margin-left:auto;margin-right:auto}.services__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.service-card{background-color:var(--color-white);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:0 2px 12px rgb(0 0 0 / .06);transition:all var(--transition-normal);border:1px solid var(--color-gray-border)}.service-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px rgb(0 0 0 / .12);border-color:#fff0}.service-card:active{transform:translateY(-2px)}.service-card__image{position:relative;overflow:hidden;height:300px;width:100%}.service-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.service-card:hover .service-card__image img{transform:scale(1.08)}.service-card__content{padding:var(--spacing-md) var(--spacing-md) calc(var(--spacing-md) + 0.5rem);display:flex;flex-direction:column}.service-card__title{font-size:1.125rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs);color:var(--color-black);transition:color var(--transition-fast)}.service-card:hover .service-card__title{color:var(--color-accent)}.service-card__text{font-size:.9375rem;color:var(--color-text-muted);line-height:1.65}.service-card__cta{display:inline-block;margin-top:15px;align-self:flex-end;color:var(--color-accent);font-weight:var(--font-weight-bold)}.service-card__cta:hover{color:var(--color-accent-dark)}.contact{background-color:var(--color-white);padding:var(--spacing-xxl) var(--spacing-lg)}.contact__container{max-width:var(--max-width);margin:0 auto}.contact__title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1.75rem;font-weight:var(--font-weight-bold);text-align:center;margin-bottom:var(--spacing-xl);color:var(--color-black)}.contact__grid{display:flex;gap:20px;align-items:stretch}.contact__column{display:flex;flex-direction:column;gap:20px;flex:1;min-width:0}.contact__card{padding:var(--spacing-md);background-color:var(--color-white);border-radius:var(--border-radius-lg);border:1px solid var(--color-gray-border);box-shadow:var(--box-shadow);display:flex;align-items:center;justify-content:flex-start;gap:20px;transition:all var(--transition-normal)}.contact__card:hover{box-shadow:var(--box-shadow-soft);border-color:var(--color-gray-medium)}.contact__card-icon{width:24px;height:24px;min-width:24px;display:flex;align-items:center;justify-content:center;color:var(--color-accent);font-size:1.25rem}.contact__card-content{flex:1}.contact__card-title{font-size:.8rem;font-weight:700;color:#777;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.contact__card-address{font-size:1rem;line-height:1.6;color:var(--color-black);font-weight:400}.contact__card-link{font-size:1rem;color:var(--color-black);font-weight:500;transition:color var(--transition-fast)}.contact__card-link:hover{color:var(--color-accent)}.contact__hours{display:flex;flex-direction:column;gap:.375rem}.contact__hours-item{display:flex;justify-content:space-between;align-items:center}.contact__hours-days{font-weight:500;font-size:1rem;color:var(--color-black)}.contact__hours-days--closed{color:var(--color-black)}.contact__hours-time{font-size:1rem;color:var(--color-black);font-weight:400}.contact__hours-time--closed{color:var(--color-black);font-weight:400}.contact__column--localisation .contact__map{flex:1}.contact__map{display:flex;flex:1;min-height:300px;border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--box-shadow);border:1px solid var(--color-gray-border)}.contact__map iframe{width:100%;height:100%;min-height:300px;display:block;border:0;object-fit:cover}.contact__cta{background-color:var(--color-white);padding:var(--spacing-md);border-radius:var(--border-radius-lg);text-align:center;border:1px solid var(--color-gray-border);box-shadow:var(--box-shadow)}.contact__cta-icon{width:48px;height:48px;margin:0 auto var(--spacing-sm);display:flex;align-items:center;justify-content:center;color:var(--color-accent);font-size:1.25rem;background-color:rgb(227 6 19 / .08);border-radius:50%}.contact__cta-title{font-size:1rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs);color:var(--color-black)}.contact__cta-text{color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:.875rem}.contact__cta .btn{gap:.45rem;line-height:1;align-items:center}.contact__cta-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.contact__cta .btn i{display:inline-flex;align-items:center;justify-content:center;font-size:.8em;line-height:1;flex:0 0 auto;transform:translateY(1px)}.footer{background-color:var(--color-black);color:var(--color-white);padding-top:var(--spacing-xl);text-align:center}.footer__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:center;align-items:flex-start;gap:var(--spacing-xl);flex-wrap:wrap}.footer__brand{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:300px}.footer__logo{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:1.375rem;font-weight:var(--font-weight-bold);color:var(--color-white);margin-bottom:var(--spacing-sm);transition:color var(--transition-fast)}.footer__logo:hover{color:var(--color-accent)}.footer__logo i{color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;font-size:1.1em;line-height:1;flex:0 0 auto}.footer__tagline{color:#9CA3AF;margin-bottom:var(--spacing-md);line-height:1.7;font-size:.9375rem}.footer__social{display:flex;justify-content:center;gap:var(--spacing-sm)}.footer__social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:rgb(255 255 255 / .08);border-radius:50%;color:var(--color-white);transition:all var(--transition-fast)}.footer__social-link:hover{background-color:var(--color-accent);transform:translateY(-2px)}.footer__nav{display:flex;flex-direction:column;align-items:center;text-align:center}.footer__nav-title,.footer__contact-title{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:1rem;font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);color:var(--color-white)}.footer__nav-title i,.footer__contact-title i{color:var(--color-accent);font-size:.875rem}.footer__nav-list{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.footer__nav-link{color:#9CA3AF;transition:color var(--transition-fast);padding:.25rem 0;font-size:.9375rem}.footer__nav-link:hover{color:var(--color-accent)}.footer__contact{display:flex;flex-direction:column;align-items:center;text-align:center}.footer__contact-address{color:#9CA3AF;line-height:1.7;margin-bottom:var(--spacing-sm);font-size:.9375rem}.footer__contact-phone,.footer__contact-email{display:flex;justify-content:center;align-items:center;gap:var(--spacing-xs);margin-bottom:.375rem;font-size:.9375rem}.footer__contact-phone i,.footer__contact-email i{color:var(--color-accent);font-size:.875rem}.footer__contact-phone a,.footer__contact-email a{color:#9CA3AF;transition:color var(--transition-fast)}.footer__contact-phone a:hover,.footer__contact-email a:hover,.footer__contact-address a:hover{color:var(--color-accent)!important}.footer__bottom{border-top:1px solid rgb(255 255 255 / .1);margin-top:var(--spacing-xl);padding:var(--spacing-md) var(--spacing-lg);max-width:var(--max-width);margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm)}.footer__copyright{color:#6B7280;font-size:.875rem}.footer__legal{display:flex;justify-content:center;gap:var(--spacing-md)}.footer__legal-link{color:#6B7280;font-size:.875rem;transition:color var(--transition-fast)}.footer__legal-link:hover{color:var(--color-accent)}.fade-in{opacity:0;transform:translateY(24px);transition:opacity 0.5s ease-out,transform 0.5s ease-out}.fade-in.is-visible{opacity:1;transform:translateY(0)}.services__grid .service-card:nth-child(1){transition-delay:0s}.services__grid .service-card:nth-child(2){transition-delay:0.1s}.services__grid .service-card:nth-child(3){transition-delay:0.2s}.services__grid .service-card:nth-child(4){transition-delay:0.3s}.reassurance__container .reassurance__card:nth-child(1){transition-delay:0s}.reassurance__container .reassurance__card:nth-child(2){transition-delay:0.1s}.reassurance__container .reassurance__card:nth-child(3){transition-delay:0.2s}.scroll-top{position:fixed;bottom:24px;right:24px;width:48px;height:48px;background-color:var(--color-accent);color:var(--color-white);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.125rem;box-shadow:0 4px 16px rgb(227 6 19 / .3);opacity:0;visibility:hidden;transform:translateY(20px);transition:all var(--transition-normal);z-index:999}.scroll-top:hover{background-color:var(--color-accent-dark);transform:translateY(-4px);box-shadow:0 6px 24px rgb(227 6 19 / .4)}.scroll-top:active{transform:translateY(-2px)}.scroll-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.legal-page{min-height:100vh;padding:calc(var(--header-height) + var(--spacing-lg)) var(--spacing-lg) var(--spacing-xxl);background:radial-gradient(circle at top left,rgb(227 6 19 / .06),transparent 34%),linear-gradient(180deg,#FFFFFF 0%,#F8F9FA 100%)}.legal-page__container{max-width:var(--max-width);margin:0 auto}.legal-page__hero{padding-bottom:var(--spacing-xl)}.legal-page__eyebrow{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);padding:.55rem .95rem;border-radius:999px;border:1px solid rgb(227 6 19 / .16);background:rgb(227 6 19 / .06);color:var(--color-accent);font-size:.8125rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.legal-page__eyebrow i{display:inline-flex;align-items:center;justify-content:center}.legal-page__title{font-size:clamp(2rem, 4vw, 3rem);line-height:1.15;color:var(--color-black);margin-bottom:var(--spacing-sm)}.legal-page__intro{max-width:760px;color:var(--color-text-muted);font-size:1rem;line-height:1.75}.legal-page__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.legal-page__card{background-color:var(--color-white);border:1px solid var(--color-gray-border);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--box-shadow-soft)}.legal-page__card--full{grid-column:1 / -1}.legal-page__card-title{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);color:var(--color-black);font-size:1.0625rem;font-weight:var(--font-weight-bold)}.legal-page__card-title i{color:var(--color-accent)}.legal-page__text{color:var(--color-text-muted);line-height:1.75;font-size:.975rem}.legal-page__text a{color:var(--color-accent);font-weight:var(--font-weight-medium)}.legal-page__text a:hover{color:var(--color-accent-dark)}.legal-page__list{list-style:none;display:grid;gap:.75rem}.legal-page__list-item{color:var(--color-text-muted);line-height:1.7}@media (max-width:1024px){.about__container{grid-template-columns:1fr;gap:var(--spacing-xl)}.about__image img{height:320px}.services__grid{grid-template-columns:1fr;gap:var(--spacing-md)}.contact__grid{display:flex;gap:20px}.footer__container{gap:var(--spacing-lg)}.reassurance__container{grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.legal-page__grid{grid-template-columns:1fr}.legal-page__card--full{grid-column:auto}}@media (max-width:768px){:root{--spacing-xxl:3rem;--header-height:64px}.header__burger{display:block}.header__nav{position:absolute;top:100%;left:0;width:100%;margin:0;background-color:var(--color-white);box-shadow:0 12px 18px -12px rgb(0 0 0 / .28);max-height:0;overflow:hidden;transform:translateY(-10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-normal),transform var(--transition-normal),max-height var(--transition-normal),visibility var(--transition-normal)}.header__nav.is-active{max-height:320px;transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.header__nav-list{flex-direction:column;padding:var(--spacing-md);gap:0}.header__nav-item{width:100%}.header__nav-link{display:block;padding:var(--spacing-sm) var(--spacing-md);text-align:center;border-bottom:1px solid var(--color-gray-border)}.header__nav-link::after{display:none}.header__nav-link--cta{margin-top:var(--spacing-sm);display:block;width:fit-content;margin-left:auto;margin-right:auto;border-bottom:none}.hero{min-height:80vh}.hero__title{font-size:1.875rem}.hero__buttons{flex-direction:column}.hero__buttons .btn{width:100%}.reassurance__container{flex-direction:column;gap:var(--spacing-md);align-items:flex-start;padding:var(--spacing-md) var(--spacing-lg)}.reassurance__item{width:100%;justify-content:flex-start}.about__title{font-size:1.5rem}.services__title,.contact__title,.about__title{font-size:1.4rem}.reassurance__container{grid-template-columns:1fr;gap:var(--spacing-md)}.footer__container{grid-template-columns:1fr;gap:var(--spacing-lg)}.footer__bottom{flex-direction:column;text-align:center}.contact__hours-item{flex-direction:column;align-items:flex-start;gap:.125rem}.contact__card{flex-direction:row;align-items:center;gap:15px}.contact__card-icon{width:24px;height:24px;min-width:24px;font-size:1.125rem}.contact__grid{flex-direction:column;gap:20px}.contact__column{display:contents}.contact__cta--call{order:1}.contact__card--address{order:2}.contact__map{order:3}.contact__card--email{order:4}.contact__card--hours{order:5}.legal-page{padding:calc(var(--header-height) + var(--spacing-md)) var(--spacing-lg) var(--spacing-xl)}.legal-page__hero{padding-bottom:var(--spacing-lg)}.legal-page__card{padding:var(--spacing-md)}}@media (max-width:480px){.hero__title{font-size:1.625rem}.services__title,.contact__title{font-size:1.25rem}}