/* ===========================================
   CRITICAL CSS - Above the fold only
   Loaded async after LCP
   =========================================== */

/* Fonts - loaded async, swap to Inter after download */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:optional;src:url(../fonts/inter-v20-latin_latin-ext-regular.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:optional;src:url(../fonts/inter-v20-latin_latin-ext-600.woff2) format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:optional;src:url(../fonts/inter-v20-latin_latin-ext-700.woff2) format("woff2")}

/* Reset minimal */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.5;color:#212529;background:#fff}
img,video{max-width:100%;height:auto;vertical-align:middle}
a{color:#0072ce;text-decoration:none}

/* Container */
.container{width:100%;padding-right:12px;padding-left:12px;margin-right:auto;margin-left:auto}
@media(min-width:576px){.container{max-width:540px}}
@media(min-width:768px){.container{max-width:720px}}
@media(min-width:992px){.container{max-width:960px}}
@media(min-width:1200px){.container{max-width:1140px}}
@media(min-width:1400px){.container{max-width:1320px}}

/* Display utilities */
.d-none{display:none}
.d-flex{display:flex}
.d-block{display:block}
.d-inline-flex{display:inline-flex}
@media(min-width:768px){.d-md-none{display:none}.d-md-block{display:block}}
@media(min-width:992px){.d-lg-block{display:block}}

/* Flexbox */
.align-items-center{align-items:center}
.justify-content-center{justify-content:center}
.justify-content-between{justify-content:space-between}
.flex-shrink-0{flex-shrink:0}
.gap-2{gap:.5rem}
.gap-3{gap:1rem}

/* Position */
.position-relative{position:relative}
.position-absolute{position:absolute}
.position-fixed{position:fixed}
.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}
.top-0{top:0}
.bottom-0{bottom:0}
.start-0{left:0}
.end-0{right:0}

/* Spacing */
.p-4{padding:1.5rem}
.py-5{padding-top:3rem;padding-bottom:3rem}
.pb-5{padding-bottom:3rem}
.mb-0{margin-bottom:0}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:1rem}
.mb-4{margin-bottom:1.5rem}
.mb-5{margin-bottom:3rem}
.mt-3{margin-top:1rem}
.mt-4{margin-top:1.5rem}
.ms-auto{margin-left:auto}
.ms-lg-3{margin-left:1rem}

/* Text */
.text-start{text-align:left}
.text-center{text-align:center}
.text-white{color:#fff}
.text-dark{color:#212529}
.text-secondary{color:#6c757d}
.text-decoration-none{text-decoration:none}
.fw-bold{font-weight:700}
.fw-semibold{font-weight:600}
.fs-5{font-size:1.25rem}
.fs-6{font-size:1rem}

/* Background */
.bg-white{background-color:#fff}
.bg-black{background:#000}

/* Border */
.border-0{border:0}
.rounded-4{border-radius:1rem}
.rounded-circle{border-radius:50%}
.rounded-pill{border-radius:50rem}
.overflow-hidden{overflow:hidden}

/* Sizing */
.w-100{width:100%}
.h-100{height:100%}

/* Object fit */
.object-fit-cover{object-fit:cover}

/* Clario Brand */
:root{--clario-orange:#ff6900;--clario-blue:#0072ce;--bs-font-sans-serif:Inter,system-ui,-apple-system,sans-serif}
.bg-clario-gradient{background:linear-gradient(to bottom right,#eff6ff,#fff7ed)}
.bg-clario-blue{background-color:#0072ce}
.text-clario-orange{color:#ff6900}

/* Navbar critical */
.navbar-clario{position:fixed;top:0;left:0;right:0;height:88px;background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,105,0,.1);box-shadow:0 4px 16px rgba(0,0,0,.1)}
@media(max-width:991.98px){.navbar-clario{height:70px}}
.navbar-clario .navbar-brand img{height:46px;width:auto}
@media(min-width:992px){.navbar-clario .navbar-brand img{height:56px;width:auto}}
.navbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:.5rem 1rem}
.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;white-space:nowrap}
.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background:transparent;border:1px solid transparent;border-radius:.375rem}
.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:url(data:image/svg+xml,%3csvg xmlns=http://www.w3.org/2000/svg viewBox=0 0 30 30%3e%3cpath stroke=rgba%2833, 37, 41, 0.75%29 stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d=M4 7h22M4 15h22M4 23h22/%3e%3c/svg%3e);background-repeat:no-repeat;background-position:center;background-size:100%}
.collapse:not(.show){display:none}
@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-collapse{display:flex;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}

/* Hero section critical */
.hero-section{padding-top:104px}
@media(min-width:992px){.hero-section{padding-top:122px}}

/* Section titles */
.section-title{font-size:1.875rem;line-height:2.25rem;letter-spacing:-.025em;font-weight:700}
.section-subtitle{font-size:1.25rem;line-height:1.75rem;font-weight:300}

/* Card title */
.card-title-lg{font-size:1.75rem;font-weight:700;letter-spacing:-.025em;line-height:1.2}

/* Button critical */
.btn{display:inline-block;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;user-select:none;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.375rem;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s;border:1px solid transparent}
.btn-primary{color:#fff;background-color:#0072ce;border-color:#0072ce}
.btn-primary:hover{background-color:#005ba3;border-color:#005ba3}
.px-4{padding-left:1.5rem;padding-right:1.5rem}

/* Swiper base critical */
.swiper{position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}
.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}
.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative}
.clario-swiper{position:relative;overflow:hidden;padding-bottom:50px}
.services-swiper{min-height:510px}
.services-swiper .swiper-slide{width:250px;height:450px}

/* Card base */
.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.375rem}

/* Hero box laser - LCP critical */
.hero-box-laser{aspect-ratio:16/9;position:relative}
.hero-box-laser img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:767.98px){.hero-box-laser{aspect-ratio:unset;height:60vh}.hero-box-laser img{width:150%;object-position:60% center}}
.hero-gradient-overlay{position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.3) 50%,transparent 100%);z-index:10;pointer-events:none}
.hero-text-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;z-index:20;padding:2rem}
@media(min-width:1200px){.hero-text-overlay{padding:3rem 4rem 5rem}}
.hero-title{font-size:2.25rem;font-weight:700;line-height:1.1;text-shadow:0 1px 2px rgba(0,0,0,.8);margin-bottom:.75rem}
.hero-subtitle{font-size:1.25rem;font-weight:400;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.8)}
@media(min-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.5rem}}
@media(min-width:992px){.hero-title{font-size:3rem}.hero-subtitle{font-size:1.75rem}}
@media(min-width:1200px){.hero-title{font-size:3.5rem}.hero-subtitle{font-size:2rem}}
.mb-hero{margin-bottom:5rem}

/* Hero video container - poster first, then video */
.hero-video-container{position:relative}
.hero-video-container .hero-poster{position:relative;z-index:1}
.hero-video-container .hero-video{position:absolute;top:0;left:0;z-index:2}

/* Parallax critical */
.hero-parallax{overflow:hidden}
.hero-parallax img{will-change:transform;transform:translateY(0)}

/* Reveal animations - JS adds .reveal-init first, then .reveal on scroll */
.reveal-init.reveal-box{opacity:0;transform:translateY(30px);transition:opacity .7s ease-out,transform .7s ease-out}
.reveal-init.reveal-left{opacity:0;transform:translateX(-50px);transition:opacity .6s ease,transform .6s ease}
.reveal-init.reveal-right{opacity:0;transform:translateX(50px);transition:opacity .6s ease,transform .6s ease}
.reveal-init.section-title,.reveal-init.section-subtitle{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.reveal-init.reveal{opacity:1;transform:translate(0)}

/* Videos swiper - prevent CLS */
.videos-swiper{min-height:400px}
.videos-swiper .swiper-slide{width:280px}
@media(min-width:768px){.videos-swiper .swiper-slide{width:480px}}
.video-thumb{aspect-ratio:4/3;position:relative;overflow:hidden}
.video-thumb img{width:100%;height:100%;object-fit:cover}

/* Slots swiper - prevent CLS */
.slots-swiper{min-height:280px}
.slots-swiper .swiper-slide{width:180px}
.slots-container{min-height:280px}

/* Reviews list - prevent CLS */
.reviews-list{min-height:200px}

/* Swiper navigation - prevent CLS */
.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:44px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center}
.swiper-button-next{right:10px}
.swiper-button-prev{left:10px}
.clario-swiper .swiper-button-next,.clario-swiper .swiper-button-prev{top:auto;bottom:0;margin-top:0}

/* Navbar extended - moved from header.php */
.navbar-clario{z-index:10000;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}

.navbar-clario .nav-link{font-size:1rem;font-weight:500;color:#374151;padding:.5rem .75rem}
.navbar-clario .nav-link:hover{color:var(--clario-orange)}
@media(min-width:1200px){.navbar-clario .dropdown:hover>.dropdown-menu{display:block;margin-top:0}.navbar-clario .dropdown-menu{border:1px solid #f3f4f6;border-radius:.5rem;box-shadow:0 10px 40px rgba(0,0,0,.1);min-width:280px}.navbar-clario .dropdown-item{padding:.5rem 1rem;color:#374151}.navbar-clario .dropdown-item:hover{background:#f9fafb;color:var(--clario-orange)}.navbar-clario .dropdown-divider{margin:.5rem 1rem;border-color:#e5e7eb}}

/* Mobile CTA ticker */
.btn-mobile-cta{display:inline-flex;align-items:center;background:var(--clario-blue);color:#fff;text-decoration:none;padding:8px 14px;border-radius:50px;font-weight:600;font-size:.75rem;overflow:hidden;max-width:130px}
.btn-mobile-cta:hover{background:var(--clario-blue-hover,#005ba3);color:#fff}
.ticker-wrapper{overflow:hidden;width:85px;position:relative}
.ticker-text{display:inline-block;white-space:nowrap;animation:ticker 10s linear infinite}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Hamburger toggle */
.hamburger-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:0}
.hamburger-toggle span{display:block;width:24px;height:2px;background:#374151;border-radius:2px;transition:all .3s ease}
.hamburger-toggle span:nth-child(1),.hamburger-toggle span:nth-child(2){margin-bottom:6px}
.hamburger-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburger-toggle.active span:nth-child(2){opacity:0;transform:translateX(-10px)}
.hamburger-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Mobile menu */

@media(max-width:1199.98px){.desktop-nav{display:none}.mobile-menu{display:grid;grid-template-columns:1fr 2fr;gap:.5rem;min-height:calc(100vh - 88px - 2rem);align-content:start}.mobile-menu-left{border-right:1px solid #e5e7eb;padding-right:.5rem;overflow:hidden}.mobile-menu-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;font-size:1rem;font-weight:600;color:#374151;cursor:pointer;border-radius:.5rem;transition:all .2s;text-decoration:none;white-space:nowrap;overflow:hidden}.mobile-menu-item:hover{color:var(--clario-orange)}.mobile-menu-item[data-menu]::after{content:'';opacity:0;transition:all .2s;flex-shrink:0}.mobile-menu-item.active{color:var(--clario-orange)}.mobile-menu-item.active::after{content:'→';opacity:1;margin-left:.25rem;flex-shrink:0}.mobile-menu-separator{height:1px;background:#e5e7eb;margin:.5rem 0}.mobile-menu-right{padding-left:.5rem}.mobile-submenu{display:none}.mobile-submenu.active{display:block}.mobile-submenu a{display:block;padding:.6rem .5rem;font-size:1rem;color:#6b7280;text-decoration:none;border-radius:.25rem}.mobile-submenu a:hover{color:var(--clario-orange);background:#fff7ed}.mobile-call-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding:.5rem 1.25rem;background:var(--clario-blue);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;font-size:.9rem}.mobile-call-btn:hover{background:var(--clario-blue-hover,#005ba3);color:#fff}.mobile-lang-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:1rem;font-weight:600;color:#374151;cursor:pointer;border-radius:.5rem;transition:all .2s;text-decoration:none;white-space:nowrap}.mobile-lang-item:hover{color:var(--clario-orange)}}
@media(max-width:767.98px){.mobile-menu{min-height:calc(100vh - 70px - 2rem)}}
@media(min-width:1200px){.mobile-menu{display:none}}
.mobile-menu-overlay{display:none;position:fixed;top:88px;left:0;right:0;bottom:0;background:#fff;padding:1rem;overflow-y:auto;z-index:10001}
@media(max-width:767.98px){.mobile-menu-overlay{top:70px}}
.mobile-menu-overlay.active{display:block}
@media(min-width:1200px){.mobile-menu-overlay{display:none}}
.navbar-clario{position:fixed!important;top:0;left:0;right:0}

/* Mobile navbar fix */
@media(max-width:575.98px){
  .navbar-clario .navbar-brand img{height:42px}
  .btn-mobile-cta{max-width:110px;padding:6px 10px;font-size:.7rem}
  .hamburger-toggle{width:28px;height:28px}
  .hamburger-toggle span{width:20px}
}
