@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --navy: #001B3D;
  --navy-light: #002D5C;
  --navy-dark: #000F23;
  --gold: #E5A93C;
  --gold-light: #F0C059;
  --gold-dark: #C9912A;
  --sky: #007BFF;
  --green: #28A745;
  --muted: #A0AEC0;
  --border-color: rgba(255, 255, 255, 0.12);
  --shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background-color: var(--navy);
  color: #F5F7FA;
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 { font-family: 'Poppins', sans-serif; }
a { color: inherit; text-decoration: none; transition: color 0.2s ease; }
a:hover { color: var(--gold); }
.scroll-progress { position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 1100; pointer-events: none; background: transparent; }
.scroll-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left center; background: linear-gradient(90deg, var(--gold), #FFD98A 50%, #3E8BFF); box-shadow: 0 0 12px rgba(229,169,60,0.6); transition: transform 90ms linear; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.container-wide { width: min(1200px, calc(100% - 32px)); margin: 0 auto; }

/* Topline & Navigation */
.topline {
  background: var(--navy-dark);
  color: var(--muted);
  font-size: 0.8rem;
  border-bottom: 1px solid var(--border-color);
}
.topline .container-wide {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
}
.topline strong { color: var(--gold); font-weight: 600; }

.site-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(0, 27, 61, 0.94);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border-color);
  padding: 14px 0;
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.brand-mark {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--navy);
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 1.4rem;
  display: grid;
  place-items: center;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(229, 169, 60, 0.3);
}
.brand-copy { display: flex; flex-direction: column; }
.brand-copy strong { font-family: 'Poppins', sans-serif; font-size: 1.1rem; color: #fff; letter-spacing: 0.5px; }
.brand-copy small { font-size: 0.72rem; color: var(--gold); letter-spacing: 1px; text-transform: uppercase; }

.nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
}
.nav-links a {
  font-size: 0.92rem;
  font-weight: 500;
  color: #E2E8F0;
  padding: 6px 0;
  position: relative;
}
.nav-links a.active, .nav-links a:hover { color: var(--gold); }
.nav-links a.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--gold);
  border-radius: 2px;
}

.btn-gold {
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  color: var(--navy);
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  padding: 10px 22px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(229, 169, 60, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  border: none;
  cursor: pointer;
}
.btn-gold:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(229, 169, 60, 0.4); color: var(--navy); }

.btn-ghost {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border: 1px solid var(--border-color);
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  padding: 10px 22px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.btn-ghost:hover { background: rgba(255, 255, 255, 0.15); border-color: var(--gold); color: var(--gold); }

.nav-toggle { display: none; background: none; border: none; color: #fff; font-size: 1.5rem; cursor: pointer; }

/* Hero */
.hero {
  position: relative;
  min-height: 650px;
  padding: 88px 0 104px;
  background: radial-gradient(circle at center, var(--navy-light) 0%, var(--navy-dark) 100%);
  overflow: hidden;
  border-bottom: 1px solid var(--border-color);
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.95fr);
  gap: 56px;
  align-items: center;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(229, 169, 60, 0.12);
  border: 1px solid rgba(229, 169, 60, 0.3);
  border-radius: 50px;
  color: var(--gold);
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 20px;
}
.hero h1 {
  max-width: 680px;
  font-size: clamp(3rem, 5vw, 4.3rem);
  line-height: 1.15;
  font-weight: 800;
  margin: 0 0 20px;
  color: #FFFFFF;
}
.hero h1 strong {
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
}
.hero p {
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--muted);
  margin: 0 0 32px;
}
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 36px; }
.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; border-top: 1px solid var(--border-color); padding-top: 24px; }
.stat { display: flex; flex-direction: column; }
.stat strong { font-family: 'Poppins', sans-serif; font-size: 1.4rem; color: var(--gold); }
.stat span { font-size: 0.78rem; color: var(--muted); }

.hero-globe-wrap {
  position: relative;
  width: 100%;
  min-height: 500px;
  height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-globe-wrap::before,
.hero-globe-wrap::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(82%, 430px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(0, 123, 255, 0.35);
  border-radius: 50%;
  box-shadow: 0 0 50px rgba(0, 123, 255, 0.1), inset 0 0 50px rgba(229, 169, 60, 0.08);
  pointer-events: none;
}
.hero-globe-wrap::after {
  width: min(100%, 520px);
  border-color: rgba(229, 169, 60, 0.18);
  transform: translate(-50%, -50%) rotate(-18deg) scaleY(0.3);
}
#globeCanvas {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 0 35px rgba(229, 169, 60, 0.25));
}

/* Sections */
.section { padding: 90px 0; }
.section.alt { background: rgba(0, 15, 35, 0.45); }
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 50px;
  gap: 20px;
}
.section-kicker {
  color: var(--gold);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 8px;
}
.section-head h2 { font-size: 2.3rem; font-weight: 700; margin: 0 0 10px; color: #fff; }
.section-intro { color: var(--muted); font-size: 1rem; line-height: 1.6; margin: 0; max-width: 600px; }

.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.section-reveal { opacity: 0; transform: translateY(22px); transition: opacity 0.55s cubic-bezier(0.23, 1, 0.32, 1), transform 0.55s cubic-bezier(0.23, 1, 0.32, 1); }
.section-reveal.is-visible { opacity: 1; transform: translateY(0); }
.section-3d { transform-style: preserve-3d; perspective: 1200px; will-change: transform; }
.section-3d.is-visible { transition: opacity 0.55s cubic-bezier(0.23, 1, 0.32, 1), transform 0.35s cubic-bezier(0.23, 1, 0.32, 1); }
.process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.process-step { position: relative; min-height: 220px; padding: 26px 22px; background: linear-gradient(145deg, rgba(0,45,92,0.96), rgba(0,27,61,0.86)); border: 1px solid rgba(229,169,60,0.18); border-radius: 18px; box-shadow: 0 18px 42px rgba(0,7,20,0.28); overflow: hidden; transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }
.process-step::after { content: ''; position: absolute; inset: auto -30px -46px auto; width: 140px; height: 140px; border-radius: 50%; background: radial-gradient(circle, rgba(229,169,60,0.16), transparent 68%); pointer-events: none; }
.process-step:hover { transform: translateY(-5px); border-color: rgba(229,169,60,0.5); box-shadow: 0 26px 56px rgba(0,7,20,0.38); }
.process-step > span { display: block; color: rgba(229,169,60,0.58); font: 800 2.1rem/1 'Poppins', sans-serif; margin-bottom: 22px; }
.process-step > i { color: var(--gold); font-size: 1.35rem; margin-bottom: 16px; }
.process-step h3 { color: #fff; font-size: 1.05rem; margin: 0 0 8px; }
.process-step p { color: var(--muted); font-size: 0.88rem; line-height: 1.6; margin: 0; }
.value-card { min-height: 250px; }

.card {
  background: var(--navy-light);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 18px 42px rgba(0, 7, 20, 0.34), 0 4px 12px rgba(0, 0, 0, 0.16);
  position: relative;
  overflow: hidden;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
}
.card:hover {
  transform: translateY(-5px);
  border-color: rgba(229, 169, 60, 0.5);
  box-shadow: 0 28px 58px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(229, 169, 60, 0.06), 0 12px 24px rgba(0, 123, 255, 0.08);
}
.icon-tile {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(229, 169, 60, 0.12);
  border: 1px solid rgba(229, 169, 60, 0.25);
  display: grid;
  place-items: center;
  color: var(--gold);
  font-size: 1.3rem;
  margin-bottom: 20px;
}
.card h3 { font-size: 1.15rem; font-weight: 600; margin: 0 0 10px; color: #fff; }
.card p { color: var(--muted); font-size: 0.92rem; line-height: 1.65; margin: 0 0 20px; flex-grow: 1; }
.link-arrow { display: inline-flex; align-items: center; gap: 8px; color: var(--gold); font-weight: 600; font-size: 0.88rem; margin-top: auto; }
.link-arrow:hover { color: var(--gold-light); gap: 12px; }

.card-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.pill { background: rgba(255, 255, 255, 0.08); padding: 4px 10px; border-radius: 6px; font-size: 0.78rem; color: #E2E8F0; display: inline-flex; align-items: center; gap: 6px; }

.notice-strip {
  background: linear-gradient(90deg, var(--gold-dark), var(--gold));
  color: var(--navy);
  font-weight: 600;
  font-size: 0.88rem;
  padding: 10px 0;
}
.notice-strip .container-wide { display: flex; align-items: center; gap: 16px; }
.notice-strip a { color: var(--navy); text-decoration: underline; }

/* Footer */
.footer {
  background: var(--navy-dark);
  border-top: 1px solid var(--border-color);
  padding: 80px 0 40px;
  color: var(--muted);
}
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr 1fr; gap: 40px; margin-bottom: 60px; }
.footer h3 { font-size: 1.1rem; font-weight: 600; color: #fff; margin: 0 0 20px; }
.footer ul { list-style: none; padding: 0; margin: 0; }
.footer ul li { margin-bottom: 12px; }
.footer ul li a { color: var(--muted); font-size: 0.92rem; }
.footer ul li a:hover { color: var(--gold); }

/* Mobile Bottom Navigation */
.mobile-bottom {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgba(0, 27, 61, 0.97);
  backdrop-filter: blur(16px);
  border-top: 1px solid var(--border-color);
  padding: 10px 8px calc(10px + env(safe-area-inset-bottom));
  z-index: 1000;
  justify-content: space-around;
  align-items: center;
}
.mobile-bottom a {
  display: flex;
  flex: 1 1 0;
  max-width: 84px;
  min-height: 48px;
  padding: 5px 4px;
  border-radius: 12px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 0.72rem;
  color: var(--muted);
}
.mobile-bottom a.active, .mobile-bottom a:hover { color: var(--gold); background: rgba(229, 169, 60, 0.1); }
.mobile-bottom a.active i { filter: drop-shadow(0 0 8px rgba(229, 169, 60, 0.55)); }
.mobile-bottom a i { font-size: 1.15rem; }

/* Responsive */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .section-reveal { opacity: 1; transform: none; }
}

@media (max-width: 980px) {
  .nav-links { display: none; }
  .nav-links.is-open {
    position: absolute;
    top: calc(100% + 8px);
    inset-inline: 0;
    z-index: 1100;
    display: flex;
    max-height: min(72vh, 560px);
    padding: 8px;
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: linear-gradient(155deg, rgba(4, 35, 76, .99), rgba(0, 18, 47, .99));
    border: 1px solid rgba(137, 184, 255, .28);
    border-radius: 16px;
    box-shadow: 0 22px 48px rgba(0, 0, 0, .42);
  }
  .nav-links.is-open a {
    display: flex;
    min-height: 42px;
    padding: 10px 13px;
    align-items: center;
    border-bottom: 1px solid rgba(160, 194, 235, .12);
    border-radius: 10px;
    line-height: 1.25;
  }
  .nav-links.is-open a:last-child { border-bottom: 0; }
  .nav-links.is-open a.active { background: rgba(229, 169, 60, .12); }
  .nav-links.is-open a.active::after { display: none; }
  .nav-toggle { display: block; }
  .hero { min-height: auto; padding: 48px 0 72px; }
  .hero-grid { grid-template-columns: 1fr; text-align: center; gap: 12px; }
  .hero-globe-wrap { order: -1; min-height: 300px; height: 300px; margin: -20px auto -4px; }
  .hero h1 { font-size: clamp(2.35rem, 10vw, 3.5rem); }
  .hero-actions { justify-content: center; }
  .stat-row { justify-content: center; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 420px; margin-inline: auto; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .grid-3, .grid-4, .process-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .mobile-bottom { display: flex; }
  body { padding-bottom: 75px; }
}

@media (max-width: 640px) {
  .topline { display: none; }
  .notice-strip { font-size: 0.78rem; }
  .notice-strip .container-wide { gap: 8px; }
  .notice-strip strong { flex: 0 0 auto; }
  .notice-strip span { flex: 1 1 150px; }
  .notice-strip a { margin-left: auto !important; }
  .hero { padding-top: 32px; }
  .hero-globe-wrap { min-height: 270px; height: 270px; }
  .hero h1 { letter-spacing: -0.04em; line-height: 1.06; }
  .hero p { font-size: 0.98rem; line-height: 1.6; }
  .hero-actions { align-items: stretch; }
  .hero-actions .btn-gold, .hero-actions .btn-ghost { justify-content: center; width: min(100%, 320px); margin-inline: auto; }
  .section { padding: 64px 0; }
  .section-reveal { transform: translateY(14px); }
  .process-step { min-height: 0; padding: 22px 20px; }
  .mobile-bottom a { font-size: 0.64rem; padding-inline: 2px; }
  .mobile-bottom a i { font-size: 1.05rem; }
  .section-head h2 { font-size: 1.85rem; }
  .container-wide { width: min(100% - 24px, 1200px); }
}


/* Reference parity layer: nehalsbiz.lol presentation */
.home-shell .topline { display: none; }
.home-shell .site-nav { position: sticky; top: 0; z-index: 1050; padding: 4px 0; background: linear-gradient(180deg, rgba(0,16,42,.98), rgba(0,16,42,.92)); border-bottom-color: rgba(255,255,255,.12); box-shadow: 0 9px 24px rgba(0,0,0,.22); }
.home-shell .nav-links { display: none; }
.home-shell .nav-toggle { display: block; }
.home-shell .nav-links.is-open {
  position: absolute;
  top: calc(100% + 8px);
  inset-inline: 0;
  z-index: 1100;
  display: flex;
  max-height: min(72vh, 560px);
  padding: 8px;
  overflow-y: auto;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  background: linear-gradient(155deg, rgba(4, 35, 76, .99), rgba(0, 18, 47, .99));
  border: 1px solid rgba(137, 184, 255, .28);
  border-radius: 16px;
  box-shadow: 0 22px 48px rgba(0, 0, 0, .42);
}
.home-shell .nav-links.is-open a {
  display: flex;
  min-height: 42px;
  padding: 10px 13px;
  align-items: center;
  border-bottom: 1px solid rgba(160, 194, 235, .12);
  border-radius: 10px;
  line-height: 1.25;
}
.home-shell .nav-links.is-open a:last-child { border-bottom: 0; }
.home-shell .nav-links.is-open a.active { background: rgba(229, 169, 60, .12); }
.home-shell .nav-links.is-open a.active::after { display: none; }
.home-shell .site-nav .container-wide, .home-shell .hero-grid { width: calc(100% - 32px); max-width: none; }
.home-shell .nav-inner { min-height: 50px; }
.home-shell .brand-mark { width: 40px; height: 40px; border-radius: 50%; padding: 4px; background: #fff; box-shadow: 0 8px 25px rgba(0,0,0,.25); }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; border-radius: inherit; }
.brand-copy small { letter-spacing: .8px; }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.language-pill { display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px; color: #fff; background: rgba(0,27,61,.5); border: 1px solid rgba(255,255,255,.28); border-radius: 14px; font: 700 .78rem 'Montserrat', sans-serif; cursor: pointer; }
.language-pill i { color: rgba(255,255,255,.7); font-size: .7rem; }
.home-shell .nav-toggle { font-size: 1.7rem; padding: 8px; }

.home-shell .reference-hero { min-height: 650px; height: clamp(650px, 80vh, 720px); padding: 0; border-bottom: 0; display: flex; align-items: stretch; background: #00102A; }
.hero-backdrop { position: absolute; inset: 0; background: radial-gradient(120% 90% at 62% 30%, #0A2C57 0%, #04173A 45%, #00102A 100%); }
.hero-backdrop::after { content: ''; position: absolute; inset: 0; background: radial-gradient(45% 38% at 62% 32%, rgba(229,169,60,.16), transparent 70%); }
.hero-scrim { position: absolute; inset: auto 0 0; height: 55%; z-index: 2; pointer-events: none; background: linear-gradient(to top, rgba(0,16,42,.97), rgba(0,16,42,.7) 46%, transparent); }
.home-shell .hero-grid { position: relative; z-index: 3; min-height: 100%; grid-template-columns: minmax(320px,.78fr) minmax(500px,1.22fr); gap: 0; align-items: end; padding-bottom: 62px; }
.home-shell .hero-copy { position: relative; z-index: 4; max-width: 470px; padding-bottom: 0; }
.home-shell .eyebrow { font-size: .72rem; padding: 7px 13px; margin-bottom: 26px; background: rgba(0,27,61,.42); border-color: rgba(229,169,60,.45); }
.eyebrow-dot { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: var(--gold); box-shadow: 0 0 12px var(--gold); animation: hintPulse 1.8s ease-in-out infinite; }
.hero-script { color: var(--gold); font: italic 700 clamp(1.25rem, 1.7vw, 1.55rem) 'Playfair Display', serif; margin-bottom: 1px; }
.home-shell .hero h1 { max-width: 480px; font-size: clamp(1.72rem, 2vw, 1.85rem); line-height: .98; letter-spacing: -.045em; margin: 0 0 15px; text-transform: uppercase; }
.home-shell .hero h1 strong { font-weight: 900; }
.home-shell .hero p { max-width: 475px; color: rgba(255,255,255,.74); font-size: .88rem; line-height: 1.58; margin-bottom: 17px; }
.home-shell .hero-actions { flex-direction: column; align-items: stretch; width: min(100%, 448px); gap: 10px; margin-bottom: 0; }
.home-shell .hero-actions .btn-gold, .home-shell .hero-actions .btn-ghost { width: 100%; justify-content: center; border-radius: 11px; padding: 11px 20px; }
.home-shell .hero-globe-wrap { position: absolute; inset: -5% 3% 0 27%; width: auto; height: auto; min-height: 0; z-index: 1; }
.home-shell .hero-globe-wrap::before { width: min(78%, 620px); background: radial-gradient(circle at 45% 38%, rgba(34,79,132,.24) 0%, rgba(0,4,18,.92) 68%, rgba(0,2,12,.98) 77%, rgba(16,61,115,.18) 79%, transparent 82%); border-color: rgba(0,123,255,.30); box-shadow: 0 0 80px rgba(0,123,255,.14), inset 0 0 65px rgba(229,169,60,.10); }
.home-shell .hero-globe-wrap::after { width: min(94%, 740px); border-color: rgba(229,169,60,.28); }
.home-shell #globeCanvas { filter: drop-shadow(0 0 54px rgba(229,169,60,.36)); mix-blend-mode: screen; }
.hero-explore-badge { position: absolute; z-index: 5; left: 39%; top: 12%; margin: 0; }
.scroll-cue { position: absolute; z-index: 5; left: 50%; bottom: 22px; width: 24px; height: 38px; border: 2px solid rgba(255,255,255,.34); border-radius: 16px; transform: translateX(-50%); padding: 6px; }
.scroll-cue span { display: block; width: 4px; height: 8px; border-radius: 5px; background: var(--gold); animation: scrollDown 1.5s ease-in-out infinite; }

.home-shell #businesses { padding-top: 28px; }
.reference-light { background: #fff; color: #001B3D; }
.reference-dark { background: radial-gradient(120% 100% at 50% 0%, #002D5C, #00102A 72%); color: #fff; }
.reference-light .section-kicker { color: #C9912A; }
.reference-light h2 { color: #001B3D; }
.section-heading-center { max-width: 720px; margin: 0 auto 34px; text-align: center; }
.section-heading-center h2 { margin: 0; font-size: clamp(1.75rem, 3.2vw, 2.5rem); font-weight: 800; letter-spacing: -.035em; }
.section-heading-center h2::after { content: ''; width: 62px; height: 4px; display: block; margin: 15px auto 0; border-radius: 10px; background: linear-gradient(90deg, var(--gold), #f6d184); }
.center-cta { display: flex; justify-content: center; margin-top: 26px; }
.btn-outline-navy, .btn-outline-light { display: inline-flex; align-items: center; gap: 9px; padding: 11px 20px; border-radius: 12px; font-weight: 700; border: 2px solid #001B3D; color: #001B3D; transition: .2s ease; }
.btn-outline-navy:hover { color: #fff; background: #001B3D; }
.btn-outline-light { border-color: rgba(255,255,255,.65); color: #fff; }
.btn-outline-light:hover { color: #001B3D; background: #fff; }
.text-cta { color: #001B3D; font-weight: 800; display: inline-flex; align-items: center; gap: 9px; }
.text-cta:hover { color: #C9912A; }
.service-all-cta-wrap { margin-top: 28px; }
.service-all-cta-wrap form { display: inline; margin: 0; }
.service-all-cta { position: relative; z-index: 5; min-height: 0; padding: 11px 20px; touch-action: manipulation; -webkit-tap-highlight-color: transparent; font-size: inherit; }
.home-shell .service-all-cta.btn-outline-navy { background: transparent; color: #f4f7fb; border-color: rgba(244,247,251,.65); font-family: inherit; cursor: pointer; }
.home-shell .service-all-cta.btn-outline-navy:hover { color: #00152d; background: var(--gold); border-color: var(--gold); }
.reference-business-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.reference-business-card { display: block; overflow: hidden; color: #fff; background: #001B3D; border-radius: 17px; box-shadow: 0 14px 34px rgba(0,27,61,.18); transition: transform .25s ease, box-shadow .25s ease; }
.reference-business-card:hover { color: #fff; transform: translateY(-7px); box-shadow: 0 24px 48px rgba(0,27,61,.28); }
.reference-card-image { position: relative; height: 172px; overflow: hidden; }
.reference-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.reference-business-card:hover .reference-card-image img { transform: scale(1.08); }
.reference-card-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(0,27,61,.98)); }
.reference-icon { position: absolute; left: 14px; bottom: 11px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: #001B3D; box-shadow: 0 6px 18px rgba(0,0,0,.3); }
.reference-badge { position: absolute; right: 12px; top: 12px; padding: 5px 8px; border-radius: 7px; color: #001B3D; background: var(--gold); font-size: .68rem; font-weight: 800; }
.reference-card-body { padding: 14px 15px 16px; }
.reference-title-row { display: flex; gap: 8px; align-items: center; }
.reference-card-body h3 { margin: 0; color: #fff; font-size: 1rem; font-weight: 800; }
.reference-card-body p { min-height: 48px; margin: 8px 0 12px; color: rgba(255,255,255,.7); font-size: .78rem; line-height: 1.55; }
.new-badge, .open-badge { padding: 3px 6px; border-radius: 5px; background: #3E8BFF; color: #fff; font-size: .6rem; font-weight: 800; }
.reference-card-body .link-arrow { font-size: .78rem; }
.reference-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 920px; margin: 0 auto; }
.reference-service-tile { display: flex; align-items: center; gap: 12px; min-height: 72px; padding: 13px 15px; border: 1px solid rgba(0,27,61,.1); border-radius: 14px; color: #001B3D; background: #fff; box-shadow: 0 7px 20px rgba(0,27,61,.06); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.reference-service-tile:hover { color: #001B3D; transform: translateY(-3px); border-color: rgba(229,169,60,.6); box-shadow: 0 15px 30px rgba(0,27,61,.12); }
.service-icon { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(229,169,60,.17); color: #C9912A; }
.reference-service-tile > span:nth-child(2) { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.reference-service-tile strong { font-size: .9rem; }
.reference-service-tile small { color: #69778a; line-height: 1.35; }
.service-arrow { margin-left: auto; color: #C9912A; font-size: .78rem; }
.why-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 940px; margin: 0 auto; }
.why-card { display: flex; align-items: center; gap: 14px; padding: 17px 16px; border: 1px solid rgba(229,169,60,.18); border-radius: 15px; background: rgba(255,255,255,.06); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.why-icon { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: #001B3D; }
.career-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.career-feature-card { position: relative; min-height: 340px; display: flex; align-items: flex-end; overflow: hidden; border-radius: 18px; color: #fff; background: #001B3D; box-shadow: 0 16px 38px rgba(0,0,0,.25); }
.career-feature-card:hover { color: #fff; transform: translateY(-5px); }
.career-feature-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.career-feature-card:hover img { transform: scale(1.06); }
.career-feature-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,27,61,.02), rgba(0,16,42,.96) 75%); }
.career-feature-copy { position: relative; z-index: 1; padding: 20px; }
.career-feature-copy small { color: var(--gold); font-weight: 800; font-size: .68rem; letter-spacing: 1.2px; }
.career-feature-copy h3 { margin: 8px 0 7px; color: #fff; font-size: 1.15rem; }
.career-feature-copy p { min-height: 53px; margin: 0 0 14px; color: rgba(255,255,255,.74); font-size: .83rem; line-height: 1.5; }
.btn-card { display: inline-flex; gap: 7px; align-items: center; padding: 8px 12px; border-radius: 9px; background: var(--gold); color: #001B3D; font-size: .75rem; font-weight: 800; }
.section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 25px; }
.section-heading-row h2 { margin: 0; color: #001B3D; font-size: clamp(1.7rem, 3vw, 2.35rem); }
.filter-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.filter-chip { padding: 8px 12px; border: 1px solid rgba(0,27,61,.14); border-radius: 999px; color: #425166; font-size: .76rem; font-weight: 700; background: #fff; }
.filter-chip.active, .filter-chip:hover { color: #001B3D; background: var(--gold); border-color: var(--gold); }
.job-circular-list { display: grid; gap: 12px; }
.job-circular-card { display: block; padding: 18px 20px; border: 1px solid rgba(0,27,61,.1); border-radius: 15px; color: #001B3D; background: #fff; box-shadow: 0 8px 24px rgba(0,27,61,.07); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.job-circular-card:hover { color: #001B3D; transform: translateY(-3px); border-color: rgba(229,169,60,.6); box-shadow: 0 18px 35px rgba(0,27,61,.13); }
.job-card-top { display: flex; align-items: start; justify-content: space-between; gap: 14px; }
.job-card-top h3 { margin: 0 0 5px; color: #001B3D; font-size: 1.06rem; }
.job-department { color: #C9912A; font-size: .75rem; font-weight: 700; }
.job-circular-card p { margin: 12px 0; color: #657285; font-size: .87rem; line-height: 1.55; }
.job-meta { display: flex; flex-wrap: wrap; gap: 14px; color: #687789; font-size: .74rem; }
.job-meta i { margin-right: 5px; color: #C9912A; }
.job-circular-card .link-arrow { margin-top: 13px; font-size: .78rem; }
.timeline-process { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 18px; max-width: 950px; margin: 0 auto; }
.timeline-process::before { content: ''; position: absolute; top: 24px; left: 8%; right: 8%; height: 2px; background: linear-gradient(90deg, #3E8BFF, var(--gold), #3E8BFF); opacity: .35; }
.timeline-step { position: relative; z-index: 1; text-align: center; }
.timeline-number { width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto 12px; border-radius: 50%; color: #fff; background: #3E8BFF; border: 5px solid #fff; box-shadow: 0 0 0 2px rgba(62,139,255,.22), 0 9px 20px rgba(0,27,61,.14); font-weight: 900; }
.timeline-content { padding: 15px; border-radius: 14px; border: 1px solid rgba(0,27,61,.08); background: #fff; box-shadow: 0 8px 22px rgba(0,27,61,.06); }
.timeline-content i { color: #C9912A; font-size: 1.2rem; }
.timeline-content h3 { margin: 8px 0 6px; color: #001B3D; font-size: .92rem; }
.timeline-content p { margin: 0; color: #66758a; font-size: .76rem; line-height: 1.45; }
.stats-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; text-align: center; }
.stats-grid div { padding: 16px 8px; border-right: 1px solid rgba(255,255,255,.12); }
.stats-grid div:last-child { border-right: 0; }
.stats-grid strong { display: block; color: var(--gold); font: 800 1.85rem 'Montserrat', sans-serif; }
.stats-grid span { display: block; margin-top: 5px; color: rgba(255,255,255,.62); font-size: .7rem; }
.about-preview { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 42px; }
.about-preview h2 { margin: 0 0 15px; color: #001B3D; font-size: clamp(1.9rem, 3.5vw, 2.7rem); }
.about-preview p { max-width: 620px; color: #647387; line-height: 1.7; }
.about-orbit { position: relative; width: min(100%, 350px); aspect-ratio: 1; margin: auto; display: grid; place-items: center; }
.about-orbit-ring { position: absolute; inset: 8%; border: 1px solid rgba(0,123,255,.35); border-radius: 50%; transform: rotate(-18deg) scaleY(.35); box-shadow: 0 0 35px rgba(0,123,255,.15); }
.about-orbit::before, .about-orbit::after { content: ''; position: absolute; inset: 16%; border: 1px solid rgba(229,169,60,.32); border-radius: 50%; }
.about-orbit::after { inset: 26%; border-color: rgba(0,123,255,.25); }
.about-orbit-core { position: relative; z-index: 1; width: 100px; height: 100px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg, var(--gold), #fff0bf); color: #001B3D; font: 900 3rem 'Montserrat', sans-serif; box-shadow: 0 16px 45px rgba(229,169,60,.32); }
.reference-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.news-card { display: flex; flex-direction: column; min-height: 235px; padding: 18px; color: #001B3D; border: 1px solid rgba(0,27,61,.1); border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(0,27,61,.06); }
.news-card:hover { color: #001B3D; border-color: rgba(229,169,60,.6); transform: translateY(-4px); }
.news-category { color: #C9912A; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }
.news-card h3 { margin: 10px 0 8px; font-size: 1rem; line-height: 1.35; }
.news-card p { flex: 1; margin: 0 0 10px; color: #66758a; font-size: .8rem; line-height: 1.55; }
.news-card small { color: #9aa4b4; font-size: .7rem; }
.news-card .link-arrow { margin-top: 10px; font-size: .78rem; }
@media (max-width: 980px) {
  .home-shell .reference-hero { min-height: 650px; height: clamp(650px, 80vh, 720px); }
  .home-shell .hero-grid { display: block; min-height: 100%; padding-top: 72px; padding-bottom: 62px; }
  .home-shell .hero-globe-wrap { inset: 11% -5% auto; height: 52%; width: 110%; }
  .home-shell .hero-copy { position: absolute; left: 0; right: 0; bottom: 62px; max-width: 510px; margin: auto; padding-inline: 0; text-align: left; }
  .home-shell .hero h1 { font-size: clamp(2.35rem, 7.2vw, 3.6rem); }
  .reference-business-grid, .career-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stats-grid div:nth-child(3) { border-right: 0; }
  .about-preview { grid-template-columns: 1fr; }
  .about-orbit { order: -1; width: min(72vw, 300px); }
}
@media (max-width: 640px) {
  .home-shell .site-nav { padding: 8px 0; }
  .home-shell .nav-inner { min-height: 42px; }
  .home-shell .brand-mark { width: 38px; height: 38px; }
  .home-shell .brand-copy strong { font-size: .86rem; }
  .home-shell .brand-copy small { font-size: .57rem; max-width: 190px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .home-shell .language-pill { display: inline-flex; padding: 7px 10px; gap: 6px; font-size: .68rem; border-radius: 10px; }
  .home-shell .hero-grid { width: calc(100% - 32px); }
  .home-shell .hero-globe-wrap { inset: 17% -10% auto; height: 42%; width: 120%; }
  .hero-explore-badge { left: 42px; top: 12%; }
  .home-shell .hero-copy { bottom: 62px; text-align: left; }
  .home-shell .hero-script { font-size: 1.3rem; }
  .home-shell .hero h1 { font-size: 1.72rem; line-height: .96; margin-bottom: 13px; }
  .home-shell .hero p { margin-inline: 0; max-width: 360px; font-size: .76rem; line-height: 1.52; }
  .home-shell .hero-actions { width: min(100%, 358px); margin-inline: 0; gap: 9px; }
  .home-shell .hero-actions .btn-gold, .home-shell .hero-actions .btn-ghost { width: 100%; justify-content: center; padding-block: 11px; }
  .scroll-cue { bottom: 64px; }
  .reference-business-grid, .career-card-grid, .why-grid, .reference-news-grid { grid-template-columns: 1fr; }
  .reference-service-grid { grid-template-columns: 1fr; }
  .reference-card-image { height: 180px; }
  .career-feature-card { min-height: 300px; }
  .section-heading-row { align-items: flex-start; flex-direction: column; }
  .timeline-process { grid-template-columns: 1fr; gap: 16px; }
  .timeline-process::before { top: 0; bottom: 0; left: 24px; right: auto; width: 2px; height: auto; }
  .timeline-step { display: grid; grid-template-columns: 48px 1fr; gap: 12px; text-align: left; align-items: start; }
  .timeline-number { margin: 0; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats-grid div, .stats-grid div:nth-child(3) { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .stats-grid div:nth-last-child(-n+2) { border-bottom: 0; }
}


/* CR registration and complete language switcher */
.brand-copy { display: inline-flex; flex-direction: column; align-items: flex-start; }
.brand-copy .brand-cr { display: block; margin-top: 2px; color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: 1.15px; line-height: 1.1; }
.language-switcher { position: relative; display: inline-flex; }
.language-menu { position: absolute; z-index: 1200; top: calc(100% + 9px); inset-inline-end: 0; min-width: 176px; padding: 7px; border: 1px solid rgba(229,169,60,.4); border-radius: 12px; background: rgba(0,16,42,.98); box-shadow: 0 16px 36px rgba(0,0,0,.34); }
.language-menu[hidden] { display: none !important; }
.language-menu a { display: block; width: 100%; padding: 9px 10px; border-radius: 8px; color: rgba(255,255,255,.88); background: transparent; font: 700 .75rem 'Montserrat', sans-serif; text-align: start; text-decoration: none; cursor: pointer; }
.language-menu a:hover, .language-menu a:focus-visible { color: #001B3D; background: var(--gold); outline: none; }
html.site-rtl, html.site-rtl body { direction: rtl; }
html.site-rtl .brand-copy { align-items: flex-end; }
html.site-rtl .hero-copy, html.site-rtl .section, html.site-rtl .footer { text-align: right; }
html.site-rtl .hero-actions, html.site-rtl .center-cta { align-items: stretch; }
html.site-rtl .language-menu { inset-inline-start: 0; inset-inline-end: auto; }
@media (max-width: 640px) {
  .brand-copy .brand-cr { font-size: .49rem; letter-spacing: .75px; }
  .language-menu { min-width: 154px; }
  .language-menu a { padding: 8px 9px; font-size: .7rem; }
}

/* Supplied full NEHALS VENTURES header artwork */
.home-shell .brand-header {
  align-items: flex-end;
  gap: 7px;
  min-width: 0;
}
.brand-art {
  display: block;
  width: 150px;
  flex: 0 0 auto;
}
.brand-art img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 88px;
  object-fit: contain;
}
.brand-header-info {
  display: flex;
  align-items: flex-end;
  min-width: 0;
  padding-bottom: 2px;
}
.brand-header-info .brand-cr {
  display: block;
  color: var(--gold);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .85px;
  line-height: 1.1;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .home-shell .brand-header { gap: 4px; }
  .brand-art { width: 116px; }
  .brand-art img { max-height: 78px; }
  .brand-header-info .brand-cr { font-size: .43rem; letter-spacing: .55px; }
}

/* Corrected compact header: separate mark + wordmark extracted from supplied poster */
.home-shell .brand-header {
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.home-shell .brand-header .brand-mark {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: block;
  padding: 0;
  overflow: hidden;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
}
.home-shell .brand-header .brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.home-shell .brand-header-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  min-width: 0;
}
.home-shell .brand-wordmark {
  display: block;
  width: 154px;
  height: 38px;
  overflow: hidden;
  flex: 0 0 38px;
}
.home-shell .brand-wordmark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home-shell .brand-header-copy .brand-cr {
  display: block;
  color: var(--gold);
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .75px;
  line-height: 1;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .home-shell .brand-header { gap: 7px; }
  .home-shell .brand-header .brand-mark {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    border-radius: 11px;
  }
  .home-shell .brand-wordmark {
    width: 122px;
    height: 31px;
    flex-basis: 31px;
  }
  .home-shell .brand-header-copy .brand-cr {
    font-size: .42rem;
    letter-spacing: .5px;
  }
}

/* Safe fallback compact header: clean transparent mark + one-line wordmark */
.home-shell .brand-header {
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.home-shell .brand-header .brand-mark {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  padding: 0;
  overflow: hidden;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--gold), var(--gold-dark));
  box-shadow: 0 4px 12px rgba(229, 169, 60, 0.3);
}
.home-shell .brand-header .brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
}
.home-shell .brand-header-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  min-width: 0;
}
.home-shell .brand-header-copy strong {
  display: block;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: .45px;
  line-height: 1;
  white-space: nowrap;
}
.home-shell .brand-header-copy .brand-cr {
  display: block;
  color: var(--gold);
  font-size: .51rem;
  font-weight: 800;
  letter-spacing: .75px;
  line-height: 1;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .home-shell .brand-header { gap: 7px; }
  .home-shell .brand-header .brand-mark {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    border-radius: 11px;
  }
  .home-shell .brand-header-copy strong { font-size: .84rem; letter-spacing: .3px; }
  .home-shell .brand-header-copy .brand-cr { font-size: .42rem; letter-spacing: .5px; }
}

/* Mobile-only compact hero and featured business cards */
@media (max-width: 640px) {
  .home-shell .reference-hero { height: 580px; min-height: 580px; }
  .home-shell .hero-grid { padding-top: 58px; padding-bottom: 38px; }
  .home-shell .hero-globe-wrap { inset: 12% -7% auto; height: 36%; width: 114%; }
  .home-shell .hero-copy { bottom: 38px; }
  .home-shell .hero-script { font-size: 1.08rem; margin-bottom: 0; }
  .home-shell .hero h1 { font-size: 1.52rem; line-height: .94; margin-bottom: 9px; }
  .home-shell .hero p { max-width: 330px; font-size: .68rem; line-height: 1.4; margin-bottom: 11px; }
  .home-shell .hero-actions { width: min(100%, 300px); gap: 7px; }
  .home-shell .hero-actions .btn-gold, .home-shell .hero-actions .btn-ghost { padding-block: 8px; font-size: .76rem; }
  .scroll-cue { bottom: 40px; transform: translateX(-50%) scale(.82); }
  .home-shell #businesses { padding-top: 20px; padding-bottom: 44px; }
  .home-shell #businesses .section-heading-center { margin-bottom: 18px; }
  .home-shell #businesses .section-kicker { font-size: .66rem; letter-spacing: 1.5px; margin-bottom: 5px; }
  .home-shell #businesses .section-heading-center h2 { font-size: 1.42rem; line-height: 1.05; }
  .home-shell #businesses .section-heading-center h2::after { width: 42px; height: 3px; margin-top: 9px; }
  .home-shell .reference-business-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .home-shell .reference-business-card { border-radius: 12px; box-shadow: 0 9px 20px rgba(0,27,61,.16); transform-style: preserve-3d; will-change: transform; }
  .home-shell .reference-card-image { height: 104px; }
  .home-shell .reference-icon { left: 8px; bottom: 7px; width: 28px; height: 28px; font-size: .72rem; }
  .home-shell .reference-badge { right: 7px; top: 7px; padding: 3px 5px; font-size: .53rem; }
  .home-shell .reference-card-body { padding: 9px 10px 10px; }
  .home-shell .reference-title-row { gap: 4px; align-items: flex-start; }
  .home-shell .reference-card-body h3 { font-size: .72rem; line-height: 1.12; }
  .home-shell .reference-card-body p { min-height: 43px; margin: 5px 0 7px; font-size: .6rem; line-height: 1.34; }
  .home-shell .reference-card-body .link-arrow { gap: 5px; font-size: .62rem; }
  .home-shell .reference-card-body .link-arrow i { font-size: .56rem; }
  .home-shell .reference-card-body .new-badge { padding: 2px 4px; font-size: .48rem; }
}

/* Featured business cards: distinct lightweight 3D motion */
@media (prefers-reduced-motion: no-preference) {
  .home-shell .reference-business-card[data-card-motion] { animation: businessCardFloat 6.8s ease-in-out infinite; }
  .home-shell .reference-business-card[data-card-motion="1"] { animation-delay: -1.7s; animation-duration: 7.4s; }
  .home-shell .reference-business-card[data-card-motion="2"] { animation-delay: -3.1s; animation-duration: 6.2s; }
  .home-shell .reference-business-card[data-card-motion="3"] { animation-delay: -4.6s; animation-duration: 7.8s; }
  .home-shell .reference-business-card.is-tilting { animation-play-state: paused; }
  @keyframes businessCardFloat {
    0%, 100% { transform: perspective(760px) translate3d(0, 0, 0) rotateX(0deg) rotateY(0deg); }
    50% { transform: perspective(760px) translate3d(0, -3px, 0) rotateX(.55deg) rotateY(-.75deg); }
  }
}

/* Scoped homepage compact pass: globe framing and lower-section density */
.live-stats-section.section-reveal { opacity: 1; transform: none; }
@media (max-width: 640px) {
  .home-shell .reference-hero { height: 620px; min-height: 620px; }
  .home-shell .hero-globe-wrap {
    inset: 7% -10% auto;
    width: 120%;
    height: 46%;
    min-height: 0;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 45%, rgba(2,15,32,.98) 0%, rgba(0,5,17,.98) 66%, rgba(0,5,17,.76) 76%, transparent 84%);
  }
  .home-shell .hero-globe-wrap::before { width: min(94%, 470px); }
  .home-shell .hero-globe-wrap::after { width: min(118%, 560px); }
  .home-shell .hero-copy { bottom: 28px; }
  .home-shell #services,
  .home-shell #why-choose,
  .home-shell #careers,
  .home-shell #jobs,
  .home-shell #recruitment,
  .home-shell #company-stats,
  .home-shell #about-preview,
  .home-shell #news-insights { padding-top: 32px; padding-bottom: 32px; }
  .home-shell #services .section-heading-center,
  .home-shell #why-choose .section-heading-center,
  .home-shell #careers .section-heading-center,
  .home-shell #recruitment .section-heading-center { margin-bottom: 15px; }
  .home-shell #services .section-heading-center h2,
  .home-shell #why-choose .section-heading-center h2,
  .home-shell #careers .section-heading-center h2,
  .home-shell #recruitment .section-heading-center h2 { font-size: 1.22rem; line-height: 1.08; }
  .home-shell #services .section-kicker,
  .home-shell #why-choose .section-kicker,
  .home-shell #careers .section-kicker,
  .home-shell #recruitment .section-kicker { font-size: .6rem; letter-spacing: 1.2px; margin-bottom: 4px; }
  .home-shell .reference-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .home-shell .reference-service-tile { min-height: 58px; gap: 7px; padding: 8px 9px; border-radius: 10px; }
  .home-shell .service-icon { flex-basis: 26px; width: 26px; height: 26px; font-size: .62rem; }
  .home-shell .reference-service-tile strong { font-size: .64rem; line-height: 1.1; }
  .home-shell .reference-service-tile small { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: .54rem; line-height: 1.2; }
  .home-shell .service-arrow { font-size: .58rem; }
  .home-shell #services .center-cta,
  .home-shell #why-choose .center-cta,
  .home-shell #careers .center-cta { margin-top: 15px; }
  .home-shell .text-cta,
  .home-shell .btn-outline-light,
  .home-shell .btn-outline-navy { padding: 8px 12px; border-radius: 9px; font-size: .65rem; gap: 6px; }
  .home-shell .why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .home-shell .why-card { gap: 7px; min-height: 47px; padding: 8px 7px; border-radius: 9px; }
  .home-shell .why-icon { flex-basis: 25px; width: 25px; height: 25px; font-size: .58rem; }
  .home-shell .why-card strong { font-size: .58rem; line-height: 1.15; }
  .home-shell .career-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .home-shell .career-feature-card { min-height: 210px; border-radius: 11px; }
  .home-shell .career-feature-copy { padding: 11px 10px; }
  .home-shell .career-feature-copy small { font-size: .5rem; letter-spacing: .7px; }
  .home-shell .career-feature-copy h3 { margin: 5px 0 4px; font-size: .7rem; line-height: 1.12; }
  .home-shell .career-feature-copy p { min-height: 32px; margin-bottom: 8px; font-size: .56rem; line-height: 1.28; }
  .home-shell .btn-card { padding: 6px 8px; border-radius: 7px; font-size: .56rem; gap: 4px; }
  .home-shell .section-heading-row { gap: 7px; margin-bottom: 13px; }
  .home-shell .section-heading-row h2 { font-size: 1.22rem; line-height: 1.08; }
  .home-shell .filter-chips { gap: 5px; margin-bottom: 10px; }
  .home-shell .filter-chip { padding: 5px 8px; font-size: .56rem; }
  .home-shell .job-circular-list { gap: 7px; }
  .home-shell .job-circular-card { padding: 10px 11px; border-radius: 10px; }
  .home-shell .job-card-top { gap: 7px; }
  .home-shell .job-card-top h3 { margin-bottom: 3px; font-size: .7rem; line-height: 1.12; }
  .home-shell .job-department { font-size: .55rem; }
  .home-shell .open-badge { padding: 2px 5px; font-size: .5rem; }
  .home-shell .job-circular-card p { display: -webkit-box; overflow: hidden; margin: 6px 0; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: .57rem; line-height: 1.3; }
  .home-shell .job-meta { gap: 6px; font-size: .5rem; }
  .home-shell .job-circular-card .link-arrow { margin-top: 7px; font-size: .58rem; }
  .home-shell .timeline-process { gap: 8px; }
  .home-shell .timeline-step { grid-template-columns: 31px 1fr; gap: 7px; }
  .home-shell .timeline-process::before { left: 15px; }
  .home-shell .timeline-number { width: 31px; height: 31px; border-width: 3px; font-size: .68rem; }
  .home-shell .timeline-content { padding: 8px 9px; border-radius: 9px; }
  .home-shell .timeline-content i { font-size: .72rem; }
  .home-shell .timeline-content h3 { margin: 4px 0 3px; font-size: .65rem; line-height: 1.1; }
  .home-shell .timeline-content p { font-size: .54rem; line-height: 1.25; }
  .home-shell .stats-grid { gap: 0; }
  .home-shell .stats-grid div { padding: 9px 4px; }
  .home-shell .stats-grid strong { font-size: 1.28rem; }
  .home-shell .stats-grid span { margin-top: 3px; font-size: .52rem; line-height: 1.15; }
  .home-shell .about-preview { gap: 16px; }
  .home-shell .about-preview h2 { margin-bottom: 8px; font-size: 1.3rem; line-height: 1.08; }
  .home-shell .about-preview p { margin: 0 0 8px; font-size: .6rem; line-height: 1.38; }
  .home-shell .about-orbit { width: min(46vw, 180px); }
  .home-shell .about-orbit-core { width: 58px; height: 58px; font-size: 1.75rem; }
  .home-shell #news-insights .section-heading-row { flex-direction: row; align-items: end; }
  .home-shell .reference-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .home-shell .news-card { min-height: 148px; padding: 10px; border-radius: 10px; }
  .home-shell .news-category { font-size: .5rem; letter-spacing: .7px; }
  .home-shell .news-card h3 { margin: 5px 0 4px; font-size: .65rem; line-height: 1.18; }
  .home-shell .news-card p { display: -webkit-box; overflow: hidden; margin-bottom: 5px; -webkit-box-orient: vertical; -webkit-line-clamp: 3; font-size: .55rem; line-height: 1.3; }
  .home-shell .news-card small { font-size: .5rem; }
  .home-shell .news-card .link-arrow { margin-top: 5px; font-size: .58rem; }
}

/* Compact density for requested lower homepage blocks; business section intentionally excluded */
.home-shell #services,
.home-shell #why-choose,
.home-shell #careers,
.home-shell #jobs,
.home-shell #recruitment,
.home-shell #company-stats,
.home-shell #about-preview,
.home-shell #news-insights { padding-top: 64px; padding-bottom: 64px; }
.home-shell #services .section-heading-center,
.home-shell #why-choose .section-heading-center,
.home-shell #careers .section-heading-center,
.home-shell #recruitment .section-heading-center { margin-bottom: 24px; }
.home-shell .reference-service-tile { min-height: 64px; padding: 10px 12px; }
.home-shell .why-card { padding: 13px 12px; }
.home-shell .career-feature-card { min-height: 265px; }
.home-shell .job-circular-card { padding: 14px 16px; }
.home-shell .timeline-content { padding: 12px; }
.home-shell .stats-grid div { padding: 12px 6px; }
.home-shell .about-preview { gap: 30px; }
.home-shell .news-card { min-height: 200px; padding: 14px; }
.home-shell button.filter-chip { appearance: none; font-family: inherit; cursor: pointer; }
.home-shell button.filter-chip:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.home-shell [data-job-list] .job-circular-card[hidden] { display: none; }

/* Final mobile hero framing correction from supplied screenshot */
@media (max-width: 640px) {
  .home-shell .hero-globe-wrap {
    inset: 3% -14% auto;
    width: 128%;
    height: 52%;
    border-radius: 50%;
    background: #020a18;
    box-shadow: 0 20px 60px rgba(0,0,0,.42), inset 0 0 46px rgba(62,139,255,.08);
  }
  .home-shell .hero-globe-wrap::before { width: min(80%, 430px); }
  .home-shell .hero-globe-wrap::after { width: min(104%, 540px); }
  .home-shell .hero-copy { bottom: 80px; }
}

/* Mobile footer compaction from the live reference screenshot */
@media (max-width: 640px) {
  .home-shell .footer {
    padding: 34px 0 24px;
  }
  .home-shell .footer-grid {
    gap: 20px;
    margin-bottom: 24px;
  }
  .home-shell .footer-grid > div {
    min-width: 0;
  }
  .home-shell .footer .brand {
    gap: 8px;
  }
  .home-shell .footer .brand .brand-mark {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-radius: 10px;
  }
  .home-shell .footer .brand-copy strong {
    font-size: .82rem;
    letter-spacing: .25px;
  }
  .home-shell .footer .brand-copy small {
    font-size: .55rem;
    line-height: 1.15;
  }
  .home-shell .footer-grid > div:first-child > p {
    margin-top: .65rem !important;
    max-width: 34ch;
    font-size: .73rem;
    line-height: 1.4;
  }
  .home-shell .footer h3 {
    margin-bottom: 9px;
    font-size: .9rem;
    line-height: 1.15;
  }
  .home-shell .footer ul li {
    margin-bottom: 6px;
    font-size: .72rem;
    line-height: 1.35;
  }
  .home-shell .footer ul li a,
  .home-shell .footer .link-arrow {
    font-size: .72rem;
    line-height: 1.35;
  }
  .home-shell .footer-grid > div:last-child > p {
    margin-bottom: .55rem !important;
    font-size: .72rem;
    line-height: 1.35;
  }
  .home-shell .footer > .container-wide.mt-5 {
    margin-top: 1.25rem !important;
    padding-top: .7rem !important;
    font-size: .62rem;
    line-height: 1.3;
  }
}

/* Mobile hero: place the interactive globe immediately below the sticky header and raise the copy into a compact overlay. */
@media (max-width: 640px) {
  .home-shell .reference-hero {
    height: 540px;
    min-height: 540px;
    padding-top: 0;
  }
  .home-shell .hero-grid {
    padding-top: 0;
    padding-bottom: 20px;
  }
  .home-shell .hero-globe-wrap {
    inset: 0 -14% auto;
    top: 0 !important;
    width: 128%;
    height: 48%;
    min-height: 0;
    margin: 0;
    transform: translateY(0);
  }
  .home-shell .hero-copy {
    position: absolute;
    top: 232px;
    right: 0;
    bottom: auto;
    left: 0;
    margin: 0;
    padding-top: 6px;
    transform: none;
  }
  .home-shell .scroll-cue { bottom: 24px; }
}

/* Keep the complete mobile globe backdrop visibly below the compact header */
@media (max-width: 640px) {
  .home-shell .hero-globe-wrap {
    top: 12%;
  }
}

/* Final mobile globe frame drop: keep the backdrop and copy together below the header */
@media (max-width: 640px) {
  .home-shell .reference-hero {
    height: 690px;
    min-height: 690px;
  }
  .home-shell .hero-globe-wrap,
  .home-shell .hero-copy {
    transform: translateY(70px);
  }
}

/* Place the mobile globe backdrop directly below the header */
@media (max-width: 640px) {
  .home-shell .hero-globe-wrap {
    transform: translateY(2px);
  }
}

/* Move mobile hero copy upward over the globe */
@media (max-width: 640px) {
  .home-shell .reference-hero {
    height: 590px;
    min-height: 590px;
  }
  .home-shell .hero-copy {
    position: relative;
    bottom: auto;
    margin-top: -120px;
    z-index: 5;
    background: linear-gradient(180deg, rgba(0,16,42,0.05) 0%, rgba(0,16,42,0.92) 30%, rgba(0,16,42,0.98) 100%);
    padding-top: 10px;
    border-radius: 12px;
  }
}

/* Further compact mobile hero group: globe fully below header, tighter copy overlay */
@media (max-width: 640px) {
  .home-shell .reference-hero {
    height: 540px;
    min-height: 540px;
    padding-top: 66px;
  }
  .home-shell .hero-globe-wrap {
    min-height: 240px;
    height: 240px;
    margin: 0 auto;
  }
  .home-shell .hero-copy {
    margin-top: -30px;
    padding-top: 8px;
    padding-bottom: 12px;
  }
  .home-shell .hero h1 {
    font-size: 2.1rem;
    margin-bottom: 10px;
  }
  .home-shell .hero p {
    font-size: 0.88rem;
    line-height: 1.5;
    margin-bottom: 16px;
  }
  .home-shell .hero-actions {
    margin-bottom: 12px;
  }
}


/* Global dark-surface consistency: remove unintended white public surfaces while preserving readable contrast. */
.home-shell,
.home-shell .reference-light {
  background: #00152d;
  color: #f4f7fb;
}
.home-shell .reference-service-tile,
.home-shell .filter-chip,
.home-shell .job-circular-card,
.home-shell .timeline-content,
.home-shell .news-card {
  background: linear-gradient(145deg, #0a2343, #06172f);
  color: #f4f7fb;
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.home-shell .reference-service-tile:hover,
.home-shell .job-circular-card:hover,
.home-shell .news-card:hover {
  color: #ffffff;
  border-color: rgba(229,169,60,.68);
  box-shadow: 0 18px 36px rgba(0,0,0,.28);
}
.home-shell .reference-service-tile h3,
.home-shell .reference-service-tile p,
.home-shell .job-card-top h3,
.home-shell .job-circular-card p,
.home-shell .timeline-content h3,
.home-shell .timeline-content p,
.home-shell .news-card h3,
.home-shell .news-card p,
.home-shell .about-preview h2,
.home-shell .about-preview p {
  color: #f4f7fb;
}
.home-shell .reference-service-tile p,
.home-shell .job-circular-card p,
.home-shell .timeline-content p,
.home-shell .news-card p,
.home-shell .about-preview p {
  color: rgba(226,232,240,.78);
}
.home-shell .filter-chip {
  color: #dbe8f5;
}
.home-shell .filter-chip.active,
.home-shell .filter-chip:hover {
  color: #00152d;
  background: var(--gold);
  border-color: var(--gold);
}
.home-shell .timeline-number {
  border-color: #00152d;
}
.home-shell .about-orbit-core {
  background: linear-gradient(135deg, var(--gold), #f3d477);
}
.home-shell .brand-mark {
  background: #06172f;
  border: 1px solid rgba(229,169,60,.35);
}
.home-shell .btn-outline-navy {
  color: #f4f7fb;
  border-color: rgba(244,247,251,.55);
}
.home-shell .btn-outline-navy:hover {
  color: #00152d;
  background: var(--gold);
  border-color: var(--gold);
}
@media (max-width: 640px) {
  .home-shell .reference-light { background: #00152d; }
  .home-shell .reference-service-tile,
  .home-shell .filter-chip,
  .home-shell .job-circular-card,
  .home-shell .timeline-content,
  .home-shell .news-card { box-shadow: 0 8px 20px rgba(0,0,0,.2); }
}


/* Public detail-route dark-surface consistency: keep admin pages independent and preserve the homepage parity layer. */
body:not(.admin-body):not(.home-shell) {
  background: #00152d;
  color: #f4f7fb;
}
body:not(.admin-body):not(.home-shell) main,
body:not(.admin-body):not(.home-shell) .section,
body:not(.admin-body):not(.home-shell) .page-hero {
  background-color: #00152d;
}
body:not(.admin-body):not(.home-shell) .page-hero {
  padding: 86px 0 60px;
  background: radial-gradient(circle at 80% 20%, rgba(229,169,60,.12), transparent 35%), #081431;
  border-bottom: 1px solid var(--border-color);
}
body:not(.admin-body):not(.home-shell) .page-hero h1 {
  margin: 0 0 12px;
  color: #f4f7fb;
}
body:not(.admin-body):not(.home-shell) .page-hero p,
body:not(.admin-body):not(.home-shell) .detail-copy,
body:not(.admin-body):not(.home-shell) .detail-copy p,
body:not(.admin-body):not(.home-shell) .contact-box p,
body:not(.admin-body):not(.home-shell) .text-secondary {
  color: rgba(226,232,240,.78) !important;
}
body:not(.admin-body):not(.home-shell) .card,
body:not(.admin-body):not(.home-shell) .detail-copy,
body:not(.admin-body):not(.home-shell) .side-card,
body:not(.admin-body):not(.home-shell) .contact-box {
  background: linear-gradient(145deg, #0a2343, #06172f);
  color: #f4f7fb;
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
body:not(.admin-body):not(.home-shell) .card h2,
body:not(.admin-body):not(.home-shell) .card h3,
body:not(.admin-body):not(.home-shell) .detail-copy h2,
body:not(.admin-body):not(.home-shell) .detail-copy h3,
body:not(.admin-body):not(.home-shell) .contact-box h2,
body:not(.admin-body):not(.home-shell) .contact-box h3 {
  color: #f4f7fb;
}
body:not(.admin-body):not(.home-shell) .form-control,
body:not(.admin-body):not(.home-shell) .form-select,
body:not(.admin-body):not(.home-shell) textarea,
body:not(.admin-body):not(.home-shell) input {
  background: #071a35;
  color: #f4f7fb;
  border-color: rgba(255,255,255,.16);
}
body:not(.admin-body):not(.home-shell) .pagination a,
body:not(.admin-body):not(.home-shell) .pagination span,
body:not(.admin-body):not(.home-shell) .btn-small {
  background: #0a2343;
  color: #dbe8f5;
  border-color: rgba(255,255,255,.14);
}
body:not(.admin-body):not(.home-shell) .footer { background: #000f23; }
@media (max-width: 640px) {
  body:not(.admin-body):not(.home-shell) .page-hero { padding: 58px 0 42px; }
  body:not(.admin-body):not(.home-shell) .card,
  body:not(.admin-body):not(.home-shell) .detail-copy,
  body:not(.admin-body):not(.home-shell) .side-card,
  body:not(.admin-body):not(.home-shell) .contact-box { box-shadow: 0 8px 20px rgba(0,0,0,.2); }
}


/* Admin-only light workspace: intentionally outside the public dark-surface rules. */
body.admin-body {
  background: #f3f6fb;
  color: #16213a;
  min-height: 100vh;
}
body.admin-body .admin-card {
  background: #ffffff;
  color: #16213a;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 12px 34px rgba(15,23,42,.06);
}
body.admin-body .admin-main { color: #16213a; }
body.admin-body .admin-main .form-control,
body.admin-body .admin-main .form-select,
body.admin-body input,
body.admin-body textarea,
body.admin-body select {
  background: #ffffff;
  color: #16213a;
  border-color: #dbe3ef;
}
body.admin-body .form-label,
body.admin-body label { color: #334155; }
body.admin-body .text-secondary { color: #64748b !important; }
body.admin-body .admin-table th,
body.admin-body .admin-table td { color: #23304a; border-color: #e2e8f0; }
body.admin-body .admin-table th { color: #64748b; }
body.admin-body .btn-small { background: #ffffff; color: #334155; border-color: #dbe3ef; }

/* Audit release: professional, responsive admin workspace and keyboard entry point. */
.skip-link { position: fixed; z-index: 9999; top: 10px; left: 10px; padding: 10px 14px; border-radius: 10px; background: #f5c55f; color: #00152d; font-weight: 800; text-decoration: none; transform: translateY(-180%); transition: transform .18s ease; }
.skip-link:focus { transform: translateY(0); outline: 3px solid #fff; outline-offset: 3px; }
body.admin-body .admin-shell { min-height: 100vh; display: grid; grid-template-columns: 254px minmax(0, 1fr); }
body.admin-body .admin-side { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 22px 14px; background: linear-gradient(160deg, #001b3d, #000e22); color: #eaf2fb; box-shadow: 12px 0 32px rgba(4,14,32,.16); }
body.admin-body .admin-side .brand { display: flex; align-items: center; gap: 10px; margin: 0 7px 25px; color: #fff; text-decoration: none; }
body.admin-body .admin-side .brand-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: linear-gradient(145deg, #f6d184, #e5a93c); color: #001b3d; font-weight: 900; box-shadow: 0 8px 20px rgba(229,169,60,.24); }
body.admin-body .admin-side .brand-copy { display: grid; line-height: 1.15; }
body.admin-body .admin-side .brand-copy small { margin-top: 4px; color: #a7bed8; font-size: .72rem; }
body.admin-body .admin-side nav { display: grid; gap: 4px; }
body.admin-body .admin-side nav a { display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 10px 12px; border-radius: 11px; color: #c6d8ec; font-size: .9rem; font-weight: 700; text-decoration: none; transition: background .18s ease, color .18s ease, transform .18s ease; }
body.admin-body .admin-side nav a:hover, body.admin-body .admin-side nav a.active { background: rgba(229,169,60,.14); color: #f6d184; transform: translateX(3px); }
body.admin-body .admin-side nav i { width: 16px; text-align: center; }
body.admin-body .admin-signout { margin-top: auto; padding: 16px 7px 0; }
body.admin-body .admin-signout button { border: 0; background: transparent; color: #a7bed8; font: inherit; font-size: .86rem; cursor: pointer; }
body.admin-body .admin-main { min-width: 0; padding: clamp(22px, 4vw, 48px); }
body.admin-body .admin-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
body.admin-body .admin-top h1 { margin: 4px 0 6px; color: #0b2446; font-size: clamp(1.65rem, 3vw, 2.2rem); font-weight: 850; }
body.admin-body .admin-eyebrow { color: #9a650e; font-size: .73rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
body.admin-body .admin-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
body.admin-body .admin-stat { display: grid; gap: 3px; min-height: 106px; align-content: center; color: #0b2446; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
body.admin-body .admin-stat:hover { color: #0b2446; transform: translateY(-3px); box-shadow: 0 18px 34px rgba(15,23,42,.10); }
body.admin-body .admin-stat strong { color: #b97912; font-size: 1.8rem; }
body.admin-body .table-wrap { overflow-x: auto; }
body.admin-body .admin-table { width: 100%; min-width: 660px; border-collapse: collapse; }
body.admin-body .admin-table th { padding: 0 10px 12px; font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; }
body.admin-body .admin-table td { padding: 14px 10px; vertical-align: middle; }
body.admin-body .admin-table tr + tr td { border-top: 1px solid #e8edf5; }
body.admin-body .pill { display: inline-flex; border-radius: 999px; background: #e9f6ee; color: #217041; font-size: .72rem; font-weight: 800; padding: 4px 8px; }
body.admin-body .admin-pill-expired { background: #fff0ee; color: #b42318; }
body.admin-body .admin-pill-hidden { background: #eff2f7; color: #475569; }
body.admin-body .admin-toolbar { display: grid; grid-template-columns: 180px minmax(220px, 1fr) auto; align-items: end; gap: 12px; margin: 0 0 18px; }
body.admin-body .admin-toolbar label { display: grid; gap: 5px; font-size: .78rem; font-weight: 800; }
body.admin-body .admin-toolbar input, body.admin-body .admin-toolbar select { width: 100%; min-height: 40px; border: 1px solid #dbe3ef; border-radius: 10px; padding: 8px 10px; }
body.admin-body .enquiry-card { padding: 18px 0; }
body.admin-body .enquiry-card + .enquiry-card { border-top: 1px solid #e2e8f0; }
body.admin-body .enquiry-card-top { display: flex; justify-content: space-between; gap: 14px; }
body.admin-body .enquiry-card h2 { margin: 8px 0 4px; color: #102b50; font-size: 1.05rem; }
body.admin-body .enquiry-card p { margin: 0; color: #64748b; }
body.admin-body .enquiry-card time { color: #64748b; font-size: .78rem; white-space: nowrap; }
body.admin-body .enquiry-type { background: #edf4ff; color: #1d4e89; text-transform: capitalize; }
body.admin-body .enquiry-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 14px 0; }
body.admin-body .enquiry-fields div { padding: 9px 10px; border-radius: 10px; background: #f7f9fc; }
body.admin-body .enquiry-fields dt { color: #64748b; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
body.admin-body .enquiry-fields dd { margin: 3px 0 0; color: #243b5a; font-size: .85rem; }
body.admin-body .enquiry-message { max-width: 920px; margin: 0 0 14px; padding: 11px 13px; border-left: 3px solid #e5a93c; background: #fffaf0; color: #34465f; white-space: pre-wrap; }
body.admin-body .admin-empty { padding: 44px 20px; text-align: center; color: #64748b; }
body.admin-body .admin-empty i { display: block; margin-bottom: 10px; color: #d09328; font-size: 1.8rem; }
body.admin-body .admin-community-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
body.admin-body .admin-community-tabs a { padding:9px 12px; border:1px solid #d9e2ef; border-radius:9px; color:#52627a; text-decoration:none; font-weight:750; font-size:.84rem; }
body.admin-body .admin-community-tabs a.active { border-color:#e5a93c; background:#fff8e8; color:#8c5c00; }
body.admin-body .admin-action-stack { display:flex; flex-wrap:wrap; gap:6px; } body.admin-body .admin-action-stack form { margin:0; }
 .not-found-scene { min-height: 68vh; display: grid; place-items: center; padding: 110px 0 80px; background: radial-gradient(circle at 50% 32%, rgba(39,103,202,.26), transparent 28%), linear-gradient(180deg, #001b3d 0%, #000f23 100%); overflow: hidden; }
 .not-found-shell { position: relative; max-width: 760px; text-align: center; }
 .not-found-shell h1 { max-width: 620px; margin: 15px auto; color: #fff; font-size: clamp(2.2rem, 5vw, 4.4rem); font-weight: 850; }
 .not-found-shell p { max-width: 650px; margin: 0 auto 28px; color: #b8c9dd; font-size: 1.05rem; line-height: 1.75; }
 .not-found-shell .hero-actions { justify-content: center; }
 .not-found-orbit { display: grid; width: 102px; height: 102px; place-items: center; margin: 0 auto 16px; border: 1px solid rgba(229,169,60,.45); border-radius: 50%; color: #f3c96b; font-size: 2.2rem; box-shadow: 0 0 0 18px rgba(229,169,60,.05), 0 0 70px rgba(34,123,255,.24); animation: compass-orbit 7s linear infinite; }
 @keyframes compass-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .not-found-orbit { animation: none; } }

/* Member community */
.community-hero,.community-auth,.community-compose,.community-detail,.member-dashboard { background: radial-gradient(circle at 75% 10%, rgba(43,108,226,.18), transparent 28%), linear-gradient(180deg,#001a3a,#00142e); color:#fff; }
.community-hero { padding: 100px 0 46px; border-bottom:1px solid rgba(125,172,245,.16); }
.community-hero .container-wide { display:flex; gap:30px; align-items:end; justify-content:space-between; }
.community-hero h1,.community-auth h1,.community-compose h1,.community-question h1 { max-width:760px; margin:10px 0; color:#fff; font-size:clamp(2.15rem,5vw,4.8rem); line-height:1.04; }
.community-hero p,.community-auth-copy>p,.community-compose-aside>p { max-width:680px; color:#b9c9df; font-size:1.04rem; line-height:1.75; }
.community-hero-actions { display:flex; flex-wrap:wrap; gap:10px; }
.community-feed-section,.community-replies { padding:58px 0 82px; background:#00142e; }
.community-category-row { display:flex; flex-wrap:wrap; gap:9px; margin:0 0 28px; }
.community-category-row a,.topic-chip,.solution-chip { display:inline-flex; align-items:center; gap:6px; width:max-content; border-radius:999px; padding:7px 11px; text-decoration:none; text-transform:capitalize; font-size:.75rem; font-weight:800; letter-spacing:.02em; }
.community-category-row a,.topic-chip { border:1px solid rgba(140,177,228,.3); background:rgba(21,55,101,.6); color:#d9e7fb; }
.community-category-row a.active,.solution-chip { border-color:rgba(229,169,60,.52); background:rgba(229,169,60,.15); color:#ffd67f; }
.community-feed { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.community-post-card,.community-question,.community-detail-aside,.community-composer-card,.community-auth-card,.member-profile-card,.member-dashboard-main,.community-reply { border:1px solid rgba(139,175,225,.18); border-radius:24px; background:linear-gradient(145deg,rgba(11,43,83,.94),rgba(3,23,52,.96)); box-shadow:0 24px 50px rgba(0,0,0,.18); }
.community-post-main { display:block; min-height:244px; padding:21px; color:inherit; text-decoration:none; }
.community-post-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px; color:#97abc6; font-size:.8rem; }
.community-post-card h2 { margin:15px 0 10px; color:#fff; font-size:1.23rem; line-height:1.28; }
.community-post-card p { margin:0; color:#b7c7db; line-height:1.62; }
.community-post-footer { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-top:22px; color:#9fb2cb; font-size:.82rem; }
.member-identity { color:#e9f1ff; font-weight:700; }
.helper-mark { color:#e9b954; font-size:.75em; }
.community-empty { display:grid; place-items:center; min-height:240px; padding:35px; border:1px dashed rgba(139,175,225,.3); border-radius:24px; text-align:center; color:#aabed6; }
.community-empty i { color:#e5a93c; font-size:2rem; }.community-empty h2,.community-empty h3 { color:#fff; margin:12px 0 5px; }
.community-auth { padding:110px 0 85px; }.community-auth-grid,.community-compose-grid,.member-dashboard-grid,.community-detail-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr); gap:42px; align-items:start; }
.community-auth-copy,.community-compose-aside { padding:45px 0; }.community-safety-list { display:grid; gap:15px; margin:28px 0 0; padding:0; list-style:none; color:#d6e4f4; }.community-safety-list i { width:30px; color:#e5a93c; }
.community-auth-card,.community-composer-card { padding:26px; }.community-auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:22px; padding:5px; border-radius:14px; background:rgba(1,17,40,.75); }.community-auth-tabs a { padding:10px; border-radius:10px; color:#a8bdd9; text-align:center; text-decoration:none; font-weight:800; }.community-auth-tabs a.active { background:#153a70; color:#fff; }
.community-form { display:grid; gap:16px; }.community-form label { display:grid; gap:7px; color:#e6effc; font-size:.87rem; font-weight:750; }.community-form input,.community-form select,.community-form textarea { width:100%; border:1px solid rgba(109,165,240,.58); border-radius:12px; padding:12px 13px; background:#061e3e; color:#f8fbff; font:inherit; outline:none; }.community-form input:focus,.community-form select:focus,.community-form textarea:focus { border-color:#f0bf52; box-shadow:0 0 0 3px rgba(229,169,60,.14); }.community-form select option { background:#061e3e; }.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.community-check { display:flex !important; grid-template-columns:18px 1fr; align-items:start; color:#b8cae1 !important; font-weight:500 !important; }.community-check input { width:16px; height:16px; margin-top:2px; accent-color:#e5a93c; }.form-alert { margin-bottom:16px; padding:12px 14px; border:1px solid rgba(89,214,154,.36); border-radius:12px; background:rgba(30,138,90,.14); color:#b9f0cf; }.form-alert-error { border-color:rgba(255,112,112,.42); background:rgba(161,36,36,.16); color:#ffc3c3; }.community-switch { margin:0; color:#9bb2cf; text-align:center; }.community-switch a,.community-signin-prompt a { color:#f1c45d; font-weight:800; }
.community-compose { padding:100px 0 82px; }.safety-note { display:flex; gap:14px; margin-top:28px; padding:18px; border:1px solid rgba(229,169,60,.28); border-radius:18px; background:rgba(229,169,60,.08); }.safety-note i { color:#e5a93c; font-size:1.3rem; }.safety-note p { margin:4px 0 0; color:#c1d1e4; font-size:.9rem; line-height:1.55; }
.community-detail { padding:100px 0 45px; }.community-question { padding:30px; }.community-question h1 { font-size:clamp(2rem,4vw,3.8rem); }.community-author { color:#a9bdd6; }.community-body { color:#d9e5f2; line-height:1.8; }.community-detail-aside { padding:24px; }.community-detail-aside h2 { color:#fff; font-size:1.3rem; }.community-detail-aside p { color:#b6c7db; line-height:1.65; }.report-box { margin-top:25px; padding:14px; border-top:1px solid rgba(147,180,227,.18); color:#a9bed7; }.report-box summary { cursor:pointer; }.report-box form { display:grid; gap:8px; margin-top:12px; }.report-box select,.report-box textarea { border:1px solid rgba(109,165,240,.45); border-radius:9px; padding:9px; background:#071f40; color:#fff; }
.community-replies-wrap { max-width:920px; }.section-heading h2 { color:#fff; }.community-reply-form { display:grid; gap:14px; margin:22px 0 25px; padding:20px; border:1px solid rgba(139,175,225,.18); border-radius:20px; background:rgba(5,29,61,.86); }.community-reply-form label { display:grid; gap:7px; color:#edf4ff; font-weight:800; }.community-reply-form textarea { border:1px solid rgba(109,165,240,.56); border-radius:12px; padding:12px; background:#061e3e; color:#fff; }.community-signin-prompt { margin:22px 0; padding:18px; border-radius:15px; background:rgba(23,61,110,.55); color:#d8e7fa; }.reply-list { display:grid; gap:15px; }.community-reply { padding:20px; }.community-reply.accepted { border-color:rgba(229,169,60,.55); box-shadow:0 0 0 1px rgba(229,169,60,.15),0 20px 45px rgba(0,0,0,.16); }.reply-author { display:flex; gap:10px; align-items:center; }.reply-author>div { display:grid; }.reply-author small { color:#93abc7; }.reply-author .solution-chip { margin-left:auto; }.member-avatar { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:linear-gradient(145deg,#e8bd61,#b77816); color:#05162e; font-weight:900; }.reply-actions { display:flex; gap:12px; margin-top:15px; }.reply-actions form { margin:0; }.reply-actions button,.link-button { border:0; padding:0; background:transparent; color:#eec361; font:inherit; font-weight:800; cursor:pointer; }
.member-dashboard { padding:100px 0 82px; }.member-dashboard-grid { grid-template-columns:330px minmax(0,1fr); }.member-profile-card,.member-dashboard-main { padding:25px; }.member-avatar-lg { width:66px; height:66px; font-size:1.6rem; }.member-profile-card h1,.member-dashboard-main h2 { margin:15px 0 5px; color:#fff; }.member-profile-card>p { color:#a9bcd4; }.member-profile-form { margin-top:24px; }.member-dashboard-head { display:flex; justify-content:space-between; gap:15px; align-items:center; }.member-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:28px 0; }.member-stats>div { padding:16px; border:1px solid rgba(133,172,224,.18); border-radius:14px; background:rgba(10,42,82,.62); }.member-stats strong { display:block; color:#f5cb6f; font-size:1.35rem; }.member-stats span,.member-post-row span { color:#9fb3cc; font-size:.82rem; }.member-posts h3 { color:#fff; }.member-posts { display:grid; gap:10px; }.member-post-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px; border:1px solid rgba(133,172,224,.15); border-radius:14px; color:#f3f7ff; text-decoration:none; }.member-post-row>div { display:grid; gap:4px; }
@media (max-width: 820px) { .community-hero { padding:86px 0 32px; }.community-hero .container-wide,.community-auth-grid,.community-compose-grid,.community-detail-grid,.member-dashboard-grid { grid-template-columns:1fr; }.community-hero .container-wide { align-items:start; }.community-feed { grid-template-columns:1fr; }.community-auth { padding:80px 0 55px; }.community-auth-copy,.community-compose-aside { padding:0; }.community-auth-card,.community-composer-card,.community-question,.community-detail-aside,.member-profile-card,.member-dashboard-main { padding:19px; border-radius:19px; }.field-grid,.member-stats { grid-template-columns:1fr; }.community-compose,.community-detail,.member-dashboard { padding:82px 0 56px; }.community-question h1 { font-size:2.08rem; }.community-post-main { min-height:auto; }.community-post-footer,.member-dashboard-head,.member-post-row { align-items:flex-start; flex-direction:column; }.community-reply { padding:16px; }.community-category-row { flex-wrap:nowrap; overflow:auto; padding-bottom:5px; }.community-category-row a { white-space:nowrap; }.mobile-bottom { z-index:20; } }
@media (max-width: 960px) { body.admin-body .admin-shell { grid-template-columns: 1fr; } body.admin-body .admin-side { position: sticky; z-index: 30; top: 0; height: auto; padding: 10px 14px; } body.admin-body .admin-side .brand { margin: 0 7px 9px; } body.admin-body .admin-side nav { display: flex; overflow-x: auto; padding-bottom: 4px; } body.admin-body .admin-side nav a { flex: 0 0 auto; min-height: 36px; padding: 8px 10px; font-size: .78rem; } body.admin-body .admin-signout { display: none; } }
@media (max-width: 640px) { body.admin-body .admin-main { padding: 18px 14px 30px; } body.admin-body .admin-top { display: grid; gap: 12px; } body.admin-body .admin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } body.admin-body .admin-card { padding: 15px; border-radius: 14px; } body.admin-body .admin-toolbar { grid-template-columns: 1fr; align-items: stretch; } body.admin-body .admin-toolbar .btn-small { width: 100%; min-height: 40px; } body.admin-body .enquiry-card-top { display: grid; } body.admin-body .enquiry-card time { white-space: normal; } }


/* Full-site 3D motion system — cPanel Laravel public experience */
:root {
  --motion-ease: cubic-bezier(.23, 1, .32, 1);
  --motion-ease-spring: cubic-bezier(.16, 1, .3, 1);
  --surface-void: #000f23;
  --surface-deep: #00152d;
  --surface-card: #06274b;
  --surface-card-alt: #0a3159;
  --line-gold: rgba(229,169,60,.32);
}
body:not(.admin-body) { overflow-x: hidden; }
body.modal-open { overflow: hidden; }

/* Shared pointer-lit card surface. */
body:not(.admin-body) [data-3d-card] {
  --card-rx: 0deg;
  --card-ry: 0deg;
  --card-mx: 50%;
  --card-my: 50%;
  position: relative;
  isolation: isolate;
  transform: perspective(1200px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) translate3d(0,0,0);
  transform-style: preserve-3d;
  will-change: transform;
  backface-visibility: hidden;
  transition: transform .48s var(--motion-ease), border-color .32s ease, box-shadow .48s var(--motion-ease), background .32s ease;
}
body:not(.admin-body) [data-3d-card]::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(circle at var(--card-mx) var(--card-my), rgba(229,169,60,.22), transparent 32%), linear-gradient(135deg, rgba(255,255,255,.055), transparent 38%);
  opacity: .65;
  transition: opacity .4s ease;
}
body:not(.admin-body) [data-3d-card]::after {
  content: '';
  position: absolute;
  inset: 10px;
  z-index: 0;
  border: 1px solid rgba(137,184,255,.08);
  border-radius: inherit;
  pointer-events: none;
  transform: translateZ(2px);
  opacity: .8;
}
body:not(.admin-body) [data-3d-card] > * { position: relative; z-index: 1; }
body:not(.admin-body) [data-3d-card] .icon-tile,
body:not(.admin-body) [data-3d-card] .service-icon,
body:not(.admin-body) [data-3d-card] .reference-icon,
body:not(.admin-body) [data-3d-card] .card-visual,
body:not(.admin-body) [data-3d-card] .detail-orbit {
  transform: translateZ(34px);
  transition: transform .5s var(--motion-ease), box-shadow .5s var(--motion-ease);
}
body:not(.admin-body) [data-3d-card] .card-body,
body:not(.admin-body) [data-3d-card] .reference-card-body,
body:not(.admin-body) [data-3d-card] .detail-copy-inner { transform: translateZ(18px); }
body:not(.admin-body) [data-3d-card]:hover,
body:not(.admin-body) [data-3d-card].is-tilting,
body:not(.admin-body) [data-3d-card]:focus-visible {
  border-color: rgba(229,169,60,.68);
  box-shadow: 0 32px 70px rgba(0,0,0,.42), 0 0 0 1px rgba(229,169,60,.08), 0 0 40px rgba(62,139,255,.10);
}
body:not(.admin-body) [data-3d-card]:hover .icon-tile,
body:not(.admin-body) [data-3d-card].is-tilting .icon-tile,
body:not(.admin-body) [data-3d-card]:hover .service-icon,
body:not(.admin-body) [data-3d-card].is-tilting .service-icon { transform: translateZ(48px) rotate(-4deg) scale(1.04); box-shadow: 0 14px 24px rgba(0,0,0,.24); }

/* Subject cues are abstract, CSS-driven, and image-independent. */
[data-card-tone="digital"] { --tone-a: #215ef3; --tone-b: #7b5cff; }
[data-card-tone="people"] { --tone-a: #c87b2b; --tone-b: #efc36c; }
[data-card-tone="build"] { --tone-a: #ce7136; --tone-b: #8d3e25; }
[data-card-tone="hospitality"] { --tone-a: #b3478a; --tone-b: #ee9bc5; }
[data-card-tone="furniture"] { --tone-a: #6d4c35; --tone-b: #d09a62; }
[data-card-tone="media"] { --tone-a: #32a9b6; --tone-b: #8fe4dd; }
[data-card-tone="aquatic"] { --tone-a: #1268b3; --tone-b: #61d7e9; }
[data-card-tone] .card-visual,
[data-card-tone] .reference-card-image,
[data-card-tone] .detail-visual {
  background: radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--tone-b) 46%, transparent), transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--tone-a) 78%, #00152d), #00152d 72%);
}
[data-card-tone] .card-visual::after,
[data-card-tone] .detail-visual::after {
  content: '';
  position: absolute;
  inset: 16% 12%;
  border: 1px solid color-mix(in srgb, var(--tone-b) 48%, transparent);
  border-radius: 42% 58% 54% 46%;
  transform: rotate(-14deg) translateZ(18px);
  box-shadow: inset 0 0 26px color-mix(in srgb, var(--tone-a) 45%, transparent), 0 0 30px color-mix(in srgb, var(--tone-b) 18%, transparent);
  opacity: .8;
  pointer-events: none;
}

/* Reveal layers are separate from the existing section reveal system. */
[data-motion-reveal] { opacity: 0; transform: translateY(28px) rotateX(5deg); transform-origin: center top; transition: opacity .7s var(--motion-ease), transform .7s var(--motion-ease); }
[data-motion-reveal].is-visible { opacity: 1; transform: translateY(0) rotateX(0); }
[data-motion-stagger] > * { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--motion-ease), transform .6s var(--motion-ease); }
[data-motion-stagger].is-visible > * { opacity: 1; transform: translateY(0); }
[data-motion-stagger].is-visible > :nth-child(2) { transition-delay: 70ms; }
[data-motion-stagger].is-visible > :nth-child(3) { transition-delay: 140ms; }
[data-motion-stagger].is-visible > :nth-child(4) { transition-delay: 210ms; }
[data-motion-stagger].is-visible > :nth-child(5) { transition-delay: 280ms; }
[data-motion-stagger].is-visible > :nth-child(6) { transition-delay: 350ms; }
[data-motion-stagger].is-visible > :nth-child(7) { transition-delay: 420ms; }
[data-motion-stagger].is-visible > :nth-child(8) { transition-delay: 490ms; }

/* Every internal route receives a dimensional hero and a readable visual anchor. */
body:not(.admin-body) .page-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(circle at 72% 16%, rgba(62,139,255,.14), transparent 30%), linear-gradient(135deg, #001b3d 0%, #00152d 58%, #000f23 100%);
}
body:not(.admin-body) .page-hero::before,
body:not(.admin-body) .page-hero::after { content: ''; position: absolute; pointer-events: none; z-index: -1; }
body:not(.admin-body) .page-hero::before { width: 360px; height: 360px; right: 8%; top: -160px; border: 1px solid rgba(229,169,60,.28); border-radius: 50%; box-shadow: 0 0 0 22px rgba(229,169,60,.03), 0 0 0 54px rgba(62,139,255,.04); animation: pageOrbit 14s linear infinite; }
body:not(.admin-body) .page-hero::after { width: 170px; height: 170px; right: 18%; bottom: -108px; border-radius: 50%; background: radial-gradient(circle, rgba(229,169,60,.18), transparent 68%); filter: blur(2px); }
.detail-page-section { position: relative; overflow: hidden; }
.detail-page-section::before { content: ''; position: absolute; width: 300px; height: 300px; right: -120px; top: 15%; border: 1px solid rgba(62,139,255,.14); border-radius: 50%; transform: rotate(24deg); pointer-events: none; }
.detail-shell-3d { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .75fr); gap: 26px; align-items: start; perspective: 1400px; }
.detail-visual { position: relative; min-height: 260px; overflow: hidden; border-radius: 22px; border: 1px solid rgba(229,169,60,.22); display: grid; place-items: center; isolation: isolate; }
.detail-visual::before { content: ''; position: absolute; inset: 18%; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; transform: rotateX(64deg) rotateZ(-18deg); box-shadow: 0 0 32px rgba(229,169,60,.12); animation: detailRing 9s linear infinite; }
.detail-visual::after { z-index: 0; }
.detail-visual .detail-visual-core { position: relative; z-index: 2; width: 106px; height: 106px; display: grid; place-items: center; border: 1px solid rgba(229,169,60,.7); border-radius: 30% 70% 52% 48%; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.17), rgba(0,15,35,.35) 58%); color: var(--gold-light); font-size: 2.35rem; box-shadow: 0 0 0 12px rgba(229,169,60,.05), 0 18px 34px rgba(0,0,0,.3); transform: translateZ(42px) rotate(-8deg); animation: coreFloat 5.8s ease-in-out infinite; }
.detail-copy { min-width: 0; }
.detail-copy-inner { position: relative; z-index: 1; }
.detail-copy h2 { color: #fff; margin-bottom: 14px; }
.detail-copy p { white-space: pre-line; }
.detail-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
.detail-feature { min-height: 122px; padding: 18px; border: 1px solid rgba(229,169,60,.18); border-radius: 16px; background: linear-gradient(145deg, rgba(9,49,89,.72), rgba(0,21,45,.76)); transform-style: preserve-3d; }
.detail-feature i { display: inline-grid; place-items: center; width: 32px; height: 32px; margin-bottom: 10px; border-radius: 10px; color: var(--gold); background: rgba(229,169,60,.12); }
.detail-feature strong { display: block; color: #fff; font-size: .92rem; }
.detail-feature span { display: block; color: var(--muted); font-size: .76rem; line-height: 1.45; margin-top: 5px; }
.detail-steps { display: grid; gap: 12px; margin-top: 24px; }
.detail-step { display: grid; grid-template-columns: 44px 1fr; gap: 13px; align-items: start; padding: 14px; border-left: 2px solid rgba(229,169,60,.52); background: rgba(0,15,35,.3); }
.detail-step-number { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: var(--gold); border: 1px solid rgba(229,169,60,.42); background: rgba(229,169,60,.08); font-weight: 800; }
.detail-step h3 { color: #fff; font-size: .96rem; margin: 0 0 4px; }
.detail-step p { color: var(--muted); font-size: .82rem; margin: 0; line-height: 1.5; }
.detail-aside { position: sticky; top: 94px; }
.detail-aside .side-card { background: linear-gradient(155deg, rgba(9,49,89,.96), rgba(0,21,45,.92)); }
.detail-aside .side-card .mini-orbit { position: relative; width: 92px; height: 92px; margin: 0 auto 20px; border: 1px solid rgba(229,169,60,.42); border-radius: 50%; display: grid; place-items: center; color: var(--gold); }
.detail-aside .mini-orbit::before, .detail-aside .mini-orbit::after { content: ''; position: absolute; inset: 10px -8px; border: 1px solid rgba(62,139,255,.34); border-radius: 50%; transform: rotate(58deg); animation: miniOrbit 7s linear infinite; }
.detail-aside .mini-orbit::after { inset: -8px 10px; transform: rotate(-46deg); border-color: rgba(229,169,60,.28); animation-direction: reverse; }
.detail-aside h3 { color: #fff; }
.detail-aside p { color: var(--muted) !important; }
.detail-related { padding-top: 10px; }
.detail-related .section-head { margin-bottom: 20px; }
.detail-related .card { min-height: 220px; }
.detail-empty { text-align: center; padding: 44px 24px; border: 1px dashed rgba(229,169,60,.34); border-radius: 22px; background: radial-gradient(circle at 50% 0%, rgba(229,169,60,.08), transparent 42%), rgba(0,21,45,.68); }
.detail-empty i { color: var(--gold); font-size: 2rem; margin-bottom: 14px; }
.detail-empty h3 { color: #fff; margin-bottom: 8px; }
.detail-empty p { max-width: 540px; margin: 0 auto 18px; color: var(--muted); }

/* Detail breadcrumbs and route-aware interaction affordances. */
.breadcrumb-3d { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 16px; font-size: .78rem; color: rgba(226,232,240,.68); }
.breadcrumb-3d a { color: var(--gold); }
.breadcrumb-3d i { font-size: .65rem; opacity: .65; }
.route-signal { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 999px; color: var(--gold-light); background: rgba(229,169,60,.09); border: 1px solid rgba(229,169,60,.18); font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.route-signal::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(229,169,60,.09); animation: signalPulse 2.3s ease-in-out infinite; }

/* Motion-aware modal used for quick route previews and notices. */
[data-motion-modal] { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 20px; background: rgba(0,8,20,.78); backdrop-filter: blur(14px); opacity: 0; transition: opacity .28s ease; }
[data-motion-modal][hidden] { display: none; }
[data-motion-modal].is-open { opacity: 1; }
.motion-modal-panel { width: min(620px, 100%); max-height: min(720px, calc(100vh - 40px)); overflow: auto; padding: 28px; border: 1px solid rgba(229,169,60,.28); border-radius: 24px; color: #fff; background: linear-gradient(145deg, #082f57, #00152d 72%); box-shadow: 0 34px 100px rgba(0,0,0,.55); transform: translateY(18px) scale(.97) rotateX(4deg); transition: transform .42s var(--motion-ease); }
[data-motion-modal].is-open .motion-modal-panel { transform: translateY(0) scale(1) rotateX(0); }
.motion-modal-panel h2 { margin: 0 0 8px; color: #fff; }
.motion-modal-panel p { color: var(--muted); }
.motion-modal-close { float: right; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; color: #fff; background: rgba(255,255,255,.06); }

/* Footer depth without competing with links. */
body:not(.admin-body) .footer-grid > div { transform: translateZ(0); transition: transform .4s var(--motion-ease), opacity .4s ease; }
body:not(.admin-body) .footer-grid > div:hover { transform: translateY(-5px); }
body:not(.admin-body) .footer .brand-mark { transition: transform .42s var(--motion-ease), box-shadow .42s ease; }
body:not(.admin-body) .footer .brand:hover .brand-mark { transform: rotate(-7deg) translateZ(12px); box-shadow: 0 0 0 7px rgba(229,169,60,.08); }

@keyframes pageOrbit { to { transform: rotate(360deg); } }
@keyframes detailRing { to { transform: rotateX(64deg) rotateZ(342deg); } }
@keyframes miniOrbit { to { transform: rotate(360deg); } }
@keyframes coreFloat { 0%,100% { transform: translateZ(42px) rotate(-8deg) translateY(0); } 50% { transform: translateZ(42px) rotate(3deg) translateY(-7px); } }
@keyframes signalPulse { 0%,100% { opacity: .6; } 50% { opacity: 1; box-shadow: 0 0 0 7px rgba(229,169,60,.14); } }

@media (max-width: 900px) {
  .detail-shell-3d { grid-template-columns: 1fr; }
  .detail-aside { position: static; }
  .detail-feature-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 640px) {
  body:not(.admin-body) [data-3d-card] { transition-duration: .34s; }
  body:not(.admin-body) [data-3d-card]::after { inset: 7px; }
  .detail-shell-3d { gap: 16px; }
  .detail-visual { min-height: 190px; border-radius: 18px; }
  .detail-visual .detail-visual-core { width: 82px; height: 82px; font-size: 1.7rem; }
  .detail-feature-grid { grid-template-columns: 1fr; gap: 10px; }
  .detail-feature { min-height: 0; padding: 13px; }
  .detail-step { grid-template-columns: 36px 1fr; gap: 10px; padding: 11px; }
  .detail-step-number { width: 32px; height: 32px; font-size: .78rem; }
  .detail-aside .side-card { padding: 18px; }
  .motion-modal-panel { padding: 20px; border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body:not(.admin-body) [data-3d-card],
  body:not(.admin-body) [data-3d-card]:hover,
  body:not(.admin-body) [data-3d-card].is-tilting { transform: none; transition: border-color .2s ease, box-shadow .2s ease; }
  body:not(.admin-body) [data-3d-card]::before { opacity: .35; }
  [data-motion-reveal], [data-motion-stagger] > * { opacity: 1; transform: none; transition: none; }
  .page-hero::before, .detail-visual::before, .detail-aside .mini-orbit::before, .detail-aside .mini-orbit::after, .detail-visual .detail-visual-core, .route-signal::before { animation: none; }
}


/* Archive and content-specific 3D compositions. */
.archive-card { min-height: 420px; padding: 14px; }
.archive-card .card-visual { position: relative; min-height: 166px; margin: -14px -14px 20px; border-radius: 19px 19px 12px 12px; overflow: hidden; display: grid; place-items: center; isolation: isolate; }
.archive-visual { background: linear-gradient(145deg, #08345f, #00152d); }
.archive-visual-icon { position: relative; z-index: 2; width: 82px; height: 82px; display: grid; place-items: center; color: var(--gold-light); border: 1px solid rgba(229,169,60,.58); border-radius: 28% 72% 45% 55%; background: rgba(0,15,35,.4); box-shadow: 0 0 0 13px rgba(229,169,60,.05), 0 14px 30px rgba(0,0,0,.32); font-size: 1.8rem; transform: translateZ(40px) rotate(-7deg); transition: transform .5s var(--motion-ease), color .4s ease; }
.archive-card:hover .archive-visual-icon { transform: translateZ(58px) rotate(6deg) scale(1.08); color: #fff4c9; }
.archive-index { position: absolute; z-index: 2; left: 16px; bottom: 13px; color: rgba(255,255,255,.55); font-weight: 800; letter-spacing: .12em; font-size: .7rem; }
.card-depth-grid { position: absolute; inset: 0; z-index: 1; opacity: .68; background-image: linear-gradient(rgba(137,184,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(137,184,255,.12) 1px, transparent 1px); background-size: 24px 24px; transform: perspective(300px) rotateX(55deg) translateY(24%); transform-origin: bottom center; mask-image: linear-gradient(to top, #000, transparent 78%); }
.card-depth-grid::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--tone-b, var(--gold)) 30%, transparent), transparent 48%); }
.archive-card h3 { min-height: 2.5em; }
.archive-card .card-meta { min-height: 28px; }
.article-reading-body { color: #d8e4f6; font-size: 1.02rem; line-height: 1.9; white-space: pre-line; }
.article-reading-body::first-letter { color: var(--gold-light); font-size: 3.6rem; line-height: .8; float: left; padding: 8px 8px 0 0; font-family: 'Playfair Display', serif; }
.stat-row { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: 24px; }
.stat-row .stat { min-height: 90px; display: flex; flex-direction: column; justify-content: center; padding: 14px; border-radius: 14px; border: 1px solid rgba(229,169,60,.18); background: linear-gradient(145deg, rgba(9,49,89,.8), rgba(0,21,45,.82)); }
.stat-row .stat strong { color: var(--gold-light); font-size: 1.45rem; line-height: 1; }
.stat-row .stat span { margin-top: 8px; color: var(--muted); font-size: .72rem; line-height: 1.35; }
.detail-contact-visual { min-height: 170px; margin-bottom: 22px; }
.contact-box[data-3d-card] { padding: 24px; border-radius: 20px; border: 1px solid rgba(229,169,60,.22); background: linear-gradient(145deg, rgba(7,44,81,.95), rgba(0,21,45,.92)); }
.contact-box[data-3d-card] h2 { color: #fff; font-size: 1.5rem; }
.contact-line { position: relative; z-index: 1; display: flex; align-items: flex-start; gap: 11px; margin-top: 15px; color: var(--muted); }
.contact-line > i { flex: 0 0 18px; margin-top: 3px; color: var(--gold); }
.contact-line a { color: #d9e8ff; }
.why-card { position: relative; overflow: hidden; }
.why-card small { display: block; margin-top: 5px; color: var(--muted); font-size: .74rem; line-height: 1.4; }
.stats-grid > div { position: relative; overflow: hidden; }
.stats-grid > div::after { content: ''; position: absolute; width: 100px; height: 100px; right: -30px; bottom: -42px; border: 1px solid rgba(229,169,60,.2); border-radius: 50%; pointer-events: none; }
.reference-service-tile[data-3d-card] { background: linear-gradient(145deg, rgba(8,48,88,.94), rgba(0,21,45,.92)); }
.reference-service-tile[data-3d-card] > * { position: relative; z-index: 1; }
.career-feature-card[data-3d-card] { overflow: hidden; transform-style: preserve-3d; }
.career-feature-card[data-3d-card]::before { z-index: 2; mix-blend-mode: screen; }
.career-feature-card[data-3d-card] .career-feature-copy { transform: translateZ(24px); }
.job-circular-card[data-3d-card] { background: linear-gradient(145deg, rgba(7,44,81,.95), rgba(0,21,45,.9)); }
.news-card[data-3d-card] { background: linear-gradient(145deg, rgba(7,44,81,.94), rgba(0,21,45,.88)); }
.reference-business-card[data-3d-card] .reference-card-overlay { z-index: 1; }
.reference-business-card[data-3d-card] .reference-card-image img { transform: translateZ(10px) scale(1.02); transition: transform .7s var(--motion-ease), filter .7s ease; }
.reference-business-card[data-3d-card]:hover .reference-card-image img { transform: translateZ(22px) scale(1.08); filter: saturate(1.12) contrast(1.04); }

@media (max-width: 640px) {
  .archive-card { min-height: 0; padding: 11px; }
  .archive-card .card-visual { min-height: 128px; margin: -11px -11px 15px; border-radius: 15px 15px 10px 10px; }
  .archive-visual-icon { width: 62px; height: 62px; font-size: 1.35rem; }
  .archive-card h3 { min-height: 0; font-size: .92rem; }
  .article-reading-body { font-size: .92rem; line-height: 1.75; }
  .article-reading-body::first-letter { font-size: 2.8rem; }
  .stat-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .contact-box[data-3d-card] { padding: 17px; }
  .detail-contact-visual { min-height: 128px; }
}

/* A-to-Z review: restore high-contrast hierarchy for headings on dark-normalized homepage surfaces. */
.home-shell .reference-light h2,
.home-shell .reference-light h3,
.home-shell .section-heading-row h2,
.home-shell .section-heading-center h2,
.home-shell .reference-business-card h3 {
  color: #f4f7fb;
}
.home-shell .reference-light .section-kicker,
.home-shell .reference-dark .section-kicker {
  color: #f0bf55;
}
.home-shell .section-heading-center h2::after {
  background: linear-gradient(90deg, #e5a93c, #f6d184);
}

/* Universal public-card depth pass and the dedicated recruitment form experience. */
body:not(.admin-body) [data-3d-card].is-touching {
  transition-duration: .16s;
  box-shadow: 0 20px 48px rgba(0,0,0,.4), 0 0 0 1px rgba(229,169,60,.24), 0 0 32px rgba(62,139,255,.14);
}
body:not(.admin-body) [data-3d-card] .detail-feature,
body:not(.admin-body) [data-3d-card] .stat,
body:not(.admin-body) [data-3d-card] .timeline-content,
body:not(.admin-body) [data-3d-card] .career-feature-copy,
body:not(.admin-body) [data-3d-card] .news-card > *,
body:not(.admin-body) [data-3d-card] .job-circular-card > * {
  transform: translateZ(16px);
}
body:not(.admin-body) [data-3d-card]:hover .detail-feature,
body:not(.admin-body) [data-3d-card].is-tilting .detail-feature,
body:not(.admin-body) [data-3d-card]:hover .career-feature-copy,
body:not(.admin-body) [data-3d-card].is-tilting .career-feature-copy {
  transform: translateZ(28px);
}
.career-form-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin: 8px 0 2px;
  padding: 5px 8px;
  border: 1px solid rgba(229,169,60,.32);
  border-radius: 999px;
  color: #f7d37d;
  background: rgba(0,15,35,.34);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.career-feature-card:hover .career-form-tag { border-color: rgba(229,169,60,.72); background: rgba(229,169,60,.12); }
.recruitment-page-hero { background: radial-gradient(circle at 78% 22%, rgba(229,169,60,.18), transparent 22%), linear-gradient(135deg, #001b3d 0%, #00152d 58%, #000f23 100%); }
.recruitment-form-layout { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: 26px; align-items: start; perspective: 1400px; }
.recruitment-form-aside,
.recruitment-form-card { border: 1px solid rgba(229,169,60,.22); border-radius: 22px; background: linear-gradient(145deg, rgba(8,48,88,.95), rgba(0,21,45,.94)); }
.recruitment-form-aside { padding: 24px; position: sticky; top: 94px; }
.recruitment-form-aside h2,
.recruitment-form-card h2 { color: #fff; }
.recruitment-form-aside p,
.recruitment-form-intro { color: #b9c9dd; line-height: 1.65; }
.recruitment-form-visual { min-height: 164px; }
.recruitment-form-steps { display: grid; gap: 10px; margin: 20px 0; padding: 0; list-style: none; counter-reset: recruitment-step; }
.recruitment-form-steps li { position: relative; min-height: 38px; padding: 9px 8px 9px 46px; border-radius: 10px; color: #dce9f8; background: rgba(255,255,255,.04); font-size: .82rem; line-height: 1.45; counter-increment: recruitment-step; }
.recruitment-form-steps li::before { content: counter(recruitment-step); position: absolute; inset: 8px auto auto 8px; width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid rgba(229,169,60,.5); border-radius: 50%; color: var(--gold); font-size: .72rem; font-weight: 800; }
.recruitment-form-card { padding: 30px; }
.recruitment-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px 16px; }
.recruitment-form-grid .form-group { margin: 0; }
.recruitment-form-grid .form-group-wide { grid-column: 1 / -1; }
.recruitment-form-card .form-label,
.recruitment-form-card .form-check-label { color: #e7f0fb; font-weight: 650; font-size: .84rem; }
.recruitment-form-card .form-control,
.recruitment-form-card .form-select { min-height: 46px; color: #f3f7fc; background: rgba(0,15,35,.54); border-color: rgba(137,184,255,.24); }
.recruitment-form-card textarea.form-control { min-height: 130px; }
.recruitment-form-card .form-control::file-selector-button { margin: -6px 12px -6px -12px; padding: 13px 14px; border: 0; color: #00152d; background: linear-gradient(135deg, #f0c059, #e5a93c); font-weight: 700; }
.recruitment-form-card .form-control:focus,
.recruitment-form-card .form-select:focus { color: #fff; background: rgba(0,21,45,.88); border-color: rgba(229,169,60,.78); box-shadow: 0 0 0 .22rem rgba(229,169,60,.13); }
.recruitment-form-card .form-select option { color: #15243a; background: #f8fbff; }
.recruitment-form-card .form-text { color: #a9bad0; }
.recruitment-form-card .form-check { padding: 12px 14px 12px 38px; border: 1px solid rgba(137,184,255,.18); border-radius: 12px; background: rgba(255,255,255,.035); }
.recruitment-form-card .form-check-input { margin-left: -24px; }
@media (max-width: 800px) {
  .recruitment-form-layout { grid-template-columns: 1fr; gap: 16px; }
  .recruitment-form-aside { position: static; padding: 18px; }
}
@media (max-width: 640px) {
  .recruitment-form-card { padding: 18px; border-radius: 18px; }
  .recruitment-form-grid { grid-template-columns: 1fr; gap: 13px; }
  .recruitment-form-grid .form-group-wide { grid-column: auto; }
  .career-form-tag { font-size: .54rem; padding: 4px 7px; }
}


/* Hero copy-only lower positioning; globe geometry and interaction remain unchanged */
@media (min-width: 641px) {
  .home-shell .hero-grid { padding-bottom: 30px; }
}
@media (max-width: 640px) {
  .home-shell .hero-copy { bottom: 48px; }
}


/* Mobile globe visibility correction: keep the live globe above the copy group */
@media (max-width: 640px) {
  .home-shell .reference-hero {
    height: 700px;
    min-height: 700px;
    padding-top: 66px;
  }
  .home-shell .hero-grid {
    min-height: 100%;
    padding-top: 0;
    padding-bottom: 0;
  }
  .home-shell .hero-globe-wrap {
    top: 2%;
    right: -14%;
    left: auto;
    width: 128%;
    height: 44%;
    min-height: 0;
    transform: none;
    z-index: 1;
  }
  .home-shell .hero-copy {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 34px;
    margin: 0;
    z-index: 5;
    background: linear-gradient(180deg, rgba(0,16,42,.08) 0%, rgba(0,16,42,.94) 22%, rgba(0,16,42,.99) 100%);
    padding: 12px 0 0;
    border-radius: 12px;
  }
  .home-shell .scroll-cue {
    top: 47%;
    bottom: auto;
  }
}

/* Mobile Careers: preserve the live image treatment while placing every text layer above a readable dark gradient. */
@media (max-width: 640px) {
  .home-shell .career-card-grid { grid-template-columns: 1fr; gap: 14px; }
  .home-shell .career-feature-card {
    min-height: 338px;
    border-radius: 16px;
    isolation: isolate;
    box-shadow: 0 16px 34px rgba(0,0,0,.34), 0 0 0 1px rgba(229,169,60,.16);
  }
  .home-shell .career-feature-card > img {
    filter: brightness(.63) saturate(1.05) contrast(1.06);
    transform: scale(1.035);
  }
  .home-shell .career-feature-overlay {
    z-index: 2;
    opacity: 1;
    background: linear-gradient(180deg, rgba(0,16,42,.08) 0%, rgba(0,16,42,.22) 24%, rgba(0,16,42,.88) 58%, rgba(0,12,31,.98) 100%);
  }
  .home-shell .career-feature-copy {
    z-index: 5 !important;
    padding: 22px 19px 19px;
    transform: translateZ(30px) !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.72);
  }
  .home-shell .career-feature-copy small {
    display: block;
    color: #f5cb65 !important;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .08em;
  }
  .home-shell .career-feature-copy h3 {
    display: block;
    margin: 8px 0 7px;
    color: #fff !important;
    font-size: 1.12rem;
    line-height: 1.16;
  }
  .home-shell .career-feature-copy p {
    display: block !important;
    min-height: 0;
    margin: 0 0 13px;
    color: #e6f0fd !important;
    font-size: .78rem;
    line-height: 1.52;
    opacity: 1 !important;
  }
  .home-shell .career-form-tag {
    margin: 7px 0 1px;
    padding: 5px 9px;
    color: #fff0bd;
    border-color: rgba(245,203,101,.58);
    background: rgba(0,17,43,.62);
    font-size: .59rem;
  }
  .home-shell .career-feature-copy .btn-card {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 9px 12px;
    color: #00152d;
    background: linear-gradient(135deg, #f5ca65, #e5a93c);
    border: 0;
    border-radius: 9px;
    box-shadow: 0 8px 18px rgba(0,0,0,.24);
    font-size: .68rem;
    font-weight: 800;
    text-shadow: none;
  }
}

/* Recruitment form polish: stronger field boundaries and a clearer reading sequence on every viewport. */
.recruitment-form-card {
  box-shadow: 0 26px 64px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.055);
}
.recruitment-form-card .section-kicker { color: #f3c45e; }
.recruitment-form-card .form-group { position: relative; }
.recruitment-form-card .form-label {
  display: block;
  margin: 0 0 7px;
  color: #f2f7ff;
  font-size: .78rem;
  letter-spacing: .012em;
}
.recruitment-form-card .form-control,
.recruitment-form-card .form-select {
  min-height: 52px;
  padding: 12px 13px;
  color: #f7fbff;
  background: linear-gradient(135deg, rgba(1,19,45,.92), rgba(5,33,68,.78));
  border: 1px solid rgba(137,184,255,.34);
  border-radius: 11px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 6px 14px rgba(0,0,0,.12);
}
.recruitment-form-card .form-control::placeholder { color: #93a9c3; opacity: 1; }
.recruitment-form-card textarea.form-control { min-height: 148px; padding-top: 13px; }
.recruitment-form-card .form-control:hover,
.recruitment-form-card .form-select:hover { border-color: rgba(229,169,60,.48); }
.recruitment-form-card .form-control:focus,
.recruitment-form-card .form-select:focus {
  border-color: #edbc4f;
  box-shadow: 0 0 0 .24rem rgba(229,169,60,.16), inset 0 1px 0 rgba(255,255,255,.06);
}
.recruitment-form-card .form-check {
  margin-top: 2px;
  padding: 14px 15px 14px 42px;
  border-color: rgba(229,169,60,.24);
  background: linear-gradient(135deg, rgba(229,169,60,.1), rgba(255,255,255,.035));
}
.recruitment-form-card .form-check-label { line-height: 1.48; }
.recruitment-form-card .btn-gold { min-height: 50px; padding: 12px 18px; border-radius: 11px; font-weight: 800; }
@media (max-width: 640px) {
  .recruitment-form-section { padding-top: 30px; }
  .recruitment-form-aside { padding: 18px; border-radius: 16px; }
  .recruitment-form-visual { min-height: 132px; }
  .recruitment-form-aside h2 { font-size: 1.26rem; }
  .recruitment-form-aside p { font-size: .84rem; }
  .recruitment-form-steps { gap: 8px; margin: 16px 0; }
  .recruitment-form-card { padding: 20px 16px; border-radius: 17px; }
  .recruitment-form-card h2 { font-size: 1.28rem; }
  .recruitment-form-intro { margin-bottom: 2px; font-size: .84rem; }
  .recruitment-form-grid { gap: 16px; }
  .recruitment-form-card .form-control,
  .recruitment-form-card .form-select { min-height: 54px; font-size: .95rem; }
  .recruitment-form-card .form-label { margin-bottom: 8px; font-size: .82rem; }
  .recruitment-form-card textarea.form-control { min-height: 156px; }
  .recruitment-form-card .btn-gold { width: 100%; justify-content: center; font-size: .94rem; }
}

/* Business-specific live card layers: visual motion only, never an overlay over the card link. */
.business-live-layer {
  position: absolute;
  inset: 0;
  z-index: 3;
  overflow: hidden;
  pointer-events: none;
  opacity: .95;
  transition: opacity .3s ease, filter .3s ease;
}
.business-live-layer > span { position: absolute; display: block; }
.reference-card-image .business-live-layer { border-radius: inherit; }
.archive-visual .business-live-layer { border-radius: inherit; }
.reference-icon, .reference-badge, .archive-visual-icon, .archive-index { position: relative; z-index: 6; }
.reference-business-card:hover .business-live-layer,
.reference-business-card:focus-visible .business-live-layer,
.archive-card:hover .business-live-layer,
.archive-card:focus-visible .business-live-layer { opacity: 1; filter: saturate(1.16) brightness(1.08); }

/* NSAR: active AI core, scanning signal, and linked service/data nodes. */
.business-live--nsar { background: radial-gradient(circle at 52% 46%, rgba(72,148,255,.15), transparent 34%); }
.live-ai-core { left: 50%; top: 44%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border: 1px solid rgba(128,200,255,.9); border-radius: 14px; background: radial-gradient(circle, rgba(119,198,255,.92) 0 10%, rgba(34,111,255,.35) 12% 36%, transparent 39%); box-shadow: 0 0 0 10px rgba(61,123,255,.08), 0 0 28px rgba(79,166,255,.55); transform: rotate(15deg); }
.live-ai-core::before, .live-ai-core::after { content: ''; position: absolute; background: rgba(204,238,255,.88); border-radius: 2px; }
.live-ai-core::before { width: 3px; height: 22px; left: 20px; top: 10px; }
.live-ai-core::after { width: 22px; height: 3px; left: 10px; top: 20px; }
.live-ai-core span { inset: 13px; border: 1px solid rgba(255,255,255,.55); border-radius: 8px; }
.live-ai-scan { left: 9%; right: 9%; top: 16%; height: 1px; background: linear-gradient(90deg, transparent, rgba(118,213,255,.9), transparent); box-shadow: 0 0 12px rgba(118,213,255,.7); }
.live-ai-node { width: 8px; height: 8px; border: 1px solid rgba(172,224,255,.9); border-radius: 50%; background: #4ca8ff; box-shadow: 0 0 10px #4ca8ff; }
.live-ai-node-a { left: 16%; top: 28%; }.live-ai-node-b { right: 16%; top: 24%; }.live-ai-node-c { left: 23%; bottom: 20%; }.live-ai-node-d { right: 22%; bottom: 18%; }
.live-ai-link { height: 1px; transform-origin: left center; background: linear-gradient(90deg, rgba(111,207,255,.05), rgba(111,207,255,.9), rgba(111,207,255,.04)); box-shadow: 0 0 6px rgba(111,207,255,.5); }
.live-ai-link-a { left: 19%; top: 31%; width: 33%; transform: rotate(24deg); }.live-ai-link-b { left: 50%; top: 43%; width: 31%; transform: rotate(-29deg); }.live-ai-link-c { left: 27%; bottom: 24%; width: 25%; transform: rotate(-28deg); }

/* Manpower: friendly, collaborative team energy without attempting photoreal human animation. */
.business-live--manpower { background: radial-gradient(circle at 52% 64%, rgba(255,195,91,.18), transparent 45%); }
.live-person { width: 22px; height: 22px; border-radius: 50%; background: linear-gradient(135deg, #ffd177, #c98728); box-shadow: 0 0 0 3px rgba(255,215,136,.16), 0 5px 12px rgba(0,0,0,.2); }
.live-person::after { content: ''; position: absolute; left: 50%; top: 19px; width: 34px; height: 29px; border-radius: 18px 18px 8px 8px; background: linear-gradient(135deg, rgba(41,139,234,.95), rgba(18,78,159,.95)); transform: translateX(-50%); }
.live-person .live-smile { left: 7px; top: 12px; width: 8px; height: 4px; border-bottom: 1.5px solid #5f3a14; border-radius: 0 0 8px 8px; }
.live-person-a { left: 30%; top: 40%; z-index: 2; }.live-person-b { left: 49%; top: 33%; z-index: 3; transform: scale(1.16); }.live-person-c { right: 26%; top: 42%; z-index: 2; }
.live-team-wave { left: 22%; right: 20%; bottom: 16%; height: 14px; border-top: 1px solid rgba(255,217,132,.7); border-radius: 50%; opacity: .8; }
.live-team-spark { width: 5px; height: 5px; border-radius: 50%; background: #ffe3a0; box-shadow: 0 0 10px #ffe3a0; }.live-team-spark-a { left: 18%; top: 25%; }.live-team-spark-b { right: 17%; top: 29%; }

/* Construction: a working crane, rising building blocks, and restrained site sparks. */
.business-live--construction { background: linear-gradient(180deg, rgba(255,190,69,.12), transparent 70%); }
.live-crane { left: 12%; top: 12%; width: 4px; height: 68%; background: linear-gradient(#f7cd69, #bd7e21); box-shadow: 0 0 12px rgba(255,202,87,.42); }
.live-crane::before { content: ''; position: absolute; bottom: 0; left: -12px; width: 28px; height: 4px; background: #e8b247; border-radius: 3px; }.live-crane-arm { left: 0; top: 0; width: 104px; height: 4px; background: linear-gradient(90deg, #f7d679, #cf8e28); transform-origin: left center; }.live-crane-cable { left: 89px; top: 2px; width: 1px; height: 42px; background: rgba(255,235,177,.85); }.live-crane-load { left: 82px; top: 42px; width: 15px; height: 11px; border: 2px solid #f2c85a; border-radius: 2px; background: rgba(76,61,32,.72); }
.live-building { bottom: 13%; width: 20px; border: 1px solid rgba(213,170,73,.7); background: repeating-linear-gradient(90deg, rgba(255,210,109,.46) 0 3px, transparent 3px 8px), linear-gradient(180deg, rgba(30,92,148,.75), rgba(5,33,68,.9)); box-shadow: 0 0 12px rgba(255,191,63,.18); }.live-building-a { left: 49%; height: 30%; }.live-building-b { left: 62%; height: 45%; }.live-building-c { left: 76%; height: 25%; }
.live-construction-spark { width: 4px; height: 4px; border-radius: 50%; background: #ffd36a; box-shadow: 0 0 11px #ffd36a; }.live-construction-spark-a { left: 51%; top: 35%; }.live-construction-spark-b { right: 13%; top: 42%; }

/* Aquatic: fish glide, tail movement, bubbles, and a gentle water current. */
.business-live--aquatic { background: radial-gradient(circle at 70% 30%, rgba(87,211,255,.18), transparent 36%), linear-gradient(180deg, rgba(16,124,179,.12), transparent); }
.live-fish { width: 34px; height: 18px; border-radius: 55% 45% 48% 52%; background: linear-gradient(135deg, #83e4ff, #2b98df 48%, #7a58dc); box-shadow: inset 7px -3px 8px rgba(0,0,0,.18), 0 0 14px rgba(110,218,255,.3); }.live-fish::before { content: ''; position: absolute; right: 7px; top: 5px; width: 3px; height: 3px; border-radius: 50%; background: #051d3d; box-shadow: 0 0 2px #fff; }.live-fish-tail { left: -10px; top: 3px; width: 0; height: 0; border-top: 6px solid transparent; border-bottom: 6px solid transparent; border-right: 12px solid #49b9ed; transform-origin: right center; }.live-fish-a { left: -18%; top: 26%; transform: scale(.74); }.live-fish-b { left: -20%; top: 52%; transform: scale(1.05); }.live-fish-c { right: -16%; top: 36%; transform: scale(.6) rotateY(180deg); }
.live-bubble { width: 7px; height: 7px; border: 1px solid rgba(178,242,255,.78); border-radius: 50%; box-shadow: 0 0 8px rgba(122,228,255,.4); }.live-bubble-a { left: 26%; bottom: 13%; }.live-bubble-b { left: 34%; bottom: 20%; width: 5px; height: 5px; }.live-bubble-c { right: 19%; bottom: 16%; width: 9px; height: 9px; }.live-current { left: 7%; right: 7%; bottom: 23%; height: 24px; border-top: 1px solid rgba(150,230,255,.46); border-radius: 50%; opacity: .7; }

@media (prefers-reduced-motion: no-preference) {
  .business-live--nsar .live-ai-core { animation: live-ai-core 3.4s ease-in-out infinite; }
  .business-live--nsar .live-ai-scan { animation: live-ai-scan 3.2s linear infinite; }
  .business-live--nsar .live-ai-node { animation: live-node 2.6s ease-in-out infinite; }.business-live--nsar .live-ai-node-b { animation-delay: .45s; }.business-live--nsar .live-ai-node-c { animation-delay: .9s; }.business-live--nsar .live-ai-node-d { animation-delay: 1.35s; }
  .business-live--nsar .live-ai-link { animation: live-link 2.8s ease-in-out infinite; }.business-live--nsar .live-ai-link-b { animation-delay: .6s; }.business-live--nsar .live-ai-link-c { animation-delay: 1.2s; }
  .business-live--manpower .live-person { animation: live-team-bounce 2.9s ease-in-out infinite; }.business-live--manpower .live-person-b { animation-delay: .36s; }.business-live--manpower .live-person-c { animation-delay: .72s; }.business-live--manpower .live-smile { animation: live-smile 2.2s ease-in-out infinite; }.business-live--manpower .live-team-wave { animation: live-wave 3.2s ease-in-out infinite; }.business-live--manpower .live-team-spark { animation: live-spark 2.4s ease-in-out infinite; }
  .business-live--construction .live-crane-arm { animation: live-crane-swing 4.4s ease-in-out infinite; }.business-live--construction .live-crane-cable, .business-live--construction .live-crane-load { animation: live-load 2.6s ease-in-out infinite; }.business-live--construction .live-building-b { animation: live-building-rise 3.8s ease-in-out infinite; }.business-live--construction .live-construction-spark { animation: live-spark 1.8s ease-in-out infinite; }
  .business-live--aquatic .live-fish-a { animation: live-fish-swim-a 7.6s linear infinite; }.business-live--aquatic .live-fish-b { animation: live-fish-swim-b 9.2s linear infinite 1.1s; }.business-live--aquatic .live-fish-c { animation: live-fish-swim-c 8.4s linear infinite .7s; }.business-live--aquatic .live-fish-tail { animation: live-tail .56s ease-in-out infinite alternate; }.business-live--aquatic .live-bubble { animation: live-bubble 3.7s ease-in infinite; }.business-live--aquatic .live-bubble-b { animation-delay: 1.2s; }.business-live--aquatic .live-bubble-c { animation-delay: 2s; }.business-live--aquatic .live-current { animation: live-current 3.4s ease-in-out infinite; }
}
@keyframes live-ai-core { 50% { transform: rotate(105deg) scale(1.12); box-shadow: 0 0 0 16px rgba(61,123,255,.05), 0 0 36px rgba(79,166,255,.8); } }
@keyframes live-ai-scan { 0% { transform: translateY(-12px); opacity: 0; } 18%, 82% { opacity: 1; } 100% { transform: translateY(112px); opacity: 0; } }
@keyframes live-node { 50% { transform: scale(1.55); opacity: .55; } }
@keyframes live-link { 50% { opacity: .22; filter: brightness(1.8); } }
@keyframes live-team-bounce { 45% { transform: translateY(-7px) scale(1.04); } 58% { transform: translateY(1px) scale(.98); } }
@keyframes live-smile { 50% { transform: scaleX(1.45); } }
@keyframes live-wave { 50% { transform: scaleX(1.15) translateY(-3px); opacity: .22; } }
@keyframes live-spark { 50% { transform: translateY(-10px) scale(1.65); opacity: .35; } }
@keyframes live-crane-swing { 50% { transform: rotate(3deg); } }
@keyframes live-load { 50% { transform: translateY(13px); } }
@keyframes live-building-rise { 50% { transform: translateY(-7px); box-shadow: 0 0 20px rgba(255,191,63,.4); } }
@keyframes live-fish-swim-a { 0% { transform: translateX(0) scale(.74); } 100% { transform: translateX(160%) scale(.74); } }
@keyframes live-fish-swim-b { 0% { transform: translateX(0) scale(1.05); } 100% { transform: translateX(155%) scale(1.05); } }
@keyframes live-fish-swim-c { 0% { transform: translateX(0) scale(.6) rotateY(180deg); } 100% { transform: translateX(-175%) scale(.6) rotateY(180deg); } }
@keyframes live-tail { to { transform: rotate(18deg) scaleY(.85); } }
@keyframes live-bubble { 0% { transform: translateY(0) scale(.75); opacity: 0; } 25% { opacity: .88; } 100% { transform: translateY(-92px) scale(1.25); opacity: 0; } }
@keyframes live-current { 50% { transform: translateX(14px) scaleX(.86); opacity: .28; } }
@media (max-width: 640px) {
  .business-live-layer { opacity: .82; }
  .live-ai-core { transform: scale(.86); }
  .live-person { transform: scale(.84); }
  .live-crane { transform: scale(.82); transform-origin: bottom left; }
  .live-fish { transform-origin: center; }
}

/* Definitive mobile Careers composition: image is a separate top panel, so copy can never disappear beneath it. */
@media (max-width: 640px) {
  .home-shell #careers .career-card-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
  .home-shell #careers .career-feature-card {
    display: block;
    min-height: 0;
    padding-top: 166px;
    overflow: hidden;
    background: linear-gradient(145deg, #063061, #00152d 68%);
    border: 1px solid rgba(137,184,255,.25);
    border-radius: 17px;
  }
  .home-shell #careers .career-feature-card[data-motion-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
  .home-shell #careers .career-feature-card > img {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 166px;
    filter: brightness(.78) saturate(1.05) contrast(1.04);
    transform: none;
  }
  .home-shell #careers .career-feature-overlay {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 166px;
    opacity: 1;
    background: linear-gradient(180deg, rgba(0,16,42,.02), rgba(0,16,42,.24) 52%, rgba(0,16,42,.75) 100%);
  }
  .home-shell #careers .career-feature-copy {
    position: relative;
    z-index: 6 !important;
    min-height: 0;
    padding: 18px 17px 19px;
    background: linear-gradient(145deg, rgba(5,38,76,.98), rgba(0,21,45,.99));
    transform: none !important;
    text-shadow: none;
  }
  .home-shell #careers .career-feature-copy small { color: #f6cb67 !important; font-size: .67rem; font-weight: 800; }
  .home-shell #careers .career-feature-copy h3 { margin: 7px 0 8px; color: #fff !important; font-size: 1.12rem; line-height: 1.2; }
  .home-shell #careers .career-feature-copy p { display: block !important; min-height: 0; margin: 0 0 14px; color: #e3eefc !important; font-size: .8rem; line-height: 1.55; opacity: 1 !important; }
  .home-shell #careers .career-form-tag { display: inline-flex; margin: 0 0 2px; font-size: .6rem; }
  .home-shell #careers .career-feature-copy .btn-card { display: flex; width: 100%; justify-content: space-between; min-height: 44px; padding: 11px 13px; font-size: .73rem; }
  .recruitment-form-card .recruitment-form-grid { opacity: 1 !important; transform: none !important; }
}

/* Explicit final field contrast guard for browser and mobile form controls. */
.recruitment-form-card input.form-control,
.recruitment-form-card textarea.form-control,
.recruitment-form-card select.form-select {
  color: #f7fbff !important;
  background-color: #061e3e !important;
  background-image: linear-gradient(135deg, rgba(1,19,45,.98), rgba(7,42,82,.92)) !important;
  border-color: rgba(137,184,255,.5) !important;
}
.recruitment-form-card input.form-control:hover,
.recruitment-form-card textarea.form-control:hover,
.recruitment-form-card select.form-select:hover { border-color: rgba(229,169,60,.68) !important; }
.recruitment-form-card input.form-control:focus,
.recruitment-form-card textarea.form-control:focus,
.recruitment-form-card select.form-select:focus {
  background-color: #071f42 !important;
  border-color: #edbc4f !important;
  box-shadow: 0 0 0 .24rem rgba(229,169,60,.17) !important;
}

/* Flat and stable form experience: user input surfaces never inherit card tilt, depth or pointer-light layers. */
body:not(.admin-body) .flat-form-surface,
body:not(.admin-body) form.flat-form {
  perspective: none !important;
  transform: none !important;
  transform-style: flat !important;
  will-change: auto !important;
  animation: none !important;
}
body:not(.admin-body) .flat-form-surface {
  position: relative;
  isolation: auto;
  background: #061e3e !important;
  box-shadow: none !important;
  transition: border-color .18s ease, background .18s ease !important;
}
body:not(.admin-body) .flat-form-surface::before,
body:not(.admin-body) .flat-form-surface::after {
  content: none !important;
  display: none !important;
}
body:not(.admin-body) form.flat-form,
body:not(.admin-body) form.flat-form * {
  transform: none !important;
  transform-style: flat !important;
}
body:not(.admin-body) form.flat-form input,
body:not(.admin-body) form.flat-form select,
body:not(.admin-body) form.flat-form textarea,
body:not(.admin-body) form.flat-form button,
body:not(.admin-body) form.flat-form label {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.form-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  pointer-events: none !important;
}

/* Private recruitment lifecycle and candidate agreement screens. */
.recruitment-candidate { padding: 1.35rem; border-bottom: 1px solid rgba(141,181,235,.16); }
.recruitment-candidate:last-child { border-bottom: 0; }
.recruitment-candidate > header { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.recruitment-candidate h2 { margin: .55rem 0 .2rem; font-size: 1.12rem; }
.recruitment-candidate header p { margin: 0; color: #a9b8c9; }
.recruitment-candidate header small { color: #9caec2; white-space: nowrap; }
.recruitment-timeline { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0; }
.recruitment-timeline span { font-size: .72rem; font-weight: 800; letter-spacing: .03em; padding: .35rem .55rem; border-radius: 999px; background: rgba(255,255,255,.05); color: #97a9bd; }
.recruitment-timeline span.done { background: rgba(229,169,60,.16); color: #f4c65e; }
.recruitment-action-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; padding: 1rem; border: 1px solid rgba(137,184,255,.23); border-radius: 12px; background: rgba(4,23,49,.62); }
.recruitment-action-form h3 { grid-column: 1/-1; margin: 0; font-size: 1rem; }
.recruitment-action-form label { display: grid; gap: .38rem; color: #c8d5e4; font-size: .78rem; font-weight: 800; }
.recruitment-action-form input, .recruitment-action-form select, .recruitment-action-form textarea { width: 100%; border: 1px solid rgba(137,184,255,.3); border-radius: 8px; background: #061e3e; color: #f4f7fb; padding: .65rem .72rem; }
.recruitment-action-form .wide { grid-column: 1/-1; }
.recruitment-action-form small { color: #9caec2; font-weight: 500; }
.recruitment-action-form .btn-small { width: max-content; }
.recruitment-awaiting { display: flex; align-items: flex-start; gap: .75rem; padding: .9rem 1rem; border: 1px dashed rgba(229,169,60,.45); border-radius: 10px; color: #f2c760; }
.recruitment-awaiting.success { border-color: rgba(76,190,134,.5); color: #83dfaf; }
.recruitment-awaiting p { margin: .2rem 0 0; color: #b8c7d8; }
.recruitment-audit { margin-top: .95rem; color: #aebdce; font-size: .82rem; }
.recruitment-audit summary { cursor: pointer; }
.recruitment-audit ul { margin: .65rem 0 0; padding-left: 1.1rem; }
.agreement-shell { max-width: 860px; margin-inline: auto; display: grid; gap: 1rem; }
.agreement-document, .agreement-sign-form, .agreement-confirmation { border: 1px solid rgba(137,184,255,.28); border-radius: 16px; padding: clamp(1.15rem,3vw,2.3rem); background: #061e3e; box-shadow: none; }
.agreement-document h2, .agreement-sign-form h2 { color: #fff; margin-top: .5rem; }
.agreement-meta { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; margin: 1.25rem 0; }
.agreement-meta div { padding: .75rem; border-radius: 10px; background: rgba(255,255,255,.045); }
.agreement-meta dt { color: #9fb0c5; font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; }
.agreement-meta dd { margin: .35rem 0 0; color: #fff; font-weight: 700; }
.agreement-text { white-space: normal; color: #d8e1eb; line-height: 1.8; }
.agreement-sign-form { display: grid; gap: .75rem; }
.agreement-sign-form .form-control { background: #041a36; color: #fff; border: 1px solid rgba(137,184,255,.35); }
.agreement-consent { display: flex; align-items: flex-start; gap: .65rem; color: #dce5ef; line-height: 1.55; }
.agreement-consent input { margin-top: .28rem; accent-color: #e5a93c; }
.agreement-confirmation { text-align: center; margin-top: 3rem; }
.agreement-confirmation > i { font-size: 3rem; color: #e5a93c; margin-bottom: 1rem; }
@media (max-width: 680px) { .recruitment-candidate > header { display: block; } .recruitment-candidate header small { display: block; margin-top: .55rem; white-space: normal; } .recruitment-action-form { grid-template-columns: 1fr; } .recruitment-action-form .wide { grid-column: auto; } .agreement-meta { grid-template-columns: 1fr; } }
body:not(.admin-body) .recruitment-form-layout.flat-form-surface {
  background: transparent !important;
  border: 0;
}
body:not(.admin-body) .recruitment-form-card.flat-form-surface,
body:not(.admin-body) .recruitment-form-aside.flat-form-surface,
body:not(.admin-body) .proposal-shell.flat-form-surface,
body:not(.admin-body) .contact-box.flat-form-surface,
body:not(.admin-body) .community-auth-card.flat-form-surface,
body:not(.admin-body) .community-composer-card.flat-form-surface,
body:not(.admin-body) .member-profile-card.flat-form-surface,
body:not(.admin-body) .member-dashboard-main.flat-form-surface {
  border-color: rgba(137,184,255,.32) !important;
  border-radius: 14px;
}

/* Compact mobile Careers cards: preserve clear copy and routes without the tall image-led composition. */
@media (max-width: 640px) {
  .home-shell #careers .career-card-grid { gap: 12px; }
  .home-shell #careers .career-feature-card { padding-top: 118px; border-radius: 15px; }
  .home-shell #careers .career-feature-card > img,
  .home-shell #careers .career-feature-overlay { height: 118px; }
  .home-shell #careers .career-feature-copy { padding: 12px 14px 14px; }
  .home-shell #careers .career-feature-copy small { font-size: .58rem; letter-spacing: .72px; }
  .home-shell #careers .career-form-tag { margin-bottom: 2px; font-size: .54rem; }
  .home-shell #careers .career-feature-copy h3 { margin: 5px 0 5px; font-size: 1rem; line-height: 1.16; }
  .home-shell #careers .career-feature-copy p {
    display: -webkit-box !important;
    margin: 0 0 10px;
    overflow: hidden;
    color: #e8f1fc !important;
    font-size: .73rem;
    line-height: 1.42;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .home-shell #careers .career-feature-copy .btn-card { min-height: 38px; padding: 8px 11px; font-size: .66rem; }
}

/* Production selector correction: the public homepage does not include a `.home-shell` wrapper. */
@media (max-width: 640px) {
  body:not(.admin-body) #careers .career-card-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
  body:not(.admin-body) #careers .career-feature-card {
    display: block;
    min-height: 0;
    padding-top: 0;
    overflow: hidden;
    background: linear-gradient(145deg, #063061, #00152d 68%);
    border: 1px solid rgba(137,184,255,.25);
    border-radius: 15px;
    color: #fff;
  }
  body:not(.admin-body) #careers .career-feature-card > img {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: 118px;
    object-fit: cover;
    filter: brightness(.78) saturate(1.05) contrast(1.04);
    transform: none;
  }
  body:not(.admin-body) #careers .career-feature-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 118px;
    opacity: 1;
    background: linear-gradient(180deg, rgba(0,16,42,.02), rgba(0,16,42,.24) 52%, rgba(0,16,42,.75) 100%);
  }
  body:not(.admin-body) #careers .career-feature-copy {
    position: relative;
    z-index: 6;
    min-height: 0;
    padding: 12px 14px 14px;
    background: linear-gradient(145deg, rgba(5,38,76,.98), rgba(0,21,45,.99));
    transform: none !important;
  }
  body:not(.admin-body) #careers .career-feature-copy small { color: #f6cb67; font-size: .58rem; font-weight: 800; letter-spacing: .72px; }
  body:not(.admin-body) #careers .career-form-tag { display: inline-flex; margin: 0 0 2px; font-size: .54rem; }
  body:not(.admin-body) #careers .career-feature-copy h3 { margin: 5px 0; color: #fff; font-size: 1rem; line-height: 1.16; }
  body:not(.admin-body) #careers .career-feature-copy p {
    display: -webkit-box;
    margin: 0 0 10px;
    overflow: hidden;
    color: #e8f1fc;
    font-size: .73rem;
    line-height: 1.42;
    opacity: 1;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  body:not(.admin-body) #careers .career-feature-copy .btn-card { display: flex; width: 100%; min-height: 38px; justify-content: space-between; padding: 8px 11px; font-size: .66rem; }
}

/* Homepage community entry */
.community-home-section { background: linear-gradient(145deg, #000f2a, #00265a 54%, #00152d); overflow: hidden; }
.community-home-shell { position: relative; display: grid; grid-template-columns: 170px minmax(0,1fr) 126px; gap: 34px; align-items: center; padding: 34px 38px; overflow: hidden; border: 1px solid rgba(93,159,255,.28); border-radius: 24px; background: linear-gradient(135deg, rgba(5,47,99,.9), rgba(0,16,42,.96)); box-shadow: 0 28px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08); }
.community-home-shell::before { content:''; position:absolute; inset:-45% auto auto -10%; width: 390px; height: 390px; border-radius:50%; background:radial-gradient(circle, rgba(37,121,255,.23), transparent 65%); pointer-events:none; }
.community-home-copy { position:relative; z-index:2; }
.community-home-copy h2 { margin:0 0 10px; color:#fff; font-size:clamp(1.7rem,3vw,2.55rem); line-height:1.06; }
.community-home-copy > p { max-width:720px; margin:0; color:#d8e8ff; line-height:1.65; }
.community-home-points { display:flex; flex-wrap:wrap; gap:8px 18px; margin:18px 0; color:#f4f8ff; font-size:.8rem; }
.community-home-points span { display:inline-flex; align-items:center; gap:7px; }
.community-home-points i { color:var(--gold); }
.community-home-actions { display:flex; flex-wrap:wrap; gap:10px; }
.community-home-actions .btn-gold, .community-home-actions .btn-ghost { padding:10px 15px; font-size:.84rem; }
.community-home-orbit { position:relative; z-index:2; width:142px; height:142px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(229,169,60,.44); background:radial-gradient(circle at 36% 28%, rgba(67,144,255,.48), rgba(0,13,39,.96) 63%); box-shadow:0 0 0 18px rgba(38,123,255,.055), 0 0 50px rgba(27,117,255,.4); }
.community-home-orbit > span { position:absolute; width:170px; height:62px; border:1px solid rgba(229,169,60,.55); border-radius:50%; transform:rotate(-24deg); animation:communityOrbit 7s linear infinite; }
.community-home-orbit i { color:var(--gold); font-size:2.45rem; filter:drop-shadow(0 0 12px rgba(229,169,60,.55)); }
.community-home-orbit b,.community-home-orbit em { position:absolute; width:8px; height:8px; border-radius:50%; background:#74b8ff; box-shadow:0 0 14px #74b8ff; animation:communityPulse 1.8s ease-in-out infinite alternate; }
.community-home-orbit b { top:14px; right:24px; }.community-home-orbit em { bottom:24px; left:9px; animation-delay:.8s; }
.community-home-status { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:108px; padding:14px 10px; border-radius:17px; color:#c9dcf5; text-align:center; background:rgba(255,255,255,.065); border:1px solid rgba(255,255,255,.12); }
.community-home-status i { margin-bottom:7px; color:var(--gold); font-size:1.2rem; }.community-home-status strong { color:#fff; font:800 2rem/1 'Poppins',sans-serif; }.community-home-status span { margin-top:5px; font-size:.68rem; line-height:1.25; }
@keyframes communityOrbit { to { transform:rotate(336deg); } } @keyframes communityPulse { to { transform:scale(1.65); opacity:.38; } }
@media (max-width:760px) { .community-home-section { padding-block:46px; }.community-home-shell { grid-template-columns:78px minmax(0,1fr); gap:16px; padding:20px; border-radius:19px; }.community-home-orbit { width:72px; height:72px; }.community-home-orbit > span { width:88px; height:31px; }.community-home-orbit i { font-size:1.45rem; }.community-home-orbit b,.community-home-orbit em { width:5px; height:5px; }.community-home-copy h2 { font-size:1.45rem; }.community-home-copy > p { font-size:.82rem; line-height:1.52; }.community-home-points { display:grid; gap:5px; margin:12px 0; font-size:.69rem; }.community-home-actions { gap:8px; }.community-home-actions a { flex:1 1 100%; justify-content:center; }.community-home-status { grid-column:1/-1; min-height:0; flex-direction:row; gap:8px; padding:9px 12px; }.community-home-status i { margin:0; }.community-home-status strong { font-size:1.1rem; }.community-home-status span { margin:0; font-size:.7rem; } }
@media (prefers-reduced-motion: reduce) { .community-home-orbit > span,.community-home-orbit b,.community-home-orbit em { animation:none; } }

/* Ensure the compact Careers cards preserve native anchor taps above their decorative layers. */
@media (max-width:640px) {
  body:not(.admin-body) #careers .career-feature-card { touch-action: manipulation; -webkit-tap-highlight-color: rgba(229,169,60,.24); }
  body:not(.admin-body) #careers .career-feature-overlay { pointer-events:none; }
  body:not(.admin-body) #careers .career-feature-copy .btn-card { position:relative; z-index:12; pointer-events:auto; }
}

/* Recruitment journeys: clearly distinct application, talent-profile, and employer-request experiences. */
.recruitment-identity-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.recruitment-journey-badge { display:inline-flex; align-items:center; min-height:28px; padding:5px 10px; border-radius:999px; color:#dfeeff; font-size:.72rem; font-weight:800; background:rgba(83,153,255,.14); border:1px solid rgba(110,174,255,.36); }
.recruitment-type-job-application .route-signal, .recruitment-type-job-application .recruitment-journey-badge { color:#ffe0a0; border-color:rgba(229,169,60,.44); background:rgba(229,169,60,.12); }
.recruitment-type-cv-submission .route-signal, .recruitment-type-cv-submission .recruitment-journey-badge { color:#bde8ff; border-color:rgba(65,177,255,.46); background:rgba(38,131,255,.14); }
.recruitment-type-workforce-request .route-signal, .recruitment-type-workforce-request .recruitment-journey-badge { color:#c9f7da; border-color:rgba(74,199,128,.42); background:rgba(42,152,91,.14); }
.recruitment-type-job-application .recruitment-form-visual { box-shadow:inset 0 0 55px rgba(229,169,60,.14), 0 20px 45px rgba(0,0,0,.22); }
.recruitment-type-cv-submission .recruitment-form-visual { box-shadow:inset 0 0 55px rgba(33,144,255,.20), 0 20px 45px rgba(0,0,0,.22); }
.recruitment-type-workforce-request .recruitment-form-visual { box-shadow:inset 0 0 55px rgba(47,183,105,.18), 0 20px 45px rgba(0,0,0,.22); }
@media (max-width:640px) { .recruitment-identity-row { align-items:flex-start; }.recruitment-journey-badge { font-size:.64rem; padding:4px 8px; }.recruitment-form-section .recruitment-form-card h2 { font-size:1.6rem; }.recruitment-form-section .recruitment-form-intro { font-size:.9rem; line-height:1.55; } }

/* Mobile journey differentiation: each recruitment path gets its own immediately recognizable visual signature. */
@media (max-width:640px) {
  .recruitment-form-section .recruitment-form-aside,
  .recruitment-form-section .recruitment-form-card { position:relative; overflow:hidden; }
  .recruitment-form-section .recruitment-form-card::before { display:flex; align-items:center; width:100%; min-height:34px; margin:-2px -2px 14px; padding:7px 12px; border-radius:10px; font-size:.62rem; font-weight:900; letter-spacing:1.1px; }
  .recruitment-type-job-application .recruitment-form-aside { border-color:rgba(229,169,60,.62); background:linear-gradient(160deg,rgba(74,47,8,.33),rgba(3,27,58,.97)); }
  .recruitment-type-job-application .recruitment-form-card { border-top:4px solid #e5a93c; background:linear-gradient(155deg,#102e56,#061d3d 78%); }
  .recruitment-type-job-application .recruitment-form-card { border-inline-start:5px solid #e5a93c; box-shadow:inset 0 0 42px rgba(229,169,60,.10),0 18px 40px rgba(0,0,0,.28); }
  .recruitment-type-job-application .recruitment-form-card h2 { color:#ffe3aa; }
  .recruitment-type-job-application .recruitment-form-card::before { content:'01 · CURRENT ROLE APPLICATION'; color:#ffe3aa; background:linear-gradient(90deg,rgba(229,169,60,.25),rgba(229,169,60,.05)); border:1px solid rgba(229,169,60,.36); }
  .recruitment-type-cv-submission .recruitment-form-aside { border-color:rgba(75,182,255,.68); background:linear-gradient(160deg,rgba(8,72,142,.38),rgba(3,27,58,.97)); }
  .recruitment-type-cv-submission .recruitment-form-card { border-top:4px solid #42a8ff; background:linear-gradient(155deg,#0b3b71,#061d3d 78%); }
  .recruitment-type-cv-submission .recruitment-form-card { border-inline-start:5px solid #42a8ff; box-shadow:inset 0 0 42px rgba(40,155,255,.15),0 18px 40px rgba(0,0,0,.28); }
  .recruitment-type-cv-submission .recruitment-form-card h2 { color:#c8edff; }
  .recruitment-type-cv-submission .recruitment-form-card::before { content:'02 · CV PROFILE · FUTURE MATCHING'; color:#c8edff; background:linear-gradient(90deg,rgba(41,150,255,.27),rgba(41,150,255,.05)); border:1px solid rgba(75,182,255,.42); }
  .recruitment-type-workforce-request .recruitment-form-aside { border-color:rgba(75,205,137,.64); background:linear-gradient(160deg,rgba(12,100,56,.38),rgba(3,27,58,.97)); }
  .recruitment-type-workforce-request .recruitment-form-card { border-top:4px solid #4aca88; background:linear-gradient(155deg,#0b5138,#061d3d 78%); }
  .recruitment-type-workforce-request .recruitment-form-card { border-inline-start:5px solid #4aca88; box-shadow:inset 0 0 42px rgba(63,198,124,.16),0 18px 40px rgba(0,0,0,.28); }
  .recruitment-type-workforce-request .recruitment-form-card h2 { color:#ccf8df; }
  .recruitment-type-workforce-request .recruitment-form-card::before { content:'03 · EMPLOYER WORKFORCE REQUEST'; color:#ccf8df; background:linear-gradient(90deg,rgba(57,192,117,.26),rgba(57,192,117,.05)); border:1px solid rgba(75,205,137,.4); }
  .recruitment-form-section .recruitment-form-visual { min-height:116px; }
  .recruitment-form-section .recruitment-identity-row { margin-top:2px; }
}

/* Compact mobile flow: keep the brief and the form visually separate, not stacked as one long card. */
@media (max-width:640px) {
  .recruitment-form-layout { gap:14px !important; }
  .recruitment-form-section .recruitment-form-aside { margin:0 !important; padding:14px !important; border-radius:16px !important; }
  .recruitment-form-section .recruitment-form-visual { min-height:72px !important; height:72px !important; margin:0 0 10px !important; border-radius:12px !important; }
  .recruitment-form-section .recruitment-form-visual .detail-visual-core { transform:scale(.72); }
  .recruitment-form-section .recruitment-form-aside .section-kicker { margin-top:0 !important; font-size:.62rem !important; letter-spacing:1.6px; }
  .recruitment-form-section .recruitment-form-aside h2 { margin:5px 0 6px !important; font-size:1.35rem !important; line-height:1.1 !important; }
  .recruitment-form-section .recruitment-form-aside p { display:-webkit-box; margin:0 !important; overflow:hidden; font-size:.82rem !important; line-height:1.42 !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .recruitment-form-section .recruitment-form-steps { display:none !important; }
  .recruitment-form-section .recruitment-form-aside .contact-line { display:none !important; }
  .recruitment-form-section .recruitment-form-card { margin:0 !important; padding:16px !important; border-radius:16px !important; outline:1px solid rgba(117,183,255,.18); outline-offset:4px; }
  .recruitment-form-section .recruitment-form-card::before { margin:0 0 10px !important; min-height:29px !important; padding:5px 9px !important; font-size:.56rem !important; }
  .recruitment-form-section .recruitment-form-card h2 { margin:5px 0 7px !important; font-size:1.42rem !important; line-height:1.15 !important; }
  .recruitment-form-section .recruitment-form-intro { display:-webkit-box; margin:0 !important; overflow:hidden; font-size:.82rem !important; line-height:1.42 !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .recruitment-form-section .recruitment-form-grid { margin-top:14px !important; gap:12px !important; }
}

/* Contact page: the mobile form must never inherit compact inline field layouts. */
@media (max-width:640px) {
  .detail-shell-3d { gap:18px !important; }
  .detail-shell-3d > .contact-box { overflow:visible !important; padding:18px !important; }
  .detail-shell-3d > .contact-box .contact-line { display:flex !important; align-items:flex-start; gap:10px; margin-top:10px; line-height:1.45; }
  .detail-shell-3d > .contact-box .contact-line i { flex:0 0 18px; margin-top:3px; }
  .detail-shell-3d > .card:has(.contact-form) { padding:22px 18px !important; border-radius:18px !important; }
  .detail-shell-3d > .card:has(.contact-form) h2 { margin:7px 0 10px !important; font-size:1.75rem !important; line-height:1.13 !important; }
  .detail-shell-3d > .card:has(.contact-form) > p { margin:0 !important; font-size:.94rem !important; line-height:1.55 !important; }
  .contact-form { display:block !important; margin-top:18px !important; }
  .contact-form .form-group { display:block !important; width:100% !important; margin:0 0 15px !important; }
  .contact-form .form-label { display:block !important; width:100% !important; margin:0 0 7px !important; color:#f5f9ff !important; font-size:.92rem !important; font-weight:800 !important; line-height:1.2 !important; }
  .contact-form .form-control { display:block !important; width:100% !important; min-width:0 !important; min-height:52px !important; padding:12px 13px !important; color:#f7fbff !important; background:#061e3e !important; border:1px solid rgba(117,183,255,.62) !important; border-radius:10px !important; box-sizing:border-box !important; }
  .contact-form textarea.form-control { min-height:160px !important; resize:vertical; }
  .contact-form .form-control::placeholder { color:#94abc9 !important; opacity:1; }
  .contact-form .btn-gold { display:flex !important; width:100% !important; min-height:52px !important; align-items:center; justify-content:center; gap:10px; margin-top:5px; border-radius:12px !important; font-size:1rem !important; }
.contact-form .visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
}

/* Public trust and policy pages */
.policy-shell{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.45fr);gap:24px;align-items:start}.policy-aside,.policy-content{border:1px solid rgba(139,183,255,.17);border-radius:24px;background:linear-gradient(145deg,rgba(9,40,78,.92),rgba(1,22,52,.98));box-shadow:0 22px 55px rgba(0,0,0,.22)}.policy-aside{padding:24px;position:sticky;top:96px}.policy-aside h2{margin:12px 0 10px;color:#fff;line-height:1.13}.policy-aside p{color:#c5d4e8;line-height:1.65}.policy-aside .btn-outline{margin-top:16px}.policy-visual{min-height:150px;margin-bottom:18px}.policy-content{padding:8px}.policy-section{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:22px 18px;border-bottom:1px solid rgba(139,183,255,.12)}.policy-section:last-child{border-bottom:0}.policy-index{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(229,169,60,.55);border-radius:12px;color:#edbc4f;font-weight:800}.policy-section h2{margin:0 0 7px;color:#fff;font-size:1.12rem}.policy-section p{margin:0;color:#c5d4e8;line-height:1.7}@media(max-width:760px){.policy-shell{grid-template-columns:1fr;gap:15px}.policy-aside{position:static;padding:18px;border-radius:18px}.policy-visual{display:none}.policy-aside h2{font-size:1.36rem}.policy-content{border-radius:18px}.policy-section{grid-template-columns:36px 1fr;gap:10px;padding:17px 14px}.policy-index{width:30px;height:30px;border-radius:9px;font-size:.72rem}.policy-section h2{font-size:1rem}.policy-section p{font-size:.9rem;line-height:1.58}}

/* Private lead pipeline controls */
.lead-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;padding:14px;border:1px solid rgba(117,183,255,.22);border-radius:14px;background:rgba(2,19,45,.42)}.lead-workflow label{display:grid;gap:5px;color:#c9d7e8;font-size:.78rem;font-weight:700}.lead-workflow select,.lead-workflow input,.lead-workflow textarea{width:100%;min-height:38px;padding:8px 9px;color:#edf5ff;background:#061e3e;border:1px solid rgba(117,183,255,.38);border-radius:8px}.lead-workflow .lead-note{grid-column:1/-1}.lead-workflow .btn-small{justify-self:start}@media(max-width:700px){.lead-workflow{grid-template-columns:1fr}.lead-workflow .lead-note{grid-column:auto}.lead-workflow .btn-small{width:100%;justify-content:center}}

.employer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.employer-grid .employer-history{grid-column:1/-1;padding:24px;border:1px solid rgba(139,183,255,.18);border-radius:20px;background:linear-gradient(145deg,rgba(9,40,78,.92),rgba(1,22,52,.98))}.employer-alert{grid-column:1/-1}.employer-request-row{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid rgba(139,183,255,.12)}.employer-request-row:last-child{border-bottom:0}.employer-request-row strong{color:#fff}.employer-request-row span,.employer-request-row p{color:#bbcee4;margin:0}.dashboard-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}@media(max-width:760px){.employer-grid{grid-template-columns:1fr;gap:14px}.employer-grid .employer-history{grid-column:auto;padding:18px}.dashboard-actions{width:100%}.dashboard-actions a{flex:1;text-align:center;justify-content:center}}

/* Employer workspace form geometry, including RTL */
.employer-grid .contact-form{display:block;min-width:0}.employer-grid .contact-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.employer-grid .contact-form label{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:0;color:#eef5ff;font-weight:700}.employer-grid .contact-form input,.employer-grid .contact-form textarea,.employer-grid .contact-form select{box-sizing:border-box;width:100%;min-width:0;margin:0;color:#eff7ff;background:#061e3e;border:1px solid rgba(117,183,255,.55);border-radius:10px;padding:11px 12px}.employer-grid .contact-form textarea{margin-top:8px}.employer-grid .form-help{color:#bfd0e5;line-height:1.6}.employer-grid .form-help strong{color:#edbc4f}@media(max-width:760px){.employer-grid .contact-form .form-grid{grid-template-columns:1fr;gap:12px}.employer-grid .contact-form{padding:18px}.employer-grid .contact-form h2{font-size:1.42rem}.employer-grid .contact-form .btn-gold,.employer-grid .contact-form .btn-outline{width:100%;justify-content:center}}

.analytics-status{margin-top:22px}.analytics-status h2{margin:8px 0 18px}.status-bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px}.status-bars div{display:grid;gap:6px;padding:14px 10px;border-radius:12px;background:#f4f8fd;border:1px solid #dce7f5}.status-bars span{font-size:.72rem;color:#63728a;text-transform:uppercase}.status-bars strong{font-size:1.3rem;color:#082852}@media(max-width:760px){.status-bars{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Proposal request: explicit grid geometry prevents field collisions across responsive breakpoints. */
.proposal-shell{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:24px;align-items:start}.proposal-shell>.contact-form{display:block;min-width:0;padding:28px;border:1px solid rgba(137,184,255,.24);border-radius:22px;background:linear-gradient(145deg,rgba(9,40,78,.94),rgba(1,22,52,.99));box-shadow:0 22px 55px rgba(0,0,0,.24)}.proposal-shell>.contact-form h2{margin:0 0 18px;color:#fff;font-size:1.55rem;line-height:1.18}.proposal-shell>.contact-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 16px}.proposal-shell>.contact-form label{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:7px;color:#edf5ff;font-size:.88rem;font-weight:750;line-height:1.25}.proposal-shell>.contact-form input,.proposal-shell>.contact-form select,.proposal-shell>.contact-form textarea{box-sizing:border-box;width:100%;min-width:0;margin:0;color:#f7fbff;background:linear-gradient(135deg,#061e3e,#092c56);border:1px solid rgba(117,183,255,.52);border-radius:10px;padding:11px 12px;font:inherit}.proposal-shell>.contact-form select{min-height:45px}.proposal-shell>.contact-form textarea{min-height:148px;resize:vertical}.proposal-shell>.contact-form input:focus,.proposal-shell>.contact-form select:focus,.proposal-shell>.contact-form textarea:focus{outline:0;border-color:#edbc4f;box-shadow:0 0 0 .22rem rgba(229,169,60,.15)}.proposal-shell>.contact-form .btn-gold{margin-top:18px}.proposal-shell>.contact-form .form-alert{margin:0 0 16px;padding:11px 13px;color:#d9f8e6;background:rgba(51,178,101,.15);border:1px solid rgba(73,201,123,.38);border-radius:10px}.proposal-shell>.contact-form .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:760px){.proposal-shell{grid-template-columns:1fr;gap:15px}.proposal-shell .policy-aside{position:static}.proposal-shell>.contact-form{padding:18px;border-radius:18px}.proposal-shell>.contact-form h2{font-size:1.38rem}.proposal-shell>.contact-form .form-grid{grid-template-columns:1fr;gap:12px}.proposal-shell>.contact-form input,.proposal-shell>.contact-form select{min-height:50px}.proposal-shell>.contact-form textarea{min-height:138px}.proposal-shell>.contact-form .btn-gold{display:flex;width:100%;min-height:52px;align-items:center;justify-content:center}}


/* Scroll stability patch: do not promote or tilt public cards while a touch device is scrolling. */
html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

@media (hover: none), (pointer: coarse), (max-width: 980px) {
  body:not(.admin-body) [data-3d-card],
  body:not(.admin-body) [data-3d-card]:hover,
  body:not(.admin-body) [data-3d-card].is-tilting,
  body:not(.admin-body) [data-3d-card].is-touching {
    transform: none !important;
    transform-style: flat;
    will-change: auto;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
  }

  body:not(.admin-body) [data-3d-card]::after {
    transform: none;
  }

  .mobile-bottom {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
