:root{color-scheme:dark}
html{scroll-behavior:smooth}
body.alm-homepage-v49{margin:0;background:#00110d;color:#f6dda0;overflow-x:hidden}
.alm-v49-stage{position:relative;width:100%;max-width:1920px;margin:0 auto;aspect-ratio:16/9;background:#00110d;overflow:hidden}
.alm-v49-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}
.alm-v49-hotspots{position:absolute;inset:0;z-index:2}
.alm-v49-hit{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);width:calc(var(--w)*1%);height:calc(var(--h)*1%);display:block;border-radius:16px;outline:none;text-decoration:none}
.alm-v49-hit::after{content:"";position:absolute;inset:0;border:1.5px solid transparent;border-radius:inherit;background:transparent;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.alm-v49-hit:hover::after,.alm-v49-hit:focus-visible::after{border-color:rgba(255,218,106,.88);box-shadow:0 0 16px rgba(255,183,26,.55);background:rgba(63,199,48,.06)}
.alm-v49-wheel-hit{border-radius:46%}
.alm-v49-wheel-hit:hover::after,.alm-v49-wheel-hit:focus-visible::after{background:rgba(54,205,45,.11);box-shadow:0 0 19px rgba(91,255,71,.44);border-color:rgba(255,225,123,.72)}
.alm-v49-services{padding:42px 5vw 52px;background:linear-gradient(180deg,#00110d,#031d15);border-top:1px solid rgba(196,139,22,.6);text-align:center}
.alm-v49-services h2{margin:0 0 24px;color:#f3d176;font-family:Georgia,serif;font-size:clamp(28px,3vw,44px)}
.alm-v49-services>div{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:1200px;margin:auto}
.alm-v49-services a{padding:11px 16px;border:1px solid rgba(201,148,38,.65);border-radius:999px;color:#f8e4ad;text-decoration:none;background:rgba(2,35,25,.74)}
.alm-v49-services a:hover{border-color:#f2c94c;box-shadow:0 0 14px rgba(242,201,76,.28)}
@media(max-width:900px){
 .alm-v49-stage{aspect-ratio:16/9;min-width:900px;transform-origin:top left}
 body.alm-homepage-v49{overflow-x:auto}
 .alm-v49-hit::after{border-radius:10px}
}
@media(prefers-reduced-motion:reduce){.alm-v49-hit::after{transition:none}}

/* V50: make left-panel service rows feel clickable without obscuring artwork. */


/* V54 — precise component hover for the six approved left-panel rows only. */
.alm-v49-left-hit{
  border-radius:8px;
  isolation:isolate;
  overflow:hidden;
}
.alm-v49-left-hit::before{
  content:"";
  position:absolute;
  left:0;
  top:12%;
  bottom:12%;
  width:3px;
  border-radius:999px;
  background:transparent;
  box-shadow:none;
  transition:background .16s ease,box-shadow .16s ease;
}
.alm-v49-left-hit::after{
  inset:3% 0;
  border-radius:8px;
  border:1px solid transparent;
  background:transparent;
  box-shadow:none;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.alm-v49-left-hit:hover::before,
.alm-v49-left-hit:focus-visible::before{
  background:#f5c84c;
  box-shadow:0 0 9px rgba(245,200,76,.65);
}
.alm-v49-left-hit:hover::after,
.alm-v49-left-hit:focus-visible::after{
  background:linear-gradient(90deg,rgba(245,200,76,.075),rgba(47,190,54,.035) 72%,transparent);
  border-color:rgba(245,200,76,.50);
  box-shadow:inset 0 0 12px rgba(62,210,62,.045),0 0 9px rgba(245,177,35,.20);
}
.alm-v49-left-hit:focus-visible{
  outline:2px solid rgba(255,226,128,.9);
  outline-offset:2px;
}


/* V55 — true wheel-segment hover map. Each SVG path follows one visible wedge. */
.alm-v55-wheel-map{position:absolute;inset:0;width:100%;height:100%;z-index:3;overflow:visible;pointer-events:none}
.alm-v55-wheel-map a{pointer-events:auto;outline:none}
.alm-v55-wheel-map path{fill:transparent;stroke:transparent;stroke-width:2.2;vector-effect:non-scaling-stroke;transition:fill .16s ease,stroke .16s ease,filter .16s ease;cursor:pointer}
.alm-v55-wheel-map a:hover path,.alm-v55-wheel-map a:focus-visible path{fill:rgba(58,205,48,.115);stroke:rgba(255,220,105,.92);filter:drop-shadow(0 0 7px rgba(84,255,67,.58)) drop-shadow(0 0 3px rgba(255,193,48,.55))}
.alm-v55-wheel-map a:focus-visible path{stroke-width:3}
@media(prefers-reduced-motion:reduce){.alm-v55-wheel-map path{transition:none}}


/* V56 measured alignment: left rows use the same proven hover treatment as right rows. */
.alm-v49-left-hit{border-radius:16px!important;overflow:visible!important;isolation:auto!important}
.alm-v49-left-hit::before{display:none!important}
.alm-v49-left-hit::after{inset:0!important;border-radius:16px!important;background:transparent!important;border:1.5px solid transparent!important;box-shadow:none!important}
.alm-v49-left-hit:hover::after,.alm-v49-left-hit:focus-visible::after{background:rgba(54,205,45,.11)!important;border-color:rgba(255,225,123,.72)!important;box-shadow:0 0 19px rgba(91,255,71,.44)!important}
/* Ensure each wheel wedge itself receives hover/click events while the empty SVG canvas does not block other panels. */
.alm-v55-wheel-map{pointer-events:none!important;z-index:3!important}
.alm-v55-wheel-map a,.alm-v55-wheel-map path{pointer-events:all!important}
.alm-v55-wheel-map path{fill:rgba(0,0,0,0.001);stroke:transparent;stroke-width:2.2}
.alm-v55-wheel-map a:hover path,.alm-v55-wheel-map a:focus-visible path{fill:rgba(58,205,48,.16);stroke:rgba(255,220,105,.95);filter:drop-shadow(0 0 8px rgba(84,255,67,.62)) drop-shadow(0 0 3px rgba(255,193,48,.58))}

/* V57 — final wheel polish. Keep the measured hit map, but contain the visual
   highlight inside each wedge so it does not wash over the gold dividers or centre. */
.alm-v55-wheel-map path{
  fill:rgba(0,0,0,.001)!important;
  stroke:transparent!important;
  stroke-width:1.15!important;
  stroke-linejoin:round;
  stroke-linecap:round;
  filter:none!important;
  transition:fill .14s ease,stroke .14s ease,filter .14s ease!important;
}
.alm-v55-wheel-map a:hover path,
.alm-v55-wheel-map a:focus-visible path{
  fill:rgba(55,190,46,.105)!important;
  stroke:rgba(247,211,103,.72)!important;
  filter:drop-shadow(0 0 3px rgba(77,232,62,.34))!important;
}
.alm-v55-wheel-map a:focus-visible path{
  stroke-width:1.65!important;
}


/* V58 — true annular-sector wheel hover. */
.alm-v58-wheel-map path{fill:rgba(0,0,0,.001)!important;stroke:transparent!important;stroke-width:0!important;filter:none!important;transition:fill .13s ease,filter .13s ease!important}
.alm-v58-wheel-map a:hover path,.alm-v58-wheel-map a:focus-visible path{fill:rgba(55,190,46,.115)!important;stroke:transparent!important;filter:drop-shadow(0 0 2.5px rgba(77,232,62,.28))!important}
.alm-v58-wheel-map a:focus-visible path{fill:rgba(62,203,50,.14)!important}
@media(prefers-reduced-motion:reduce){.alm-v58-wheel-map path{transition:none!important}}

/* V59 — wheel remains clickable, with all hover/focus highlighting disabled. */
.alm-v55-wheel-map path,
.alm-v58-wheel-map path{
  fill:rgba(0,0,0,.001)!important;
  stroke:transparent!important;
  stroke-width:0!important;
  filter:none!important;
  transition:none!important;
}
.alm-v55-wheel-map a:hover path,
.alm-v55-wheel-map a:focus-visible path,
.alm-v58-wheel-map a:hover path,
.alm-v58-wheel-map a:focus-visible path{
  fill:rgba(0,0,0,.001)!important;
  stroke:transparent!important;
  stroke-width:0!important;
  filter:none!important;
}
