﻿img{height:auto;max-width:100%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}img[loading="lazy"]{background:linear-gradient(135deg,#f0f0f0,#e0e0e0)}.card-image,.how-card-image,.search-paris-image{position:relative;overflow:hidden;aspect-ratio:4 / 3}.search-paris-thumb{position:relative;overflow:hidden;aspect-ratio:4 / 3}.hero-banner{position:relative;overflow:hidden;aspect-ratio:16 / 5}.card:hover,.how-card:hover{transform:translateY(-5px);will-change:transform}.wrapper,.container{contain:layout style paint}.how-grid,.articles-grid{display:grid;contain:layout}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Cantarell','Fira Sans','Droid Sans','Helvetica Neue',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}@media (max-width:768px){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}.modal-backdrop,.search-modal{transform:scale(0);opacity:0;transition:transform 0.3s ease,opacity 0.3s ease}.modal-backdrop.is-active,.search-modal.is-active{transform:scale(1);opacity:1}@media print{*{background:transparent !important;color:black !important;box-shadow:none !important;text-shadow:none !important}img{max-width:100% !important;page-break-inside:avoid}}

/* Mobile: keep burger button fixed to viewport (and prevent transform-containing-block issues) */
@media (max-width:900px){html,body,header{transform:none !important;perspective:none !important}#safe-burger-btn,.burger-btn,.menu-toggle,.nav-toggle{position:fixed !important;top:18px !important;right:18px !important;z-index:2147483647 !important}}

.brand-link{display:flex;align-items:center;gap:12px;text-decoration:none;cursor:pointer}
.brand-link:hover .brand-name{opacity:.85;transition:opacity .2s ease}
.brand-link .mobile-logo-text{pointer-events:auto !important}

/* Footer “Apps” badges: fix tiny badges caused by inline critical CSS (width:60px) */
.footer-app-badges{flex-wrap:wrap !important}
.footer-app-badge{flex:0 1 150px !important}
.footer-app-badge img{width:100% !important;max-width:150px !important;height:auto !important}
.footer-app-badge:focus-visible{outline:2px solid rgba(0,201,139,.45);outline-offset:3px;border-radius:8px}

/* Mobile: anti-overflow safety net (cards/bubbles/columns) */
@media (max-width:768px){html,body{overflow-x:hidden}}
.card,.box,.service-card,.arr-card,.dept-card{box-sizing:border-box;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.grid,.row,.columns{min-width:0}
@media (max-width:768px){.grid,.row,.columns{flex-direction:column !important}.card,.box{width:100% !important}}

/* Mobile 400px mission: pills/buttons + no text over hero image + hide search */
@media (max-width:768px){
  .services-buttons a,.service-pill,.cta-button,.button-service,.hero-services a,.hero-services .pill,.service-links a{display:block;width:100% !important;max-width:100% !important;box-sizing:border-box;white-space:normal !important;word-break:break-word;overflow-wrap:break-word;text-align:center;font-size:14px;padding:12px 16px;line-height:1.4;height:auto !important}
  .services-buttons,.service-links,.hero-services{padding-left:20px;padding-right:20px}
  .services{padding-left:20px !important;padding-right:20px !important}
  .hero-services{flex-direction:column !important;flex-wrap:wrap !important;gap:12px !important}
  .hero-card-floating{margin:16px 20px 0 !important;max-width:calc(100% - 40px) !important}
  .hero-banner .hero-badge{display:none !important}
  .search-bubble,.hero-search,.search-overlay,.banner-search{display:none !important}
}