.footer-tagline{color:#d6e5ff;font:600 19px/1.1 'Playfair Display',serif;letter-spacing:.01em;white-space:nowrap}.contact-details a{font:700 15px/1.35 Manrope,Arial,sans-serif;letter-spacing:.01em}.sector-item.wide.has-photo{background-image:url('assets/sectors/retail-hospitality-events..jpg')!important}@media(max-width:760px){.footer-tagline{font-size:17px}.contact-details a{font-size:14px}}

/* Responsive navigation and hero image */
.hero-visual{min-height:0}
.hero-image{width:100%;height:auto;min-height:0;margin-left:0;aspect-ratio:3 / 2;background-position:center center;background-size:contain;background-repeat:no-repeat;background-color:#0b1b35}
.hero-image>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}

@media(max-width:760px){
  body{overflow-x:hidden}
  .topbar{padding:0 5vw;font-size:8px;letter-spacing:.07em}
  .navbar{padding:0 5vw;position:relative}
  .menu-toggle{width:44px;height:44px;place-items:center;align-content:center;justify-content:center;cursor:pointer}
  .menu-toggle i{transition:transform .2s ease,opacity .2s ease}
  .menu-toggle[aria-expanded="true"] i:first-child{transform:translateY(3px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] i:last-child{transform:translateY(-3px) rotate(-45deg)}
  .navbar nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:18px 5vw 22px;background:#f8faff;border-bottom:1px solid var(--line);box-shadow:0 14px 24px rgba(11,27,53,.12);z-index:20}
  .navbar nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .navbar nav a,.navbar .nav-portal{display:block;width:100%;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;text-align:left}
  .navbar nav a:last-of-type{border-bottom:0}
  .navbar .nav-portal{margin-top:4px;padding-bottom:0;color:var(--ink)}
  .hero{padding:52px 5vw 24px}
  .hero-visual{min-height:0;margin-top:38px}
  .hero-image{width:100%;height:auto;min-height:0;margin:0;aspect-ratio:3 / 2;background-position:center}
  .hero-stamp{right:-29px;bottom:30px}
  .hero-bottom{margin-top:22px}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:19px}
}

@media(max-width:390px){
  .topbar{font-size:7px}
  .hero h1{font-size:42px}
  .hero-image{height:auto}
}

/* Keep all service cards visually consistent. */
.service-card.featured{background:transparent;color:#f6f5ee}
.service-card.featured .number{color:#aab8ad}
.service-card.featured p{color:#c0ccc3}

/* Keep the assistant usable on every phone height. */
#ai-chat{display:none;flex-direction:column;max-height:calc(100dvh - 32px)}
#ai-chat.active{display:flex}
#ai-chat header,#ai-chat .ai-quick,#ai-chat .ai-input,#ai-chat .ai-disclaimer{flex:none}
#ai-chat .ai-messages{height:auto;min-height:0;flex:1;overscroll-behavior:contain}
#ai-chat #ai-close{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;font-size:30px;line-height:1}

@media(max-width:600px){
  #ai-chat{inset:auto 12px 12px;width:auto;max-height:min(560px,calc(100dvh - 24px));border:1px solid rgba(11,27,53,.16)}
  #ai-chat .ai-messages{min-height:120px;padding:14px}
  #ai-chat .ai-input input{min-width:0}
  #ai-chat .ai-quick{padding-bottom:9px}
}
