/*
Theme Name: Twenty Seventeen
Theme URI: https://wordpress.org/themes/twentyseventeen/
Author: the WordPress team
Author URI: https://wordpress.org/
Description: Twenty Seventeen brings your site to life with header video and immersive featured images. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device.
Version: 4.1
Tested up to: 7.0
Requires at least: 4.7
Requires PHP: 5.2.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentyseventeen
Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, block-patterns

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Normalize
2.0 Accessibility
3.0 Alignments
4.0 Clearings
5.0 Typography
6.0 Forms
7.0 Formatting
8.0 Lists
9.0 Tables
10.0 Links
11.0 Featured Image Hover
12.0 Navigation
13.0 Layout
   13.1 Header
   13.2 Front Page
   13.3 Regular Content
   13.4 Posts
   13.5 Pages
   13.6 Footer
14.0 Comments
15.0 Widgets
16.0 Media
   16.1 Galleries
17.0 Customizer
18.0 SVGs Fallbacks
19.0 Media Queries
20.0 Print
--------------------------------------------------------------*/

/*--------------------------------------------------------------
1.0 Normalize
Styles based on Normalize v5.0.0 @link https://github.com/necolas/normalize.css
--------------------------------------------------------------*/

:root{
  --primary:#1A3C5E; --primary-50:#E8EFF6; --primary-100:#C5D6E8; --primary-400:#508ABB;
  --primary-600:#163350; --primary-800:#0E2134; --primary-900:#0A1826;
  --secondary:#E8A020; --secondary-dark:#B87D10; --secondary-light:#F5C96A;
  --gray-50:#F9FAFB; --gray-100:#F3F4F6; --gray-200:#E5E7EB; --gray-300:#D1D5DB;
  --gray-400:#9CA3AF; --gray-500:#6B7280; --gray-600:#4B5563; --gray-700:#374151;
  --success:#2F9E44; --error:#E03131;
  --heading:'Montserrat',sans-serif; --body:'Open Sans',sans-serif;
  --sh-sm:0 1px 2px rgba(0,0,0,.05);
  --sh-md:0 4px 6px -1px rgba(0,0,0,.08),0 2px 4px -2px rgba(0,0,0,.06);
  --sh-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.08);
  --sh-xl:0 20px 25px -5px rgba(0,0,0,.12),0 8px 10px -6px rgba(0,0,0,.08);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:#1f2937;background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--heading)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:6px}
.container{max-width:80rem;margin-inline:auto;padding-inline:1rem}
@media(min-width:640px){.container{padding-inline:1.5rem}}
@media(min-width:1024px){.container{padding-inline:2rem}}
.icon{width:1.25rem;height:1.25rem;flex-shrink:0}

/* ---------- Navbar ---------- */
.navbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border-bottom:1px solid var(--gray-100);transition:box-shadow .3s,background .3s}
.navbar.scrolled{background:#fff;box-shadow:var(--sh-md);border-bottom-color:transparent}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:4rem}
@media(min-width:1024px){.nav-inner{height:5rem}}
.nav-logo img{height:2.75rem;width:auto}
@media(min-width:1024px){.nav-logo img{height:3.25rem}}
.nav-links{display:none;align-items:center;gap:.25rem}
@media(min-width:1024px){.nav-links{display:flex}}
.nav-links a{position:relative;padding:.5rem 1rem;border-radius:.5rem;font-family:var(--heading);font-weight:500;font-size:.875rem;color:var(--gray-600);transition:all .2s}
.nav-links a:hover{color:var(--primary);background:var(--gray-50)}
.nav-links a.active{color:var(--primary);background:var(--primary-50)}
.nav-links a.active::after{content:"";position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:var(--secondary);border-radius:50%}
.nav-cta{display:none}
@media(min-width:1024px){.nav-cta{display:inline-flex}}
.nav-burger{display:inline-flex;padding:.5rem;border-radius:.5rem;color:var(--gray-600);background:none;border:none;transition:background .2s}
.nav-burger:hover{background:var(--gray-100)}
@media(min-width:1024px){.nav-burger{display:none}}
.mobile-menu{display:none;background:#fff;border-top:1px solid var(--gray-100);box-shadow:var(--sh-lg)}
.mobile-menu.open{display:block}
.mobile-menu ul{display:flex;flex-direction:column;gap:.25rem;padding:1rem}
.mobile-menu a{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:.75rem;font-family:var(--heading);font-weight:500;font-size:.875rem;color:var(--gray-700);transition:all .2s}
.mobile-menu a:hover{color:var(--primary);background:var(--gray-50)}
.mobile-menu a.active{color:var(--primary);background:var(--primary-50);font-weight:600}
.mobile-menu .m-cta{margin:0 1rem 1rem;justify-content:center;background:var(--secondary);color:#fff;font-weight:600}
.mobile-menu .m-cta:hover{background:var(--secondary-dark);color:#fff}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--heading);font-weight:600;font-size:1rem;padding:.875rem 1.75rem;border-radius:.75rem;border:none;transition:all .2s}
.btn-secondary{background:var(--secondary);color:#fff}
.btn-secondary:hover{background:var(--secondary-dark)}
.btn-outline-light{background:transparent;border:2px solid rgba(255,255,255,.3);color:#fff}
.btn-outline-light:hover{border-color:#fff}
.btn-sm{font-size:.875rem;padding:.625rem 1.25rem;border-radius:.5rem}
.link-arrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--secondary);font-family:var(--heading);font-weight:600;font-size:.875rem;transition:gap .2s}
.link-arrow:hover{gap:.75rem}
.link-arrow .icon{width:1rem;height:1rem}

/* ---------- Badges ---------- */
.badge{display:inline-flex;align-items:center;padding:.125rem .625rem;border-radius:999px;font-size:.75rem;font-family:var(--heading);font-weight:500}
.badge-primary{background:var(--primary-50);color:var(--primary);border:1px solid var(--primary-100)}
.badge-secondary{background:#FFFBEB;color:#B45309;border:1px solid #FDE68A}

/* ---------- Section scaffolding ---------- */
.section{padding-block:5rem}
.section-sm{padding-block:4rem}
.bg-gray{background:var(--gray-50)}
.bg-navy{background:var(--primary)}
.overline{font-size:.75rem;font-family:var(--heading);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--secondary);margin-bottom:.75rem}
.sec-title{font-weight:700;font-size:clamp(1.875rem,3.5vw,2.25rem);line-height:1.25;color:var(--primary-900);margin-bottom:1rem}
.sec-desc{font-size:1.05rem;line-height:1.7;color:var(--gray-500);max-width:42rem}
.sec-center{text-align:center}
.sec-center .sec-desc{margin-inline:auto}
.sec-head-row{display:flex;flex-direction:column;gap:1rem;justify-content:space-between;margin-bottom:3rem}
@media(min-width:640px){.sec-head-row{flex-direction:row;align-items:center}}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{position:relative;background:var(--primary-900);padding-block:4rem;overflow:hidden;text-align:center}
@media(min-width:768px){.page-hero{padding-block:6rem}}
.page-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.1}
.page-hero .container{position:relative}
.page-hero h1{font-weight:800;font-size:clamp(2.25rem,5vw,3rem);color:#fff;margin-bottom:1rem}
.page-hero p{color:var(--gray-300);font-size:1.125rem;max-width:100%;margin-inline:auto}
.page-hero strong{color: var(--secondary);font-size:1.5rem;max-width:100%;margin-inline:auto;margin-bottom: 5px;float: left;width: 100%;}

/* ---------- Home hero ---------- */
.hero{position:relative;min-height:90vh;display:flex;align-items:center;background:var(--primary-900);overflow:hidden}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(to right,var(--primary-900),rgba(10,24,38,.9) 55%,rgba(14,33,52,.7))}
.hero .container{position:relative;padding-block:6rem}
.hero-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
@media(min-width:1024px){.hero-grid{grid-template-columns:2fr 1fr}}
.hero-pill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(232,160,32,.2);border:1px solid rgba(232,160,32,.3);border-radius:999px;padding:.375rem 1rem;margin-bottom:1.5rem}
.hero-pill .dot{width:.5rem;height:.5rem;background:var(--secondary);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero-pill span{color:var(--secondary);font-size:.75rem;font-family:var(--heading);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.hero h1{font-weight:800;font-size:clamp(2.5rem,6vw,3.75rem);line-height:1.15;color:#fff;margin-bottom:1.5rem}
.hero h1 .amber{display:block;color:var(--secondary)}
.hero-lead{color:var(--gray-300);font-size:1.125rem;line-height:1.7;margin-bottom:2rem;max-width:36rem}
.hero-btns{display:flex;flex-direction:column;gap:1rem}
@media(min-width:640px){.hero-btns{flex-direction:row}}
.hero-stats{display:none;grid-template-columns:1fr 1fr;gap:1rem}
@media(min-width:1024px){.hero-stats{display:grid}}
.hero-stat{background:rgba(255,255,255,.1);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:1rem;padding:1.5rem;text-align:center}
.hero-stat b{display:block;font-family:var(--heading);font-weight:800;font-size:2.25rem;color:var(--secondary);margin-bottom:.25rem}
.hero-stat span{color:var(--gray-300);font-size:.875rem}
.hero-fade{position:absolute;bottom:0;left:0;right:0;height:4rem;background:linear-gradient(to top,#fff,transparent)}

/* ---------- Clients strip ---------- */
.clients-label{text-align:center;font-size:.875rem;color:var(--gray-400);font-family:var(--heading);font-weight:500;text-transform:uppercase;letter-spacing:.1em;margin-bottom:2.5rem}
.clients-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem}
@media(min-width:768px){.clients-row{gap:4rem}}
.clients-row p{font-family:var(--heading);font-weight:700;color:var(--gray-300);font-size:1.125rem;transition:color .2s;cursor:default}
.clients-row p:hover{color:var(--gray-400)}

/* ---------- Feature / value cards ---------- */
.grid-4{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.grid-5{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.grid-5{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-5{grid-template-columns:repeat(5,1fr)}}
.grid-3{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.grid-2{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.grid-2{grid-template-columns:repeat(2,1fr)}}
.feature-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:var(--sh-sm);border:1px solid var(--gray-100);transition:box-shadow .2s}
.feature-card:hover{box-shadow:var(--sh-md)}
.feature-icon{width:3.5rem;height:3.5rem;background:var(--primary-50);border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:1.25rem;transition:all .3s}
.feature-icon .icon{width:1.75rem;height:1.75rem}
.feature-card:hover .feature-icon{background:var(--primary);color:#fff}
.feature-card h3{font-weight:600;color:var(--primary-900);font-size:1.125rem;margin-bottom:.5rem}
.feature-card p{color:var(--gray-500);font-size:.875rem;line-height:1.6}

/* ---------- Product cards ---------- */
.product-card{background:#fff;border-radius:1rem;border:1px solid var(--gray-100);box-shadow:var(--sh-sm);overflow:hidden;transition:box-shadow .2s;cursor:pointer;display:flex;flex-direction:column}
.product-card:hover{box-shadow:var(--sh-md)}
.pc-img{position:relative;height:3rem;overflow:hidden}
.pc-img.tall{height:3rem}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.product-card:hover .pc-img img{transform:scale(1.05)}
.pc-img .badge{position:absolute;top:.75rem;left:.75rem}
.pc-img .badge-feat{position:absolute;top:.75rem;right:.75rem;left:auto}
.pc-body{padding:1.25rem;display:flex;flex-direction:column;flex:1}
.pc-body h3{font-weight:600;color:var(--primary-900);font-size:1rem;line-height:1.4;margin-bottom:.5rem}
.pc-body p{color:var(--gray-500);font-size:.875rem;line-height:1.6;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.pc-body .link-arrow{margin-top:auto}

/* ---------- Stats band ---------- */
.stats-band{position:relative;overflow:hidden}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;position:relative}
@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}
.stat-item{text-align:center}
.stat-item b{display:block;font-family:var(--heading);font-weight:800;font-size:3rem;color:var(--secondary);margin-bottom:.5rem}
.stat-item span{color:var(--gray-300);font-size:.875rem}
.deco-circle{position:absolute;border-radius:50%;opacity:.05;pointer-events:none}

/* ---------- Testimonials ---------- */
.testimonial{background:#fff;border-radius:1rem;padding:1.5rem;border:1px solid var(--gray-100);box-shadow:var(--sh-sm);transition:box-shadow .2s}
.testimonial:hover{box-shadow:var(--sh-md)}
.stars{display:flex;gap:.25rem;margin-bottom:1rem;color:var(--secondary)}
.stars .icon{width:1rem;height:1rem;fill:var(--secondary)}
.testimonial blockquote{color:var(--gray-600);font-size:.875rem;line-height:1.7;font-style:italic;margin-bottom:1.25rem}
.t-person{display:flex;align-items:center;gap:.75rem}
.t-person img{width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover}
.t-person b{display:block;font-family:var(--heading);font-weight:600;color:var(--primary-900);font-size:.875rem}
.t-person span{color:var(--gray-400);font-size:.75rem}

/* ---------- Big CTA panel ---------- */
.cta-panel{background:linear-gradient(135deg,var(--primary-900),var(--primary));border-radius:1.5rem;padding:2.5rem;position:relative;overflow:hidden}
@media(min-width:768px){.cta-panel{padding:4rem}}
.cta-panel .deco-circle{top:0;right:0;width:18rem;height:18rem;background:var(--secondary);opacity:.1;transform:translate(33%,-33%)}
.cta-grid{position:relative;display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center}
@media(min-width:1024px){.cta-grid{grid-template-columns:1fr 1fr}}
.cta-panel h2{font-weight:700;font-size:clamp(1.875rem,3.5vw,2.25rem);color:#fff;line-height:1.25;margin-bottom:1rem}
.cta-panel .lead{color:var(--gray-300);line-height:1.7}
.cta-btns{display:flex;flex-direction:column;gap:1rem}
@media(min-width:640px){.cta-btns{flex-direction:row}}

/* ---------- Cert tiles ---------- */
.cert-tile{display:flex;align-items:center;gap:1rem;background:#fff;border-radius:.75rem;padding:1.25rem;border:1px solid var(--gray-100);box-shadow:var(--sh-sm)}
.cert-tile .ic{width:2.5rem;height:2.5rem;background:#ECFDF5;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#059669;flex-shrink:0}
.cert-tile b{display:block;font-family:var(--heading);font-weight:600;color:var(--primary-900);font-size:.875rem}
.cert-tile span{color:var(--gray-400);font-size:.75rem}

/* ---------- Products page: toolbar ---------- */
.toolbar{position:sticky;top:4rem;z-index:40;background:#fff;border-bottom:1px solid var(--gray-100);padding-block:2rem}
@media(min-width:1024px){.toolbar{top:5rem}}
.toolbar-row{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;justify-content:space-between}
@media(min-width:640px){.toolbar-row{flex-direction:row;align-items:center}}
.search-wrap{position:relative;flex:1;max-width:28rem;width:100%}
.search-wrap .icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;color:var(--gray-400)}
.search-wrap input{width:100%;padding:.625rem 2.5rem;font-size:.875rem;border:1px solid var(--gray-200);border-radius:.5rem;background:var(--gray-50);font-family:inherit}
.search-wrap input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-100)}
.search-clear{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gray-400);display:none}
.search-clear.show{display:block}
.filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.filters .icon{width:1rem;height:1rem;color:var(--gray-400)}
.filter-btn{padding:.375rem .75rem;border-radius:.5rem;font-size:.75rem;font-family:var(--heading);font-weight:600;background:var(--gray-100);color:var(--gray-600);border:none;transition:all .2s}
.filter-btn:hover{background:var(--gray-200)}
.filter-btn.active{background:var(--primary);color:#fff}
.result-count{font-size:.875rem;color:var(--gray-500);margin-bottom:1.5rem}
.result-count b{color:var(--primary-900)}
.result-count .cat{color:var(--secondary);font-weight:600}
.empty-state{text-align:center;padding-block:5rem}
.empty-state .circle{width:4rem;height:4rem;background:var(--gray-200);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:var(--gray-400)}
.empty-state h3{font-weight:600;color:var(--gray-700);font-size:1.125rem;margin-bottom:.5rem}
.empty-state p{color:var(--gray-400);font-size:.875rem;margin-bottom:1rem}
.empty-state button{background:none;border:none;color:var(--secondary);font-family:var(--heading);font-weight:600;font-size:.875rem}
.empty-state button:hover{text-decoration:underline}

/* ---------- Product modal ---------- */
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:100;display:none;align-items:center;justify-content:center;padding:1rem}
.modal-backdrop.open{display:flex}
.modal{background:#fff;border-radius:1rem;box-shadow:var(--sh-xl);max-width:42rem;width:100%;max-height:90vh;overflow-y:auto;animation:modalIn .25s ease}
@keyframes modalIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.modal-img{position:relative;height:4rem;overflow:hidden;border-radius:1rem 1rem 0 0}
.modal-img img{width:100%;height:100%;object-fit:cover}
.modal-close{position:absolute;top:1rem;right:1rem;width:2.25rem;height:2.25rem;background:rgba(0,0,0,.5);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}
.modal-close:hover{background:rgba(0,0,0,.7)}
.modal-img .badge{position:absolute;bottom:1rem;left:1rem}
.modal-body{padding:1.5rem}
.modal-body h2{font-weight:700;font-size:1.5rem;color:var(--primary-900);margin-bottom:.75rem}
.modal-body>p{color:var(--gray-600);line-height:1.7;margin-bottom:1.5rem}
.modal-cols{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:640px){.modal-cols{grid-template-columns:1fr 1fr}}
.modal-cols h3{font-family:var(--heading);font-weight:600;color:var(--primary-900);font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem}
.app-list li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--gray-600);margin-bottom:.5rem}
.app-list li::before{content:"";width:.375rem;height:.375rem;background:var(--secondary);border-radius:50%;flex-shrink:0}
.spec-list div{margin-bottom:.5rem}
.spec-list dt{font-size:.75rem;color:var(--gray-400);font-weight:500}
.spec-list dd{font-size:.875rem;color:var(--gray-700);font-weight:600}
.modal-foot{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--gray-100);display:flex;gap:.75rem}
.modal-foot .close-btn{flex:1;border:1px solid var(--gray-200);color:var(--gray-600);font-family:var(--heading);font-weight:600;font-size:.875rem;padding:.625rem;border-radius:.5rem;background:#fff;transition:background .2s}
.modal-foot .close-btn:hover{background:var(--gray-50)}
.modal-foot .quote-btn{flex:1;background:var(--secondary);color:#fff;font-family:var(--heading);font-weight:600;font-size:.875rem;padding:.625rem;border-radius:.5rem;text-align:center;transition:background .2s}
.modal-foot .quote-btn:hover{background:var(--secondary-dark)}

/* ---------- Industry cards ---------- */
.industry-card{background:#fff;border-radius:1rem;border:1px solid var(--gray-100);box-shadow:var(--sh-sm);overflow:hidden;transition:box-shadow .3s}
.industry-card:hover{box-shadow:var(--sh-lg)}
.ic-img{position:relative;height:13rem;overflow:hidden}
.ic-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.industry-card:hover .ic-img img{transform:scale(1.05)}
.ic-img .grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,24,38,.8),transparent)}
.ic-title{position:absolute;bottom:1rem;left:1rem;display:flex;align-items:center;gap:.75rem}
.ic-title .ic{width:3rem;height:3rem;background:var(--secondary);border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff}
.ic-title .ic .icon{width:1.75rem;height:1.75rem}
.ic-title h3{font-weight:700;color:#fff;font-size:1.125rem}
.ic-body{padding:1.5rem}
.ic-body>p{color:var(--gray-600);font-size:.875rem;line-height:1.7;margin-bottom:1.25rem}
.ic-label{font-size:.75rem;font-family:var(--heading);font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}
.ic-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.ic-tags span{padding:.25rem .625rem;background:var(--primary-50);color:var(--primary);font-size:.75rem;font-family:var(--heading);font-weight:500;border-radius:.5rem;border:1px solid var(--primary-100)}

/* ---------- Split blocks ---------- */
.split{display:grid;grid-template-columns:1fr;gap:4rem;align-items:center}
@media(min-width:1024px){.split{grid-template-columns:1fr 1fr}}
.split .body p{color:var(--gray-600);line-height:1.75;margin-bottom:1rem}
.split-img{position:relative}
.split-img>img{border-radius:1rem;box-shadow:var(--sh-xl);width:100%;object-fit:cover}
.float-stat{position:absolute;bottom:-1.5rem;left:-1.5rem;background:var(--secondary);border-radius:1rem;padding:1.5rem;box-shadow:var(--sh-lg)}
.float-stat b{display:block;font-family:var(--heading);font-weight:800;font-size:1.875rem;color:#fff}
.float-stat span{color:rgba(255,255,255,.8);font-size:.875rem}

/* ---------- Cert cards (Quality) ---------- */
.cert-card{background:#fff;border-radius:1rem;padding:1.5rem;border:1px solid var(--gray-100);box-shadow:var(--sh-sm);transition:box-shadow .2s}
.cert-card:hover{box-shadow:var(--sh-md)}
.cert-row{display:flex;align-items:flex-start;gap:1rem}
.cert-row .feature-icon{margin-bottom:0}
.cert-card:hover .feature-icon{background:var(--primary);color:#fff}
.cert-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.5rem}
.cert-head h3{font-weight:700;color:var(--primary-900);font-size:1rem}
.cert-head span{font-size:.75rem;color:var(--gray-400);font-weight:500;white-space:nowrap}
.cert-card p{color:var(--gray-500);font-size:.875rem;line-height:1.6}
.lab-card{background:var(--gray-50);border-radius:1rem;padding:1.5rem;border:1px solid var(--gray-100)}
.lab-card .feature-icon{width:3rem;height:3rem}
.lab-card .feature-icon .icon{width:1.5rem;height:1.5rem}
.lab-card h3{font-weight:600;color:var(--primary-900);font-size:1rem;margin-bottom:.5rem}
.lab-card p{color:var(--gray-500);font-size:.875rem;line-height:1.6}

/* ---------- Team ---------- */
.team-card{background:#fff;border-radius:1rem;padding:1.5rem;border:1px solid var(--gray-100);box-shadow:var(--sh-sm);text-align:center;transition:box-shadow .2s}
.team-card:hover{box-shadow:var(--sh-md)}
.team-card img{width:5rem;height:5rem;border-radius:50%;object-fit:cover;margin:0 auto 1rem}
.team-card h3{font-weight:600;color:var(--primary-900);font-size:1rem}
.team-card .pos{color:var(--secondary);font-family:var(--heading);font-weight:600;font-size:.8rem;margin:.25rem 0 .75rem}
.team-card p{color:var(--gray-500);font-size:.85rem;line-height:1.6}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 2fr}}
.info-card{display:flex;gap:1rem;background:#fff;border-radius:.75rem;padding:1rem;border:1px solid var(--gray-100);box-shadow:var(--sh-sm);margin-bottom:1.25rem}
.info-card .ic{width:2.5rem;height:2.5rem;background:var(--primary-50);border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}
.info-card b{display:block;font-family:var(--heading);font-weight:600;color:var(--primary-900);font-size:.875rem;margin-bottom:.25rem}
.info-card p{color:var(--gray-500);font-size:.875rem}
.info-card a:hover{color:var(--secondary)}
.response-card{background:var(--primary);border-radius:1rem;padding:1.5rem;color:#fff}
.response-card h3{font-weight:700;font-size:1.125rem;margin-bottom:.5rem}
.response-card p{color:var(--gray-300);font-size:.875rem;line-height:1.7;margin-bottom:1rem}
.response-card .fast{display:flex;align-items:center;gap:.5rem;color:var(--secondary);font-family:var(--heading);font-weight:600;font-size:.875rem}
.form-card{background:#fff;border-radius:1rem;box-shadow:var(--sh-sm);border:1px solid var(--gray-100);padding:2rem}
.form-card h2{font-weight:700;font-size:1.5rem;color:var(--primary-900);margin-bottom:.5rem}
.form-card .sub{color:var(--gray-500);font-size:.875rem;margin-bottom:2rem}
.f-row{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:1.25rem}
@media(min-width:640px){.f-row{grid-template-columns:1fr 1fr}}
.f-group{margin-bottom:1.25rem}
.f-row .f-group{margin-bottom:0}
.f-group label{display:block;font-size:.875rem;font-family:var(--heading);font-weight:500;color:var(--gray-700);margin-bottom:.375rem}
.f-group .req{color:#EF4444}
.f-group input,.f-group select,.f-group textarea{width:100%;padding:.75rem 1rem;font-size:.875rem;border:1px solid var(--gray-200);border-radius:.5rem;background:#fff;font-family:inherit;transition:border-color .2s,box-shadow .2s}
.f-group textarea{min-height:8rem;resize:vertical}
.f-group input:focus,.f-group select:focus,.f-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-100)}
.f-group.error input,.f-group.error select,.f-group.error textarea{border-color:#F87171;background:#FEF2F2}
.f-error{display:none;margin-top:.25rem;font-size:.75rem;color:#EF4444}
.f-group.error .f-error{display:block}
.map-embed{margin-top:3rem;border-radius:1rem;overflow:hidden;border:1px solid var(--gray-100);box-shadow:var(--sh-sm)}
.map-embed iframe{width:100%;height:24rem;border:0;display:block}

/* ---------- Toast ---------- */
.toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%,150%);background:var(--primary-900);color:#fff;padding:.875rem 1.5rem;border-radius:.75rem;box-shadow:var(--sh-xl);font-size:.875rem;display:flex;align-items:center;gap:.75rem;z-index:200;transition:transform .35s ease;max-width:min(92vw,32rem)}
.toast.show{transform:translate(-50%,0)}
.toast.success{border-left:4px solid var(--success)}
.toast.error{border-left:4px solid var(--error)}

/* ---------- Footer ---------- */
.footer{background:var(--primary-900);color:var(--gray-300)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;padding-block:4rem}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-logo img{height:3rem;width:auto;filter:brightness(0) invert(1)}
.footer-brand p{font-size:.875rem;line-height:1.7;color:var(--gray-400);margin:1.25rem 0 1.5rem}
.socials{display:flex;gap:.75rem}
.socials a{width:2.25rem;height:2.25rem;background:rgba(255,255,255,.1);border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .2s}
.socials a:hover{background:var(--secondary)}
.socials .icon{width:1rem;height:1rem}
.footer h3{font-family:var(--heading);font-weight:600;color:#fff;font-size:.875rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.25rem}
.footer-col li{margin-bottom:.75rem}
.footer-col a{font-size:.875rem;color:var(--gray-400);transition:color .2s}
.footer-col a:hover{color:var(--secondary)}
.footer-contact li{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;font-size:.875rem;color:var(--gray-400)}
.footer-contact .icon{width:1rem;height:1rem;color:var(--secondary);margin-top:.2rem}
.footer-contact a:hover{color:var(--secondary)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-block:2rem;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--gray-500)}
@media(min-width:640px){.footer-bottom{flex-direction:row}}
.footer-bottom .links{display:flex;gap:1.5rem}
.footer-bottom .links a:hover{color:var(--gray-300)}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
.form-card input#submit-btn {width: 100%;}
.wpcf7-not-valid-tip{margin-top:6px;font-size:14px;}
.wpcf7 form .wpcf7-response-output{margin-top:20px;}