/*
 * Critical CSS — render-blocking on purpose.
 *
 * Contains every rule the browser needs before atr-public.css (async) arrives:
 *   1. @font-face declarations (7 weights)
 *   2. Font fallback with size-adjust metrics
 *   3. Base resets (html, *, body, lists, a, main)
 *   4. App layout (.app-root, .content padding-top)
 *   5. Content wrapper (base + tablet)
 *   6. Grid system (.grid, .col, col-m-*, col-l-*)
 *   7. AOS CLS fix
 *   8. Navigation (.main-navigation, .primary-nav, .sub-nav, hamburger, icons)
 *   9. Page header section (.h01-3-page-header-cta + __section-text responsive)
 *  10. Intro section (.h02-intro, .h02-capabilities, titles, subtitles, text)
 *  11. Component CLS fixes (services accordion, logo showcase)
 *
 * Enqueued at priority 5 via lunave_enqueue_critical_css() in functions.php.
 * atr-public.css loads async at priority 10 via media="print" onload.
 */

/* ===== 1. @font-face ===== */
@font-face{font-family:metropolis;src:url('../fonts/Metropolis-ExtraBold.woff2') format('woff2'),url('../fonts/Metropolis-ExtraBold.woff') format('woff');font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:metropolis;src:url('../fonts/Metropolis-Bold.woff2') format('woff2'),url('../fonts/Metropolis-Bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:metropolis;src:url('../fonts/Metropolis-SemiBold.woff2') format('woff2'),url('../fonts/Metropolis-SemiBold.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:metropolis;src:url('../fonts/Metropolis-Medium.woff2') format('woff2'),url('../fonts/Metropolis-Medium.woff') format('woff');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:metropolis;src:url('../fonts/Metropolis-Regular.woff2') format('woff2'),url('../fonts/Metropolis-Regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:metropolis;src:url('../fonts/Metropolis-Light.woff2') format('woff2'),url('../fonts/Metropolis-Light.woff') format('woff');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:metropolis;src:url('../fonts/Metropolis-Thin.woff2') format('woff2'),url('../fonts/Metropolis-Thin.woff') format('woff');font-weight:200;font-style:normal;font-display:swap}

/* ===== 2. Font fallback ===== */
@font-face{font-family:'metropolis-fallback';src:local('Arial');size-adjust:97%;ascent-override:95%;descent-override:22%;line-gap-override:0%}

/* ===== 3. Base resets ===== */
html{line-height:1.15;-webkit-text-size-adjust:100%;font-size:10px;scroll-behavior:smooth;-webkit-box-sizing:border-box;box-sizing:border-box}
*,:after,:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-box-sizing:inherit;box-sizing:inherit}
body{margin:0;position:relative;cursor:none;font-family:metropolis,'metropolis-fallback',sans-serif;letter-spacing:.07rem;color:#4b4f54;line-height:1.35;scroll-behavior:smooth}
@media screen and (max-width:1024px){body{cursor:default}.cursor-point{visibility:hidden;display:none}}
dd,dl,ol,ul{list-style:none;margin:0;padding:0}
main{display:block}
a{background-color:transparent;text-decoration:none;color:inherit}

/* ===== 4. App layout ===== */
.app-root{position:relative}
#app,.app-root,.app-root .scroll-wrapper{height:100%;overflow:hidden}
.app-root .scroll-wrapper{width:100%}
.app-root .content{padding-top:6rem}
@media(min-width:1024px){.app-root .content{padding-top:9rem}}

/* ===== 5. Content wrapper ===== */
.content-wrapper{width:100%;max-width:125rem;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}
@media(min-width:480px){.content-wrapper{max-width:132rem;padding-left:2.5rem;padding-right:2.5rem}}

/* ===== 6. Grid system ===== */
.grid{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-.5rem;margin-right:-.5rem}
.col{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%;padding-right:.5rem;padding-left:.5rem}
.col-3{max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}
.col-9{max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}
.col-12{max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}

/* Tablet grid (480px+) */
@media(min-width:480px){.grid{margin-left:-1.5rem;margin-right:-1.5rem}.col{padding-right:1.5rem;padding-left:1.5rem}}

/* Medium columns (768px+) */
@media(min-width:768px){
.col-m-3{max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}
.col-m-4{max-width:33.33333%;-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%}
.col-m-8{max-width:66.66667%;-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%}
.col-m-9{max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}
.col-m-12{max-width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}
}

/* Large columns (1024px+) */
@media(min-width:1024px){
.col-l-3{max-width:25%;-ms-flex-preferred-size:25%;flex-basis:25%}
.col-l-4{max-width:33.33333%;-ms-flex-preferred-size:33.33333%;flex-basis:33.33333%}
.col-l-6{max-width:50%;-ms-flex-preferred-size:50%;flex-basis:50%}
.col-l-8{max-width:66.66667%;-ms-flex-preferred-size:66.66667%;flex-basis:66.66667%}
.col-l-9{max-width:75%;-ms-flex-preferred-size:75%;flex-basis:75%}
}

/* ===== 7. AOS CLS fix ===== */
[data-aos]:not(.aos-init){opacity:1!important;transform:none!important;transition:none!important}

/* ===== 8. Navigation ===== */
.main-navigation{position:fixed;top:0;left:0;width:100%;z-index:9;background-color:#fff}
.main-navigation__mobile{display:block;border-bottom:1px solid #e2e2e2}
.main-navigation__mobile .inner{height:6rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}
.main-navigation__mobile .inner .logo-href{color:inherit}
.main-navigation__logo{width:15.6rem}
.main-navigation__logo.large{display:none}
.main-navigation__container{display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:calc(100vh - 90px);overflow-x:hidden;overflow-y:auto}
.main-navigation__container.is-active{display:-webkit-box;display:-ms-flexbox;display:flex}
.main-navigation__primary{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;border-bottom:1px solid #e2e2e2}
.main-navigation__contact{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;background-color:rgba(0,157,183,.88)}
.main-navigation.isActive .main-navigation__container{display:-webkit-box;display:-ms-flexbox;display:flex}
@media(min-width:1024px){.main-navigation__mobile{display:none}.main-navigation__container{display:-webkit-box;display:-ms-flexbox;display:flex;height:auto;overflow:hidden}.main-navigation__primary{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.main-navigation__primary .inner{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.main-navigation__primary .inner .logo-href{color:inherit}.main-navigation__logo.large{display:block;width:18.5rem}.main-navigation__contact{display:none}}
[data-component=icon]{display:inline-block;vertical-align:middle}
[data-component=icon] svg{height:100%;width:100%;display:block;fill:currentColor}
.mobile-nav .hamburger{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:2rem;height:1.4rem;cursor:pointer}
.mobile-nav .hamburger .bar{position:relative;height:2px;border-radius:1px;background-color:#2d2926}
.primary-nav__list{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:1.5rem 0}
.primary-nav__item,.primary-nav__list{display:-webkit-box;display:-ms-flexbox;display:flex}
.primary-nav__item{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:2rem}
.primary-nav__link{font-size:1.8rem;line-height:1.22222;color:#2d2926;text-decoration:none;padding:1.5rem 0}
.primary-nav__link.active{color:#007581;font-weight:600}
.primary-nav__link .icon{display:none}
.primary-nav__button{padding:1.5rem}
.primary-nav__button-label{display:none}
.primary-nav__button .icon{height:1.2rem;width:.4rem}
@media(min-width:1024px){.primary-nav__list{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0}.primary-nav__item{margin:0}.primary-nav__link{font-size:1.6rem;line-height:1.25;padding:3.5rem 1.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;transition:ease all .3s}.primary-nav__link .icon{display:block;height:1.2rem;width:.4rem;margin-left:1.3rem;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.primary-nav__button{display:none}}
.sub-nav{display:none;background-color:#fff;width:100%}
.sub-nav.open{display:block}
.sub-nav__title{display:none}
.sub-nav__item{padding:1rem 0}
.sub-nav__link{font-size:1.6rem;line-height:1.25;color:#817e7c;text-decoration:none}
.sub-nav__link .icon{display:none}
@media(min-width:1024px){.sub-nav{position:absolute;top:9rem;left:0;padding:5rem 0;z-index:2;border-bottom:1px solid #e2e2e2;border-top:1px solid #e2e2e2}.sub-nav__wrapper{width:100%;max-width:132rem;padding-left:6rem;padding-right:6rem;margin-left:auto;margin-right:auto}.sub-nav__title{display:flex;align-items:center;justify-content:center}.sub-nav__link{padding:.75rem 2rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center}}

/* ===== 9. Page header section ===== */
.h01-3-page-header-cta{position:relative;min-height:32vw;overflow:hidden}
@media(min-width:360px) and (max-width:768px){.h01-3-page-header-cta{width:100%;height:280px;min-height:280px}}
.h01-3-page-header-cta .responsive-image{display:inline-block;margin:0;width:100%;height:100%}
.h01-3-page-header-cta .responsive-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:top}
.h01-3-page-header-cta__section{padding:12vw 0}
.h01-3-page-header-cta__section-text{opacity:.9;margin:3rem 0;font-style:normal;font-weight:600;font-size:64px;line-height:64px;color:#FFFFFF;padding:0 15px}
.h01-3-page-header-cta__section-text p{font-weight:700}
@media(min-width:769px){.h01-3-page-header-cta__section-text{line-height:70px}}
@media(min-width:1024px){.h01-3-page-header-cta__section-text{line-height:8.5rem}}
@media(max-width:768px){.h01-3-page-header-cta__section-text{line-height:64px;font-size:54px}}
@media(max-width:600px){.h01-3-page-header-cta__section-text{line-height:50px;font-size:42px}}

/* ===== 10. Intro section ===== */
.h02-intro{padding:70px 0;height:auto;min-height:auto}
.h02-capabilities{padding:70px 0;background-color:#E5BF6C}
@media(min-width:769px) and (max-width:1024px){.h02-intro{height:auto;min-height:auto}}
@media(min-width:360px) and (max-width:768px){.h02-intro{padding:40px 0;height:auto;min-height:auto}.h02-capabilities{padding:40px 0}}
@media(min-width:1024px){.h02-intro{height:auto;min-height:320px}}

.h02-intro__section{padding:25px 0 15px 0}
@media(min-width:768px){.h02-intro__section{padding:25px 0 15px 0}}

.h02-intro__section-title{font-style:normal;font-weight:400;font-size:36px;line-height:36px;color:#2E2A27;text-transform:uppercase}
.h02-intro__section-subtitle{font-size:1.3rem;font-weight:500;display:block;color:rgb(189 142 127);mix-blend-mode:multiply;margin-bottom:1rem}

.h02-intro__section-text{background-color:transparent}
.section-capabilities{min-width:712px}
.h02-intro__section-text p{font-style:normal;font-weight:400;font-size:20px;line-height:30px;color:#2E2A27;padding:0}
.h02-intro__section-text p+p{margin-top:2.5rem}

@media(min-width:769px) and (max-width:1024px){
.h02-intro__section-title{font-size:32px;line-height:32px}
.h02-intro__section-text p{padding:0}
}
@media(min-width:350px) and (max-width:768px){
.h02-intro__section-title{font-size:28px;line-height:28px}
.h02-intro__section-text{margin-top:2px}
.section-capabilities{min-width:auto}
.h02-intro__section-text p{padding:0}
}
@media(min-width:768px){
.section-capabilities{min-width:712px}
.h02-intro__section-text p{padding:0 32px}
}

/* ===== 11. Button reset (for <button class="button-element">) ===== */
button.button-element{border:none;background:none;font:inherit;cursor:pointer;text-align:inherit;padding:0}

/* ===== 12. Component CLS fixes ===== */
@media(max-width:820px){.w01-services__item-text{display:none;overflow:hidden}}
@media(min-width:821px){.w01-services__item-title .icon{display:none}}
.h05-logo-showcase img{width:100%;height:auto;display:block}
