:root { --yaf-charcoal: #101820; --yaf-gold: #f4b400; }
body { color: #52616b; }
.navbar-brand .brand-name { font-size: clamp(1.15rem, 2.4vw, 2rem); line-height: 1; }
.navbar-brand .brand-subtitle { display:block; font: 600 .65rem/1.2 "Open Sans",sans-serif; letter-spacing:.14em; color:#fff; opacity:.7; }
.navbar-brand:has(.custom-logo-link) { flex:0 0 260px; width:260px; max-width:260px; height:72px; margin-right:1rem; }
.custom-logo-link { display:flex; align-items:center; justify-content:flex-start; width:100%; height:100%; overflow:hidden; }
.custom-logo { display:block; width:100%!important; height:100%!important; max-width:100%!important; max-height:100%!important; object-fit:contain; object-position:left center; }
.carousel-caption { background: linear-gradient(90deg,rgba(8,18,27,.82),rgba(8,18,27,.28)); padding-bottom:clamp(3rem,10vh,8rem); }
.carousel-caption > div { transform:translateY(-2vh); }
.homepage-about-copy { padding-right:clamp(1rem,4vw,4.5rem); }
.homepage-about-media { padding-left:clamp(1rem,3vw,3.5rem); }
.yaf-language-switcher { padding:.5rem 0; }
.yaf-language-link { color:#fff; border:1px solid rgba(255,255,255,.35); padding:.25rem .45rem; font-size:.7rem; font-weight:700; line-height:1; }
.yaf-language-link:hover,.yaf-language-link.active { color:#111; background:var(--primary); border-color:var(--primary); }
.mobile-language-switcher .yaf-language-switcher { margin:0!important; padding:0; gap:.35rem!important; }
.mobile-language-switcher .yaf-language-link { padding:.4rem .5rem; font-size:.72rem; }
.hero-kicker { letter-spacing:.16em; }
.service-item img { width:100%; aspect-ratio: 4/3; object-fit:cover; }
.project-card { position:relative; overflow:hidden; min-height:390px; background:#111; }
.project-card img { width:100%; height:390px; object-fit:cover; opacity:.78; transition:.4s; }
.project-card:hover img { transform:scale(1.04); opacity:.55; }
.project-card__body { position:absolute; inset:auto 0 0; padding:2rem; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.9)); }
.team-item img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.page-header { padding: 7rem 3rem; text-align:center; background:linear-gradient(rgba(4,13,20,.78),rgba(4,13,20,.78)),var(--yaf-header-image); background-size:cover; background-position:center; }
.entry-content img { max-width:100%; height:auto; }
.footer-social a { width:42px; height:42px; }
.contact-map-column { height:600px; }
.contact-map { border:0; display:block; }
.contact-form .form-control { min-height:55px; padding:.75rem 1rem; }
.contact-form textarea.form-control { min-height:130px; }
@media (max-width: 991.98px) { .container-fluid.px-5 { padding-left:1.5rem!important; padding-right:1.5rem!important; } .navbar { padding-block:.75rem!important; } .yaf-language-switcher { margin: .35rem 0 .75rem!important; } .contact-map-column { height:480px; } }
@media (max-width: 576px) { .carousel-item>img { min-height:480px; object-fit:cover; } .carousel-caption { padding:1rem 2.75rem 5rem; } .carousel-caption>div { transform:translateY(-1rem); } .carousel-caption .fs-5 { font-size:1rem!important; margin-bottom:1rem!important; } }
@media (max-width: 767.98px) {
  .homepage-about { padding-top:4rem!important; padding-bottom:4rem!important; }
  .homepage-about .row { --bs-gutter-y:2.5rem; }
  .homepage-about-copy h2 { font-size:clamp(1.85rem,9vw,2.5rem); line-height:1.08; margin-bottom:1.25rem!important; overflow-wrap:anywhere; }
  .homepage-about-copy h4 { font-size:1rem; line-height:1.55; }
  .homepage-about-copy>p { line-height:1.7; }
  .homepage-about-features { padding-top:1rem!important; padding-bottom:.5rem!important; }
  .homepage-about-features { --bs-gutter-x:0; width:100%; margin-left:0; margin-right:0; }
  .homepage-about-features>[class*="col-"] { padding-left:0; padding-right:0; }
  .homepage-about-features p { display:flex; align-items:flex-start; margin-bottom:.85rem; }
  .homepage-about-features i { margin-top:.3rem; flex:0 0 auto; }
  .homepage-about-button { width:100%; padding-left:1rem!important; padding-right:1rem!important; }
  .homepage-about-media { padding-bottom:0!important; }
  .homepage-about-media>div { min-height:340px!important; }
  .homepage-about-media img { position:relative!important; height:340px!important; margin-top:0!important; object-fit:cover; }
}
@media (max-width: 575.98px) { .navbar-brand:has(.custom-logo-link) { flex-basis:150px; width:150px; max-width:150px; height:52px; } }
@media (max-width: 420px) { .navbar-brand .brand-name { font-size:1rem; } .navbar-brand .brand-subtitle { font-size:.52rem; letter-spacing:.08em; } .navbar-brand .bi { font-size:1.5rem!important; } .mobile-language-switcher .yaf-language-link { padding:.35rem .4rem; } .navbar-brand:has(.custom-logo-link) { flex-basis:125px; width:125px; max-width:125px; height:48px; margin-right:.35rem; } }
