
:root {
  --bg: #05070c;
  --text: #f4f7fb;
  --muted: #98a1b0;
  --cyan: #62f5ff;
  --violet: #8e7cff;
  --silver: #d5e1eb;
  --amber: #ffb65d;
  --mouse-x: 50vw;
  --mouse-y: 50vh;
}
* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; }
body {
  margin: 0;
  overflow: hidden;
  color: var(--text);
  background: radial-gradient(circle at 15% 10%, rgba(98,245,255,.08), transparent 24%), radial-gradient(circle at 84% 14%, rgba(142,124,255,.10), transparent 24%), linear-gradient(180deg, #04060b 0%, #05080f 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.ambient-grid {
  position: fixed; inset: 0; pointer-events: none; opacity: .08;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 42px 42px; mask-image: radial-gradient(circle at center, black, transparent 78%);
}
.ambient-glow {
  position: fixed; inset: -20%; pointer-events: none;
  background: radial-gradient(circle at 12% 16%, rgba(98,245,255,.10), transparent 22%), radial-gradient(circle at 82% 16%, rgba(142,124,255,.12), transparent 24%), radial-gradient(circle at 52% 88%, rgba(255,182,93,.08), transparent 22%);
  animation: drift 18s ease-in-out infinite alternate;
}
.noise {
  position: fixed; inset: 0; opacity: .04; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}
.flow-orb {
  position: fixed;
  width: 34vw;
  height: 34vw;
  min-width: 280px;
  min-height: 280px;
  border-radius: 50%;
  filter: blur(48px);
  pointer-events: none;
  opacity: .12;
  mix-blend-mode: screen;
  z-index: 1;
}
.flow-orb-a {
  left: -10vw;
  top: 20vh;
  background: radial-gradient(circle, rgba(98,245,255,.75), rgba(98,245,255,0) 68%);
  animation: orbFloatA 18s ease-in-out infinite alternate;
}
.flow-orb-b {
  right: -8vw;
  bottom: 6vh;
  background: radial-gradient(circle, rgba(142,124,255,.75), rgba(142,124,255,0) 68%);
  animation: orbFloatB 20s ease-in-out infinite alternate;
}
.cursor-light {
  position: fixed;
  width: 460px;
  height: 460px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 3;
  opacity: .48;
  mix-blend-mode: screen;
  background: radial-gradient(circle, rgba(130,220,255,.14), rgba(130,220,255,0) 62%);
}
.gateway { position: relative; z-index: 4; height: 100svh; width: 100%; }
.floating-logo {
  --logo-x: 0px;
  --logo-y: 0px;
  position: absolute;
  top: 24px;
  left: 50%;
  z-index: 12;
  transform: translate3d(calc(-50% + var(--logo-x)), var(--logo-y), 0);
  width: min(27vw, 420px);
  pointer-events: none;
  display: flex;
  justify-content: center;
  filter: drop-shadow(0 14px 40px rgba(0,0,0,.45)) drop-shadow(0 0 24px rgba(98,245,255,.14));
  transition: transform .18s ease-out;
}
.floating-logo::before {
  display: none;
}
.floating-logo::after {
  content: "";
  position: absolute;
  inset: -12% -8%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(98,245,255,.08), transparent 65%);
  filter: blur(20px);
  animation: logoPulse 5.5s ease-in-out infinite;
  z-index: -2;
}
.floating-logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
  opacity: .98;
  animation: logoFloat 7s ease-in-out infinite;
}
.division-stage {
  min-height: 100svh;
  height: 100svh;
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 0;
  transition: grid-template-columns .55s cubic-bezier(.2,.8,.2,1);
}
.division-stage:has(.division-panel:hover) { grid-template-columns: .88fr .88fr .88fr .88fr .88fr; }
.division-stage:has(.division-panel:nth-child(1):hover) { grid-template-columns: 1.38fr .82fr .82fr .82fr .82fr; }
.division-stage:has(.division-panel:nth-child(2):hover) { grid-template-columns: .82fr 1.38fr .82fr .82fr .82fr; }
.division-stage:has(.division-panel:nth-child(3):hover) { grid-template-columns: .82fr .82fr 1.38fr .82fr .82fr; }
.division-stage:has(.division-panel:nth-child(4):hover) { grid-template-columns: .82fr .82fr .82fr 1.38fr .82fr; }
.division-stage:has(.division-panel:nth-child(5):hover) { grid-template-columns: .82fr .82fr .82fr .82fr 1.38fr; }
.division-panel {
  --accent: var(--cyan);
  --px: 50%;
  --py: 50%;
  --img-x: 0px;
  --img-y: 0px;
  --heading-x: 0px;
  --heading-y: 0px;
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #111722;
  isolation: isolate;
  cursor: pointer;
  animation: panelIn .9s cubic-bezier(.16,1,.3,1) both;
}
.division-panel:nth-child(2) { animation-delay: .08s; }
.division-panel:nth-child(3) { animation-delay: .16s; }
.division-panel:nth-child(4) { animation-delay: .24s; }
.division-panel:nth-child(5) { animation-delay: .32s; }
.panel-hospitality { --accent: #d8e3ee; }
.panel-tourism { --accent: #52f0ff; }
.panel-technology { --accent: #9e86ff; }
.panel-construction { --accent: #ffb65d; }
.panel-marketing { --accent: #ff5fcf; }
.division-panel::before {
  content: "";
  position: absolute;
  inset: -10%;
  z-index: 3;
  pointer-events: none;
  background: radial-gradient(circle at var(--px) var(--py), color-mix(in srgb, var(--accent) 18%, transparent), transparent 34%);
  opacity: .8;
  transition: opacity .25s ease;
}
.division-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.08) 22%, transparent 36%);
  transform: translateX(-130%) skewX(-18deg);
  opacity: 0;
}
.division-panel:hover::after {
  animation: sheen 1.2s cubic-bezier(.16,1,.3,1);
}
.division-panel img,
.division-panel > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.02) contrast(1.03) brightness(.92);
  transform: scale(1.055) translate3d(var(--img-x), var(--img-y), 0);
  transition: transform .25s ease-out, filter .55s ease;
  will-change: transform;
}
.panel-hospitality img { object-position: center center; }
.panel-tourism img { object-position: center center; }
.panel-technology img { object-position: center center; }
.panel-construction img { object-position: 58% center; }
.panel-marketing img { object-position: center center; }
.division-panel:hover img,
.division-panel:hover > video { filter: saturate(1.08) contrast(1.06) brightness(1); }
.panel-color {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(5,7,12,.12) 0%, rgba(5,7,12,.04) 24%, rgba(5,7,12,.08) 45%, rgba(5,7,12,.58) 84%, rgba(5,7,12,.86) 100%),
    linear-gradient(120deg, color-mix(in srgb, var(--accent) 18%, transparent), transparent 42%);
  transition: background .55s ease, opacity .35s ease;
}
.division-panel:hover .panel-color {
  background:
    linear-gradient(180deg, rgba(5,7,12,.08) 0%, rgba(5,7,12,.02) 24%, rgba(5,7,12,.05) 40%, rgba(5,7,12,.48) 78%, rgba(5,7,12,.82) 100%),
    linear-gradient(120deg, color-mix(in srgb, var(--accent) 26%, transparent), transparent 50%);
}
.panel-grid {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: .08;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, black, transparent 72%);
  transition: opacity .35s ease, transform .3s ease-out;
  transform: translate3d(calc(var(--img-x) * -.25), calc(var(--img-y) * -.25), 0);
}
.division-panel:hover .panel-grid { opacity: .26; }
.panel-scan {
  position: absolute;
  left: 0;
  right: 0;
  top: -20%;
  height: 20%;
  z-index: 3;
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--accent) 14%, transparent), transparent);
  animation: scan 7.2s linear infinite;
  opacity: .85;
}
.panel-heading {
  position: absolute;
  z-index: 4;
  left: 24px;
  right: 18px;
  bottom: 42px;
  transform: translate3d(var(--heading-x), var(--heading-y), 0);
  transition: transform .22s ease-out;
  will-change: transform;
}
.panel-kicker {
  display: block;
  color: var(--accent);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  max-width: 96%;
  line-height: 1.55;
  text-transform: uppercase;
  text-shadow: 0 0 22px rgba(0,0,0,.8);
}
.panel-heading h2 {
  margin: 10px 0 0;
  font-size: clamp(21px, 2.4vw, 43px);
  line-height: .91;
  letter-spacing: -.065em;
  font-weight: 690;
  text-shadow: 0 10px 34px rgba(0,0,0,.65);
}
.link-notice {
  position: fixed;
  left: 50%;
  bottom: 32px;
  z-index: 30;
  transform: translate(-50%, 18px);
  opacity: 0;
  pointer-events: none;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(6,9,15,.92);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 54px rgba(0,0,0,.35);
  color: white;
  font-size: 11px;
  letter-spacing: .08em;
  transition: .25s ease;
}
.link-notice.show { opacity: 1; transform: translate(-50%, 0); }
@keyframes panelIn { from { opacity: 0; transform: translateY(24px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes scan { to { transform: translateY(700%); } }
@keyframes drift { to { transform: translate3d(2%, -1%, 0) scale(1.02); } }
@keyframes orbFloatA { 0% { transform: translate3d(0,0,0); } 100% { transform: translate3d(6vw,-6vh,0); } }
@keyframes orbFloatB { 0% { transform: translate3d(0,0,0); } 100% { transform: translate3d(-6vw,5vh,0); } }
@keyframes logoFloat { 0%,100% { transform: translateY(0px); } 50% { transform: translateY(6px); } }
@keyframes logoPulse { 0%,100% { opacity: .65; transform: scale(1); } 50% { opacity: 1; transform: scale(1.05); } }
@keyframes sheen { 0% { opacity: 0; transform: translateX(-130%) skewX(-18deg); } 30% { opacity: .85; } 100% { opacity: 0; transform: translateX(160%) skewX(-18deg); } }
@media (max-width: 1180px) {
  .floating-logo { width: min(34vw, 320px); top: 16px; }
  .division-stage,
  .division-stage:has(.division-panel:hover),
  .division-stage:has(.division-panel:nth-child(1):hover),
  .division-stage:has(.division-panel:nth-child(2):hover),
  .division-stage:has(.division-panel:nth-child(3):hover),
  .division-stage:has(.division-panel:nth-child(4):hover),
  .division-stage:has(.division-panel:nth-child(5):hover) {
    grid-template-columns: repeat(3, minmax(0,1fr));
    grid-template-rows: repeat(2, minmax(0,1fr));
  }
  .division-panel:nth-child(4) { grid-column: 1 / span 1; }
  .division-panel:nth-child(5) { grid-column: 2 / span 2; }
  .panel-heading h2 { font-size: clamp(22px, 3.2vw, 38px); }
}
@media (max-width: 700px) {
  .floating-logo { width: min(52vw, 230px); top: 10px; }
  .division-stage,
  .division-stage:has(.division-panel:hover),
  .division-stage:has(.division-panel:nth-child(1):hover),
  .division-stage:has(.division-panel:nth-child(2):hover),
  .division-stage:has(.division-panel:nth-child(3):hover),
  .division-stage:has(.division-panel:nth-child(4):hover),
  .division-stage:has(.division-panel:nth-child(5):hover) {
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-template-rows: repeat(3, minmax(0,1fr));
  }
  .division-panel:nth-child(4) { grid-column: auto; }
  .division-panel:nth-child(5) { grid-column: 1 / -1; }
  .panel-heading { left: 9px; right: 7px; bottom: 10px; }
  .panel-kicker { font-size: 6.5px; letter-spacing: .1em; line-height: 1.3; }
  .panel-heading h2 { margin-top: 5px; font-size: clamp(15px, 4.8vw, 24px); }
  .cursor-light, .flow-orb { display: none; }
  .link-notice { width: calc(100% - 24px); font-size: 10px; text-align: center; }
}
@media (max-height: 720px) and (min-width: 641px) {
  .floating-logo { width: min(24vw, 320px); top: 12px; }
  .panel-heading { bottom: 22px; }
  .panel-heading h2 { font-size: clamp(25px, 3vw, 42px); }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }


/* V11 glass UI base, extended for the five-panel V12 gateway */
.division-panel {
  margin: 8px 4px;
  border-radius: 24px;
}
.division-panel:first-child { margin-left: 8px; }
.division-panel:last-child { margin-right: 8px; }
.division-panel > img,
.division-panel > video,
.panel-color,
.panel-grid,
.panel-scan {
  border-radius: inherit;
}
.panel-glass-frame {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  border-radius: inherit;
  border: 1px solid color-mix(in srgb, var(--accent) 68%, rgba(255,255,255,.24));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 0 34px color-mix(in srgb, var(--accent) 8%, transparent),
    0 0 18px color-mix(in srgb, var(--accent) 20%, transparent),
    0 18px 46px rgba(0,0,0,.24);
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), transparent 24%, transparent 72%, rgba(255,255,255,.04));
  transition: border-color .35s ease, box-shadow .35s ease, background .35s ease;
}
.division-panel:hover .panel-glass-frame {
  border-color: color-mix(in srgb, var(--accent) 92%, white 8%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 0 52px color-mix(in srgb, var(--accent) 13%, transparent),
    0 0 28px color-mix(in srgb, var(--accent) 35%, transparent),
    0 22px 52px rgba(0,0,0,.30);
  background:
    linear-gradient(135deg, rgba(255,255,255,.12), transparent 28%, transparent 68%, rgba(255,255,255,.06));
}
.panel-icon {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 7;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  color: var(--accent);
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--accent) 72%, white 10%);
  background:
    radial-gradient(circle at 35% 25%, rgba(255,255,255,.16), transparent 35%),
    color-mix(in srgb, #07101b 78%, var(--accent) 8%);
  backdrop-filter: blur(14px) saturate(1.25);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.24),
    inset 0 0 24px color-mix(in srgb, var(--accent) 16%, transparent),
    0 0 18px color-mix(in srgb, var(--accent) 34%, transparent),
    0 10px 28px rgba(0,0,0,.32);
  transform: translate3d(calc(var(--heading-x) * .22), calc(var(--heading-y) * .22), 0);
  transition: transform .25s ease-out, box-shadow .35s ease, color .35s ease;
}
.panel-icon::before,
.panel-icon::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.panel-icon::before {
  inset: 6px;
  border: 1px solid color-mix(in srgb, var(--accent) 32%, transparent);
}
.panel-icon::after {
  inset: -9px;
  background: radial-gradient(circle, color-mix(in srgb, var(--accent) 14%, transparent), transparent 68%);
  filter: blur(5px);
  z-index: -1;
}
.panel-icon svg {
  width: 34px;
  height: 34px;
  filter: drop-shadow(0 0 7px currentColor);
}
.division-panel:hover .panel-icon {
  color: white;
  transform: translate3d(calc(var(--heading-x) * .35), calc(var(--heading-y) * .35 - 4px), 0) scale(1.04);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.30),
    inset 0 0 30px color-mix(in srgb, var(--accent) 24%, transparent),
    0 0 26px color-mix(in srgb, var(--accent) 55%, transparent),
    0 14px 34px rgba(0,0,0,.36);
}
.panel-heading {
  padding: 18px 18px 16px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(4,10,18,.56), rgba(4,10,18,.20));
  backdrop-filter: blur(10px) saturate(1.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

@media (max-width: 1180px) {
  .division-panel { margin: 4px; border-radius: 20px; }
  .division-panel:first-child { margin-left: 4px; }
  .division-panel:last-child { margin-right: 4px; }
  .panel-icon { width: 52px; height: 52px; top: 14px; left: 14px; }
  .panel-icon svg { width: 29px; height: 29px; }
}
@media (max-width: 700px) {
  .division-panel { margin: 2px; border-radius: 14px; }
  .division-panel:first-child { margin-left: 2px; }
  .division-panel:last-child { margin-right: 2px; }
  .panel-icon { width: 38px; height: 38px; top: 8px; left: 8px; }
  .panel-icon svg { width: 22px; height: 22px; }
  .panel-heading { padding: 10px 10px 9px; border-radius: 12px; }
}

/* V30 — equal five-panel Group gateway + modern Primearch links */
.preloader{position:fixed;inset:0;background:linear-gradient(135deg,#07111f,#031024);z-index:9999;display:grid;place-items:center;transition:opacity .6s ease,visibility .6s ease}.preloader.hide{opacity:0;visibility:hidden}.preloader-card{text-align:center}.preloader-card img{width:220px;margin:0 auto 24px}.loader{width:240px;height:6px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}.loader span{display:block;height:100%;width:45%;background:linear-gradient(90deg,#58d8f4,#fff);border-radius:999px;animation:loadBar 1.2s ease-in-out infinite}@keyframes loadBar{0%{transform:translateX(-120%)}100%{transform:translateX(260%)}}

.panel-facility{--accent:#75d9f3}.panel-technology{--accent:#9e86ff}.panel-construction{--accent:#f0b25d}.panel-tourism{--accent:#5fe69a}.panel-print{--accent:#ef65d5}
.panel-facility img,.panel-facility > video{object-position:center center}.panel-technology img,.panel-technology > video{object-position:center center}.panel-construction img,.panel-construction > video{object-position:center center}.panel-tourism img,.panel-tourism > video{object-position:center center}.panel-print img,.panel-print > video{object-position:center center}
.panel-facility > video,.panel-facility:hover > video{filter:none}
.panel-facility .panel-grid,.panel-facility .panel-scan{display:none}
.panel-facility::before,.panel-facility::after{display:none}
.panel-facility .panel-color{
  background:linear-gradient(180deg,rgba(5,7,12,.02) 0%,rgba(5,7,12,.01) 55%,rgba(5,7,12,.48) 84%,rgba(5,7,12,.78) 100%);
}
.panel-facility:hover .panel-color{
  background:linear-gradient(180deg,rgba(5,7,12,.02) 0%,rgba(5,7,12,.01) 55%,rgba(5,7,12,.42) 84%,rgba(5,7,12,.74) 100%);
}
.panel-construction > video,.panel-construction:hover > video{filter:none}
.panel-construction .panel-grid,.panel-construction .panel-scan{display:none}
.panel-construction::before,.panel-construction::after{display:none}
.panel-construction .panel-color{background:linear-gradient(180deg,rgba(5,7,12,.02) 0%,rgba(5,7,12,.01) 55%,rgba(5,7,12,.48) 84%,rgba(5,7,12,.78) 100%)}
.panel-construction:hover .panel-color{background:linear-gradient(180deg,rgba(5,7,12,.02) 0%,rgba(5,7,12,.01) 55%,rgba(5,7,12,.42) 84%,rgba(5,7,12,.74) 100%)}
.panel-technology > video,.panel-technology:hover > video,.panel-tourism > video,.panel-tourism:hover > video,.panel-print > video,.panel-print:hover > video{filter:none}
.panel-technology .panel-grid,.panel-technology .panel-scan,.panel-tourism .panel-grid,.panel-tourism .panel-scan,.panel-print .panel-grid,.panel-print .panel-scan{display:none}
.panel-technology::before,.panel-technology::after,.panel-tourism::before,.panel-tourism::after,.panel-print::before,.panel-print::after{display:none}
.panel-technology .panel-color,.panel-tourism .panel-color,.panel-print .panel-color{background:linear-gradient(180deg,rgba(5,7,12,.02) 0%,rgba(5,7,12,.01) 55%,rgba(5,7,12,.48) 84%,rgba(5,7,12,.78) 100%)}
.panel-technology:hover .panel-color,.panel-tourism:hover .panel-color,.panel-print:hover .panel-color{background:linear-gradient(180deg,rgba(5,7,12,.02) 0%,rgba(5,7,12,.01) 55%,rgba(5,7,12,.42) 84%,rgba(5,7,12,.74) 100%)}
.panel-heading{padding:15px 16px 14px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:linear-gradient(145deg,rgba(3,9,15,.52),rgba(8,13,22,.29));backdrop-filter:blur(14px) saturate(1.16);-webkit-backdrop-filter:blur(14px) saturate(1.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 16px 34px rgba(0,0,0,.20)}
.panel-heading h2{letter-spacing:-.045em}.panel-kicker{letter-spacing:.095em;font-size:8px}
.panel-print .panel-color{background:linear-gradient(180deg,rgba(5,7,12,.24),rgba(5,7,12,.09) 28%,rgba(5,7,12,.20) 52%,rgba(5,7,12,.82) 100%),linear-gradient(120deg,rgba(239,101,213,.16),transparent 42%)}

/* keep the five businesses identical side-by-side at desktop */
@media (min-width:1181px){
  .division-stage,.division-stage:has(.division-panel:hover){grid-template-columns:repeat(5,minmax(0,1fr))}
  .division-stage:has(.division-panel:nth-child(1):hover){grid-template-columns:1.36fr .91fr .91fr .91fr .91fr}
  .division-stage:has(.division-panel:nth-child(2):hover){grid-template-columns:.91fr 1.36fr .91fr .91fr .91fr}
  .division-stage:has(.division-panel:nth-child(3):hover){grid-template-columns:.91fr .91fr 1.36fr .91fr .91fr}
  .division-stage:has(.division-panel:nth-child(4):hover){grid-template-columns:.91fr .91fr .91fr 1.36fr .91fr}
  .division-stage:has(.division-panel:nth-child(5):hover){grid-template-columns:.91fr .91fr .91fr .91fr 1.36fr}
}

/* Mobile: Facility Services large, the other four form a 2x2 grid beneath it. */
@media (max-width:700px){
  body{overflow:hidden}
  .floating-logo{width:min(45vw,190px);top:8px;z-index:15}
  .division-stage,
  .division-stage:has(.division-panel:hover),
  .division-stage:has(.division-panel:nth-child(1):hover),
  .division-stage:has(.division-panel:nth-child(2):hover),
  .division-stage:has(.division-panel:nth-child(3):hover),
  .division-stage:has(.division-panel:nth-child(4):hover),
  .division-stage:has(.division-panel:nth-child(5):hover){
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:52svh 24svh 24svh;
    height:100svh;min-height:100svh;gap:0;
  }
  .division-panel{margin:3px;border-radius:17px;min-height:0}
  .division-panel:first-child{margin:3px}.division-panel:last-child{margin:3px}
  .panel-facility{grid-column:1/-1;grid-row:1}
  .panel-technology{grid-column:1;grid-row:2}
  .panel-construction{grid-column:2;grid-row:2}
  .panel-tourism{grid-column:1;grid-row:3}
  .panel-print{grid-column:2;grid-row:3}
  .panel-heading{left:8px;right:8px;bottom:7px;padding:9px 10px 8px;border-radius:13px;background:linear-gradient(145deg,rgba(2,8,14,.48),rgba(8,13,22,.24));backdrop-filter:blur(10px) saturate(1.12);-webkit-backdrop-filter:blur(10px) saturate(1.12)}
  .panel-facility .panel-heading{left:12px;right:12px;bottom:12px;padding:12px 13px 11px}
  .panel-kicker{font-size:5.7px;line-height:1.25;letter-spacing:.07em;white-space:normal}
  .panel-facility .panel-kicker{font-size:7px;max-width:88%}
  .panel-heading h2{font-size:clamp(13px,4vw,19px);line-height:.94;margin-top:4px;letter-spacing:-.035em}
  .panel-facility .panel-heading h2{font-size:clamp(27px,8vw,42px);margin-top:6px}
  .panel-icon{width:38px;height:38px;top:8px;left:8px}.panel-icon svg{width:21px;height:21px}
  .panel-facility .panel-icon{width:50px;height:50px;top:12px;left:12px}.panel-facility .panel-icon svg{width:28px;height:28px}
  .panel-scan{animation-duration:5.8s}
  .ambient-glow,.flow-orb{display:block;opacity:.10;animation-duration:12s}
  .cursor-light{display:none}
  .preloader-card img{width:180px;margin-bottom:18px}.loader{width:205px}
}

@media (prefers-reduced-motion: reduce){.loader span{animation:loadBar 1.2s ease-in-out infinite!important}}
@media (max-width:700px){
  .division-panel.panel-facility{grid-column:1/-1;grid-row:1}
  .division-panel.panel-technology{grid-column:1;grid-row:2}
  .division-panel.panel-construction{grid-column:2;grid-row:2}
  .division-panel.panel-tourism{grid-column:1;grid-row:3}
  .division-panel.panel-print{grid-column:2;grid-row:3}
}
