/* Refinements to the existing SPICA theme; no replacement design system. */
header.navbar-custom,header.navbar-custom.scrolled{background:#fff!important;backdrop-filter:none!important}
header.navbar-custom.scrolled .nav-link,header.navbar-custom.scrolled .solutions-toggle,header.navbar-custom.scrolled #mobileMenuBtn{color:var(--dark)!important}
header.navbar-custom.scrolled .nav-link:hover{color:var(--primary)!important}
.approved-brand-logo{display:block;max-width:100%;object-fit:contain}
.footer-brand-band{background:#fff;padding:40px 0;color:var(--dark)}
.footer-brand-band>.container{display:flex;align-items:center;justify-content:space-between;gap:35px}
.footer-brand-band img{display:block;width:230px;height:auto}
.footer-brand-band p{margin:0;font-size:1rem;line-height:1.7}
.footer-brand-band p a{color:var(--primary);font-weight:600;text-decoration:underline}
.hero-typing-line{font-size:.6em;color:rgba(255,255,255,.85);display:block;min-height:2em;line-height:1.1;margin-top:12px}
.typing-cursor{color:var(--primary);font-weight:400;animation:typing-blink 1s steps(1,end) infinite}
@keyframes typing-blink{50%{opacity:0}}
.hero-motion-button{border:0;background:none;color:#fff;font-size:.85rem;text-decoration:underline;padding:8px 0;min-height:44px;margin:-12px 0 14px}
.hero-motion-button:focus-visible,.project-faq summary:focus-visible{outline:3px solid var(--primary);outline-offset:5px}
.home-solution-card{height:100%;background:var(--light-gray);border-radius:var(--border-radius-md);overflow:hidden;box-shadow:var(--box-shadow-soft)}
.home-solution-card img{width:100%;height:auto;aspect-ratio:1.55;object-fit:cover}
.home-solution-card h3{font-size:2.3rem;line-height:1.1}
.home-solution-card p{font-size:.95rem;color:var(--gray-text);line-height:1.75}
.home-solution-link{color:var(--primary);font-weight:600;font-size:.95rem}
.about-showroom-photo{display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;border-radius:var(--border-radius-md)}
.project-faq details{background:#fff;margin-bottom:16px;padding:20px 24px;border-radius:var(--border-radius-sm)}
.project-faq summary{font-weight:600;cursor:pointer;min-height:30px}
.project-faq details p{max-width:850px;line-height:1.8;margin:16px 0 0}
.project-faq a{color:var(--primary);text-decoration:underline}
.masonry-large-block__grid{height:auto!important;display:flex;flex-wrap:wrap}
.masonry-large-block__item{position:relative!important;left:auto!important;top:auto!important;margin-bottom:28px}
.news-masonry-item__image{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.dropdown-hover:focus-within>.dropdown-menu-custom{display:block!important}
.site-motion-paused *,.site-motion-paused *::before,.site-motion-paused *::after{animation-play-state:paused!important}
@media(max-width:767px){.footer-brand-band>.container{flex-direction:column;align-items:flex-start;gap:22px}.footer-brand-band img{width:210px}#hero-main>.container{padding-left:20px!important;padding-right:20px!important}.hero-typing-line{font-size:.55em;min-height:2.1em}.home-solution-card img{aspect-ratio:1.65}.approved-brand-logo{max-width:160px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-on-scroll{opacity:1!important;transform:none!important}.typing-cursor{display:none!important}}

.catalogue-intro{max-width:760px;font-size:1.05rem;line-height:1.8;margin:24px 0 0}.catalogue-intro a{color:var(--primary);text-decoration:underline}
@media(max-width:767px){.heading-default__title{font-size:clamp(2rem,8vw,3rem)!important;line-height:1.15!important;max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.heading-default{padding-top:70px!important;padding-bottom:65px!important}}
.hero-refresh-title{font-size:clamp(2.8rem,5vw,4.75rem);line-height:1;letter-spacing:-.02em;margin:0 0 20px;max-width:650px}
.hero-refresh-title>span{color:var(--primary)}
#hero-main .hero-typing-line{font-size:clamp(1.6rem,2.7vw,2.4rem);margin:0 0 8px;min-height:1.2em;line-height:1.1;color:rgba(255,255,255,.85)}
.hero-refresh-intro{font-size:1.08rem;line-height:1.8;color:rgba(255,255,255,.85);max-width:530px;margin-bottom:30px}
.hero-experience{display:flex;align-items:center;gap:26px;margin-top:-20px;max-width:580px}
.experience-number{display:block;font-size:130px;line-height:.9;color:var(--primary);font-weight:600;flex-shrink:0;letter-spacing:-.03em}
.experience-number>span{font-size:.65em;vertical-align:top;line-height:1.1}
.experience-title{color:#fff;font-size:1.3rem;font-weight:600;line-height:1.35;margin:0 0 7px}
.experience-note{color:rgba(255,255,255,.7);font-size:.9rem;line-height:1.5;margin:0}
.client-section-intro{font-size:1.05rem;line-height:1.7;color:var(--gray-text);margin:-12px auto 40px;max-width:660px}
.client-quote-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(14px, 1.6vw, 24px);
}
.client-quote-card {
  height: 100%;
  padding: clamp(18px, 1.9vw, 28px);
}
.client-quote-card .client-review-text {
  font-family: inherit;
  font-size: 1.05rem;
  font-weight: 400;
  font-style: italic;
  line-height: 1.7;
}
.client-quote-card .client-review-name {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.25;
}
.client-review-attribution {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-height: 62px;
  margin-top: 12px;
}
.client-review-attribution img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.client-review-attribution small {
  display: block;
  margin-top: 4px;
  line-height: 1.35;
}
@media (min-width: 768px) {
  .client-quote-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .client-quote-grid:has(> :nth-child(4)) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.client-quote-card blockquote{border:0;padding:0;margin-left:0;margin-right:0}
.client-proof-link{background:var(--light-gray)}
@media(max-width:767px){.hero-refresh-title{font-size:2.8rem;line-height:1.05}.hero-experience{gap:20px}.experience-number{font-size:105px}.experience-title{font-size:1.1rem}.experience-note{font-size:.8rem}.hero-refresh-intro{font-size:1rem}#hero-main .hero-typing-line{font-size:1.7rem}.client-quote-card{padding:30px!important;min-height:0}}

#hero-main .btn-premium,#hero-main .btn-outline-premium{padding-left:28px!important;padding-right:28px!important}

#testimonials{scroll-margin-top:95px}#hero-main .d-inline-flex{background:rgba(8,8,12,.7)!important}
