.header{z-index:100;background:var(--dark);position:sticky;top:0;box-shadow:0 2px 12px #00000059}.header__inner{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.header__logo{flex-shrink:0;align-items:center;display:flex}.header__logo img{object-fit:contain;width:93px;height:auto}.header__nav-list{align-items:center;gap:2px;display:flex}.header__nav-link{color:#ffffffc7;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius);transition:color var(--transition), background var(--transition);padding:8px 13px;font-size:.8rem;font-weight:600;display:block}.header__nav-link:hover{color:var(--white);background:#ffffff14}.header__nav-link--active{color:#fff!important;background:0 0!important}.header__cta{letter-spacing:.05em;color:var(--white);background:var(--red);border-radius:var(--radius);transition:background var(--transition);white-space:nowrap;flex-shrink:0;padding:9px 18px;font-size:.8rem;font-weight:700}.header__cta:hover{background:var(--red-dark)}.header__hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;width:40px;height:40px;padding:4px;display:none}.header__hamburger span{background:var(--white);height:2px;transition:transform var(--transition), opacity var(--transition);transform-origin:50%;border-radius:2px;display:block}.header__hamburger--open span:first-child{transform:translateY(7px)rotate(45deg)}.header__hamburger--open span:nth-child(2){opacity:0;transform:scaleX(0)}.header__hamburger--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=900px){.header__cta{display:none}}@media (width<=768px){.header__hamburger{display:flex}.header__nav{background:var(--dark-2);border-top:1px solid #ffffff14;max-height:0;transition:max-height .3s;position:absolute;top:72px;left:0;right:0;overflow:hidden}.header__nav--open{max-height:420px}.header__nav-list{flex-direction:column;align-items:stretch;gap:0;padding:8px 0 16px}.header__nav-link{border-radius:0;padding:13px 24px;font-size:.875rem}}.footer{background:var(--dark-2);color:#ffffffb3}.footer__main{grid-template-columns:1.6fr 1fr 1.2fr;gap:48px;padding:64px 24px;display:grid}.footer__logo{margin-bottom:16px;display:inline-block}.footer__logo img{object-fit:contain;width:70px;height:70px}.footer__tagline{color:#ffffff80;font-size:.875rem;line-height:1.75}.footer__heading{font-family:var(--font-headline);color:var(--white);letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;font-size:.9rem}.footer__links ul{flex-direction:column;gap:10px;display:flex}.footer__links a{color:#fff9;transition:color var(--transition);font-size:.875rem}.footer__links a:hover{color:var(--white)}.footer__phone{color:#ffffffd9;transition:color var(--transition);margin-bottom:10px;font-size:.95rem;font-weight:600;display:block}.footer__phone:hover{color:var(--red)}.footer__social{gap:10px;margin-top:22px;display:flex}.footer__social-link{color:#ffffff8c;width:38px;height:38px;transition:color var(--transition), background var(--transition), border-color var(--transition);border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;display:flex}.footer__social-link:hover{color:var(--white);background:var(--red);border-color:var(--red)}.footer__bottom{text-align:center;border-top:1px solid #ffffff14;padding:20px 24px}.footer__bottom p{color:#ffffff59;font-size:.78rem}@media (width<=768px){.footer__main{grid-template-columns:1fr;gap:36px;padding:48px 24px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--red:#c40204;--red-dark:#a30203;--dark:#242222;--dark-2:#1a1818;--white:#fff;--gray-light:#f5f5f5;--gray-mid:#cac6c6;--gray-text:#555;--font-headline:impact, "Arial Narrow", sans-serif;--font-body:"Montserrat", sans-serif;--max-width:1200px;--radius:4px;--transition:.22s ease}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--dark);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-headline);letter-spacing:.03em;line-height:1.15}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.btn{background:var(--red);color:var(--white);font-family:var(--font-body);letter-spacing:.07em;text-transform:uppercase;border:2px solid var(--red);border-radius:var(--radius);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);padding:14px 34px;font-size:.875rem;font-weight:700;display:inline-block}.btn:hover{background:var(--red-dark);border-color:var(--red-dark)}.btn--white{background:var(--white);color:var(--dark);border-color:var(--white)}.btn--white:hover{color:var(--white);background:0 0}.btn--outline-white{color:var(--white);border-color:var(--white);background:0 0}.btn--outline-white:hover{background:var(--white);color:var(--dark)}.section-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-bottom:12px;font-size:.75rem;font-weight:700;display:block}.section-title{font-family:var(--font-headline);margin-bottom:20px;font-size:clamp(1.9rem,4vw,2.8rem)}.section-body{color:var(--gray-text);max-width:680px;font-size:1rem;line-height:1.75}.skip-link{z-index:9999;background:var(--dark);color:var(--white);letter-spacing:.07em;text-transform:uppercase;border-radius:0 0 var(--radius) var(--radius);padding:12px 28px;font-size:.875rem;font-weight:700;transition:top .2s;position:absolute;top:-100%;left:16px}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:2px}.services-intro{text-align:center;padding:80px 0}.services-intro .section-body{margin:0 auto}.service-detail{background:var(--gray-light);padding:80px 0}.service-detail__grid{grid-template-columns:1fr 1fr;align-items:center;gap:72px;display:grid}.service-detail__tagline{color:var(--red);margin-top:-4px;margin-bottom:20px;font-size:1rem;font-weight:600}.service-detail__content .section-body{margin-bottom:16px}.service-detail__content .btn{margin-top:8px}.service-detail__image{border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #0000001f}.service-detail__image img{object-fit:cover;width:100%;height:100%;display:block}.service-benefits{padding:80px 0}.service-benefits__intro{text-align:center;max-width:800px;margin:0 auto 60px}.service-benefits__intro .section-title{font-size:clamp(1.6rem,3vw,2.2rem)}.service-benefits__intro .section-body{margin:0 auto}.service-benefits__list-wrap{max-width:800px;margin:0 auto}.service-benefits__list-heading{font-family:var(--font-headline);letter-spacing:.03em;text-align:center;margin-bottom:28px;font-size:clamp(1.3rem,2.5vw,1.7rem)}.benefits-list{grid-template-columns:repeat(2,1fr);gap:16px 48px;display:grid}.benefits-list__item{color:var(--gray-text);align-items:flex-start;gap:12px;font-size:.95rem;line-height:1.55;display:flex}.benefits-list__icon{width:18px;height:18px;color:var(--red);flex-shrink:0;margin-top:2px}.services-cta{background:var(--dark);text-align:center;padding:80px 0}.services-cta h2{font-family:var(--font-headline);letter-spacing:.03em;color:var(--white);margin-bottom:16px;font-size:clamp(1.8rem,3.5vw,2.8rem)}.services-cta p{color:#ffffffb8;max-width:580px;margin:0 auto 32px;font-size:1rem;line-height:1.75}@media (width<=768px){.service-detail__grid{grid-template-columns:1fr;gap:40px}.service-detail__image{order:-1}.benefits-list{grid-template-columns:1fr}}.reviews-intro{background:var(--white);text-align:center;padding:72px 0 56px}.reviews-list{background:var(--white);padding:0 0 96px}.reviews-grid{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.reviews-cta{background:var(--dark);text-align:center;padding:80px 0}.reviews-cta h2{color:var(--white);margin-bottom:14px;font-size:clamp(1.6rem,3vw,2.2rem)}.reviews-cta p{color:#ffffffa6;max-width:500px;margin:0 auto 32px;font-size:1rem}@media (width<=700px){.reviews-grid{grid-template-columns:1fr}}.projects-intro{background:var(--white);text-align:center;padding:72px 0 56px}.projects-intro .section-body{margin:0 auto}.projects-gallery{background:var(--white);padding:0 0 96px}.projects-grid{grid-template-columns:repeat(2,1fr);justify-content:center;gap:16px;display:grid}.project-card{aspect-ratio:4/3;background:var(--gray-light);border-radius:6px;position:relative;overflow:hidden}.project-card img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.large-project-card{background:var(--gray-light);border-radius:6px;max-width:768px;margin:24px auto 0;overflow:hidden}.project-card:hover img{transform:scale(1.06)}.projects-cta{background:var(--gray-light);text-align:center;padding:80px 0}.projects-cta h2{margin-bottom:14px;font-size:clamp(1.6rem,3vw,2.2rem)}.projects-cta p{color:var(--gray-text);max-width:500px;margin:0 auto 32px;font-size:1rem}@media (width<=900px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.projects-grid{grid-template-columns:1fr}}.faq-intro{background:var(--white);text-align:center;padding:72px 0 56px}.faq-section{background:var(--white);padding:0 0 96px}.faq-section .container{max-width:820px}.faq-list{flex-direction:column;gap:2px;display:flex}.faq-item{border:1px solid var(--gray-mid);background:var(--white);transition:box-shadow var(--transition);border-radius:6px;overflow:hidden}.faq-item--open{box-shadow:0 4px 20px #00000014}.faq-item__question{cursor:pointer;text-align:left;width:100%;font-family:var(--font-headline);letter-spacing:.03em;color:var(--dark);transition:background var(--transition), color var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;font-size:1.1rem;display:flex}.faq-item--open .faq-item__question{background:var(--dark);color:var(--white)}.faq-item__chevron{width:28px;height:28px;transition:transform var(--transition), border-color var(--transition);border:2px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.faq-item__chevron svg{width:14px;height:14px;transition:transform var(--transition)}.faq-item--open .faq-item__chevron svg{transform:rotate(180deg)}.faq-item__answer{max-height:0;transition:max-height .35s;overflow:hidden}.faq-item--open .faq-item__answer{max-height:400px}.faq-item__answer-inner{padding:24px 28px}.faq-item__answer-inner p{color:var(--gray-text);font-size:.95rem;line-height:1.8}.faq-contact{background:var(--red);text-align:center;padding:80px 0}.faq-contact h2{color:var(--white);margin-bottom:14px;font-size:clamp(1.6rem,3vw,2.2rem)}.faq-contact p{color:#ffffffd9;max-width:500px;margin:0 auto 32px;font-size:1rem}.contact-body{background:var(--white);padding:88px 0 96px}.contact-body .container{grid-template-columns:1fr 1.6fr;align-items:start;gap:72px;display:grid}.contact-info{flex-direction:column;gap:36px;display:flex}.contact-info__item h3{font-family:var(--font-headline);letter-spacing:.12em;text-transform:uppercase;color:var(--gray-text);margin-bottom:10px;font-size:.9rem}.contact-info__item a,.contact-info__item p{color:var(--dark);transition:color var(--transition);font-size:1rem;font-weight:600;line-height:1.8;display:block}.contact-info__item a:hover{color:var(--red)}.contact-social{flex-wrap:wrap;gap:10px;display:flex}.contact-social a{border:2px solid var(--gray-mid);width:40px;height:40px;color:var(--dark);transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex}.contact-social a:hover{color:var(--white);background:var(--red);border-color:var(--red)}.contact-social svg{width:18px;height:18px}.contact-form-wrap{background:var(--gray-light);border-radius:10px;padding:48px 40px}.contact-form-wrap h2{margin-bottom:8px;font-size:clamp(1.5rem,2.5vw,2rem)}.contact-form-wrap>p{color:var(--gray-text);margin-bottom:32px;font-size:.9rem}.contact-form{flex-direction:column;gap:18px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{letter-spacing:.08em;text-transform:uppercase;color:var(--dark);font-size:.78rem;font-weight:700}.form-field input,.form-field textarea,.form-field select{width:100%;font-family:var(--font-body);color:var(--dark);background:var(--white);border:1.5px solid var(--gray-mid);border-radius:var(--radius);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:12px 16px;font-size:.95rem}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--red);box-shadow:0 0 0 3px #ed412b1f}.form-field textarea{resize:vertical;min-height:130px}.form-honey{visibility:hidden;position:absolute;left:-9999px}.form-submit{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.form-success{border-radius:var(--radius);color:#2e7d32;text-align:center;background:#e8f5e9;border:1px solid #a5d6a7;padding:20px 24px;font-weight:600}.form-error{border-radius:var(--radius);color:#c62828;background:#fdecea;border:1px solid #f5c6cb;padding:14px 18px;font-size:.875rem}@media (width<=900px){.contact-body .container{grid-template-columns:1fr;gap:48px}}@media (width<=560px){.form-row{grid-template-columns:1fr}.contact-form-wrap{padding:32px 24px}}.about-intro{background:var(--white);padding:88px 0}.about-intro .container{grid-template-columns:1fr 1fr;align-items:center;gap:72px;display:grid}.about-intro__text{flex-direction:column;gap:18px;display:flex}.about-intro__text .section-body{max-width:100%}.about-intro__image{border-radius:8px;overflow:hidden;box-shadow:0 8px 40px #00000026}.about-intro__image img{object-fit:cover;width:100%;height:400px}.our-story{background:var(--gray-light);padding:88px 0}.our-story .container{max-width:860px}.our-story__header{margin-bottom:40px}.our-story__body{flex-direction:column;gap:20px;display:flex}.our-story__body p{color:var(--gray-text);font-size:1rem;line-height:1.8}.values{background:var(--dark);padding:88px 0}.values__header{text-align:center;margin-bottom:52px}.values__grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.value-card{text-align:center;border:1px solid #ffffff1a;border-radius:8px;padding:36px 28px}.value-card__num{font-family:var(--font-headline);color:var(--red);margin-bottom:12px;font-size:3rem;line-height:1}.value-card h3{font-family:var(--font-headline);color:var(--white);margin-bottom:10px;font-size:1.2rem}.value-card p{color:#fff9;font-size:.875rem;line-height:1.7}@media (width<=768px){.about-intro .container{grid-template-columns:1fr;gap:40px}.about-intro__image img{height:280px}.values__grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}}.hero{grid-template-columns:55% 45%;min-height:100vh;display:grid}.hero__panel{background:var(--dark);justify-content:center;align-items:center;padding:120px 64px 80px 56px;display:flex}.hero__content{width:100%;max-width:500px}.hero__title{color:var(--white);margin-top:16px;margin-bottom:24px;font-size:clamp(3rem,4.5vw,5.5rem);line-height:1}.hero__title span{color:var(--red)}.hero__sub{color:#ffffffb8;margin-bottom:40px;font-size:1.05rem;line-height:1.75}.hero__actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero__photo{overflow:hidden}.hero__photo img{object-fit:cover;object-position:center center;width:100%;height:100%;display:block}.value-prop{background:var(--white);padding:96px 0}.value-prop .container{grid-template-columns:1fr 1fr;align-items:center;gap:72px;display:grid}.value-prop__body{flex-direction:column;gap:16px;display:flex}.value-prop__body .section-body+.section-body{margin-top:0}.value-prop__icons{text-align:center;grid-template-columns:repeat(1,1fr);gap:16px;display:grid}@media (width>=768px){.value-prop__icons{grid-template-columns:repeat(3,1fr)}}.value-icon{flex-direction:column;align-items:center;gap:12px;display:flex}.value-icon__img{background:var(--gray-light);flex-shrink:0;width:100px;height:100px;overflow:hidden}.value-icon__img img{object-fit:cover;width:100%;height:100%}.value-icon p{letter-spacing:.06em;text-transform:uppercase;color:var(--dark);font-size:.8rem;font-weight:700}.pillars{background:var(--gray-light);padding:96px 0}.pillars__header{text-align:center;margin-bottom:56px}.pillars__grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.pillar-card{background:var(--white);border-top:4px solid var(--red);transition:transform var(--transition), box-shadow var(--transition);border-radius:8px;padding:40px 32px;box-shadow:0 2px 16px #0000000f}.pillar-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001a}.pillar-card__icon{width:52px;height:52px;color:var(--red);margin-bottom:20px}.pillar-card__icon svg{width:100%;height:100%}.pillar-card h3{font-family:var(--font-headline);margin-bottom:14px;font-size:1.4rem}.pillar-card p{color:var(--gray-text);font-size:.9rem;line-height:1.75}.pillars__cta{text-align:center;margin-top:52px}.review-teaser{background:var(--dark);text-align:center;padding:96px 0}.review-teaser blockquote{border-left:4px solid var(--red);text-align:left;background:#ffffff0d;border-radius:0 8px 8px 0;max-width:700px;margin:32px auto 0;padding:40px 48px}.review-teaser blockquote p{color:#ffffffd9;font-size:1.05rem;font-style:italic;line-height:1.8}.review-teaser blockquote strong{color:var(--white);font-style:normal}.review-teaser blockquote cite{letter-spacing:.06em;color:var(--red);margin-top:18px;font-size:.875rem;font-style:normal;font-weight:700;display:block}.review-teaser__stars{color:#f5a623;letter-spacing:4px;margin-top:28px;font-size:1.6rem}.review-teaser__cta{margin-top:36px;display:inline-block}.cta-banner{background:var(--red);text-align:center;padding:80px 0}.cta-banner__title{color:var(--white);margin-bottom:14px;font-size:clamp(1.8rem,4vw,2.6rem)}.cta-banner__sub{color:#ffffffd9;margin-bottom:36px;font-size:1rem}.cta-banner__actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}@media (width<=900px){.value-prop .container{grid-template-columns:1fr;gap:48px}.pillars__grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}}@media (width<=768px){.hero{min-height:unset;grid-template-columns:1fr}.hero__photo{order:-1;height:56vw;min-height:240px;max-height:420px}.hero__panel{justify-content:flex-start;padding:52px 24px 64px}.hero__content{max-width:100%}}@media (width<=600px){.value-prop__icons{gap:24px}.review-teaser blockquote{padding:28px 24px}}
