/* Arigato Life final release — full-width campaign carousel + consolidated finishing rules */
:root{--ar21-navy:#071b34;--ar21-blue:#126ab4;--ar21-gold:#f7c34e;--ar21-teal:#168d9d;--ar21-ink:#10253d;--ar21-paper:#f5f8fc}
.ar21-hero{position:relative;background:#071b34;isolation:isolate;overflow:hidden}
.ar21-stage{position:relative;aspect-ratio:1672/765;width:100%;min-height:390px}
.ar21-slide{position:absolute;inset:0;opacity:0;visibility:hidden;z-index:0;pointer-events:none;transition:opacity .55s ease,visibility .55s;}
.ar21-slide.is-active{opacity:1;visibility:visible;z-index:1;pointer-events:auto}
.ar21-art{display:block;width:100%;height:100%}
.ar21-art img{width:100%;height:100%;display:block;object-fit:fill}
.ar21-desktop-hotspots{position:absolute;inset:0;z-index:2;pointer-events:none}
.ar21-hotspot{position:absolute;top:72%;height:9.8%;border-radius:90px;pointer-events:auto;outline-offset:4px;transition:box-shadow .15s ease}
.ar21-hotspot-primary{left:3.4%;width:19.5%}
.ar21-hotspot-secondary{left:23.7%;width:20.8%}
.ar21-hotspot:hover{box-shadow:0 0 0 3px rgba(255,255,255,.5),0 0 24px rgba(252,218,116,.32)}
.ar21-hotspot:focus-visible{outline:4px solid #fff;box-shadow:0 0 0 7px #0a4b77}
.ar21-navigation{position:absolute;right:3%;bottom:14px;z-index:4;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:99px;background:rgba(5,21,40,.76);backdrop-filter:blur(10px);box-shadow:0 12px 34px #0004}
.ar21-arrow{height:33px;width:33px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.15);border:1px solid #ffffff44;color:#fff;font-size:18px;cursor:pointer}
.ar21-arrow:hover,.ar21-arrow:focus-visible{background:var(--ar21-gold);color:var(--ar21-navy)}
.ar21-dots{display:flex;align-items:center;gap:7px}
.ar21-dots button{width:8px;height:8px;border:0;padding:0;cursor:pointer;border-radius:99px;background:#ffffff70;transition:width .2s,background .2s}
.ar21-dots button.is-active{width:27px;background:var(--ar21-gold)}
.ar21-mobile-copy{display:none}
/* Maintain a coherent visual language across the complete catalogue and enquiries. */
.nav{border-bottom:1px solid #e1ebf2;box-shadow:0 5px 24px #071b3410}
.nav-links .btn.primary,.btn.primary{background:var(--ar21-gold);color:var(--ar21-ink);border-radius:10px}
.nav-links a.header-active{color:var(--ar21-blue)}
.al-applications,.al15-category-section{background:var(--ar21-paper)}
.al15-featured-card,.al-solution-card,.v6-product-card,.al-contact-card,.info-tile{border-radius:20px;box-shadow:0 12px 27px #07264512}
.al15-featured-card:hover,.al-solution-card:hover,.v6-product-card:hover{box-shadow:0 22px 45px #07264525}
.al-why,.al-professional{background:#fff}
.v6-catalogue-hero,.v4-partner-hero,.al-contact-hero,.page-hero{background:radial-gradient(circle at 82% 10%,#23759b7d,transparent 41%),linear-gradient(112deg,#071b34,#0a3858)}
@media(max-width:960px){
  .ar21-stage{aspect-ratio:auto;min-height:0;height:570px}
  .ar21-art{height:276px;background:#071b34}
  .ar21-art img{height:100%;object-fit:cover}
  .ar21-desktop-hotspots{display:none}
  .ar21-mobile-copy{display:flex;flex-direction:column;justify-content:center;gap:12px;min-height:294px;padding:24px max(20px,5vw) 52px;color:#fff;background:linear-gradient(120deg,#061c37,#0b4262)}
  .ar21-mobile-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:#f7c34e}
  .ar21-mobile-copy h1,.ar21-mobile-copy h2{margin:0;font:800 clamp(26px,4.9vw,36px)/1.17 'Manrope',sans-serif;letter-spacing:-.035em;color:#fff}
  .ar21-mobile-copy p{font-size:13px;line-height:1.6;color:#dce7f0;margin:0}
  .ar21-mobile-ctas{display:flex;flex-wrap:wrap;gap:10px}
  .ar21-mobile-ctas a{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-align:center;border-radius:10px;padding:11px 14px;font-size:12px;font-weight:800}
  .ar21-mobile-primary{color:#092139;background:#f7c34e}
  .ar21-mobile-secondary{color:#fff;border:1px solid #ffffff92}
  .ar21-navigation{right:15px;bottom:7px;padding:5px 8px;gap:9px}
}
@media(max-width:560px){
  .ar21-stage{height:565px}
  .ar21-art{height:245px}
  .ar21-mobile-copy{min-height:320px;padding:24px 20px 55px;gap:14px}
  .ar21-mobile-ctas a{flex:1 1 44%;min-width:0}
  .ar21-navigation{right:14px;bottom:8px}
}
@media(prefers-reduced-motion:reduce){.ar21-slide,.ar21-dots button{transition:none}}
/* Override the legacy generic section padding so the banner is truly edge-to-edge. */
section.ar21-hero{padding:0!important}
