/* Approved GNTS V4: original-colour loupe, stronger verification, AI service scenes. */
@property --loupe-mask-alpha {
  syntax: '<number>';
  inherits: true;
  initial-value: 1;
}
.home-page .brand { width:112px; transform:translateY(-19px); }
.home-page .brand img { width:112px; height:auto; object-fit:contain; }
.home-page .footer-brand { margin-top:-30px; transform:none; }
.home-page .hero {
  --loupe-x:70%;
  --loupe-y:45%;
  --loupe-mask-alpha:1;
  transition:--loupe-mask-alpha .18s ease;
}
.home-page .hero-slide img { filter:none; }
/* Medallion slide: independent generated scene underneath the real photograph. */
.home-page .hero-slide.macro { isolation:isolate; background:#030a1d; }
.hero-gallery-backdrop {
  position:absolute;
  inset:0;
  z-index:0;
  background:url('assets/v4/hero-backdrop-gallery-v1.webp') center / cover no-repeat;
  opacity:.8;
  pointer-events:none;
}
.home-page .hero-slide.macro > img {
  z-index:1;
  mix-blend-mode:lighten;
}
.home-page .hero-shade {
  background:linear-gradient(0deg,rgba(4,16,56,.76),transparent 38%),
    linear-gradient(90deg,rgba(4,16,56,.48),rgba(4,16,56,.18)),rgba(0,0,0,.15);
  pointer-events:none;
}
.hero-text-shade {
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(2,8,28,.96) 0%,rgba(3,12,42,.84) 22%,rgba(3,12,42,.24) 35%,transparent 47%);
}
.hero-loupe-ring {
  position:absolute;
  left:var(--loupe-x);
  top:var(--loupe-y);
  width:280px;
  height:280px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(226,193,123,.25);
  border-radius:50%;
  box-shadow:inset 0 0 18px rgba(226,193,123,.045);
  z-index:1;
  opacity:0;
  transition:opacity .18s ease;
  pointer-events:none;
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .home-page .hero-shade {
    mask-image:radial-gradient(circle 140px at var(--loupe-x) var(--loupe-y),rgba(0,0,0,var(--loupe-mask-alpha)) 0%,rgba(0,0,0,var(--loupe-mask-alpha)) 64%,#000 100%);
    -webkit-mask-image:radial-gradient(circle 140px at var(--loupe-x) var(--loupe-y),rgba(0,0,0,var(--loupe-mask-alpha)) 0%,rgba(0,0,0,var(--loupe-mask-alpha)) 64%,#000 100%);
  }
  .hero.loupe-active { --loupe-mask-alpha:0; }
  .hero.loupe-active .hero-loupe-ring { opacity:1; }
}
.home-page .quick-verify {
  background:#f7f3e9;
  border-top:2px solid var(--gold);
  border-bottom:1px solid #d9c9a6;
  box-shadow:0 8px 22px rgba(4,16,56,.06);
  position:relative;
  z-index:3;
}
.home-page .quick-inner { padding-block:28px; gap:26px; }
.home-page .quick-intro { gap:16px; }
.home-page .quick-intro strong { font-size:21px; font-weight:600; line-height:1.55; }
.home-page .quick-intro p { font-size:14px; line-height:1.7; max-width:330px; }
.home-page .quick-intro .diamond { font-size:32px; }
.home-page .quick-route { border-radius:12px; min-height:88px; padding:18px; }
.home-page .quick-route strong { font-size:16px; font-weight:600; }
.home-page .quick-route small { font-size:13px; line-height:1.7; }
.home-page .scan-route { background:var(--navy); border-color:var(--navy); color:white; box-shadow:0 5px 15px rgba(6,23,74,.16); }
.home-page .scan-route svg,.home-page .scan-route .route-arrow { color:#e2c17b; }
.home-page .scan-route small { color:#d6ddec; }
.home-page .lookup-route { background:#fffcf5; border-color:#c5a263; }
.home-page .quick-route:focus-visible { outline:3px solid #946b25; outline-offset:4px; }
.home-page .scan-route:focus-visible { background:#19336b; }
.home-page .service-card-illustrated {
  position:relative;
  isolation:isolate;
  min-height:510px;
  overflow:hidden;
  border:1px solid rgba(188,151,80,.55);
  border-radius:12px;
  background:var(--deep);
  color:white;
  padding:26px;
  gap:16px;
  box-shadow:0 8px 24px rgba(6,23,74,.09);
  transition:transform .35s ease,border-radius .4s ease,box-shadow .35s ease;
}
.service-card-illustrated .service-scene {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  z-index:-2;
  transition:transform .6s ease;
}
.service-card-illustrated::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(4,16,56,.15) 0%,rgba(4,16,56,.12) 24%,rgba(4,16,56,.88) 46%,rgba(4,16,56,.97) 70%);
}
.home-page .service-card-illustrated .service-number { color:#e2c17b; margin-bottom:auto; font-size:26px; }
.service-art-label {
  position:absolute;
  top:25px;
  right:20px;
  font-size:10px;
  line-height:1.6;
  color:#eee2c7;
  background:rgba(4,16,56,.84);
  border:1px solid rgba(226,193,123,.3);
  border-radius:20px;
  padding:5px 9px;
}
.home-page .service-card-illustrated h3 { font-size:21px; line-height:1.6; min-height:3.2em; color:white; }
.home-page .service-card-illustrated p { color:#d9e0ef; font-size:16px; line-height:1.8; }
.home-page .service-card-illustrated .text-link { color:#e2c17b; margin-top:4px; border-color:rgba(226,193,123,.55); font-size:14px; }
.home-page .service-card-illustrated .text-link:focus-visible { outline:2px solid #e2c17b; outline-offset:5px; }
@media (hover:hover) and (pointer:fine) {
  .home-page .scan-route:hover { background:#19336b; box-shadow:0 8px 22px rgba(6,23,74,.23); }
  .home-page .lookup-route:hover { background:#f0e4cb; }
  .home-page .service-card-illustrated:hover { transform:translateY(-3px); border-radius:20px; box-shadow:0 14px 30px rgba(6,23,74,.17); }
  .service-card-illustrated:hover .service-scene { transform:scale(1.035); }
}
@media (max-width:1050px) {
  .home-page .brand { width:104px; }
  .home-page .brand img { width:104px; height:auto; }
  .home-page .service-card-illustrated { padding:23px; }
  .service-art-label { right:16px; font-size:9px; }
}
@media (max-width:767px) {
  .home-page .brand { width:82px; transform:translateY(-4px); }
  .home-page .brand img { width:82px; height:auto; }
  .home-page .footer-brand { margin-top:0; transform:none; }
  .hero-loupe-ring { display:none; }
  .hero-text-shade { background:linear-gradient(90deg,rgba(4,16,56,.92),rgba(4,16,56,.65) 42%,rgba(4,16,56,.15) 82%); }
  .home-page .hero-shade { background:linear-gradient(0deg,rgba(4,16,56,.78),rgba(4,16,56,.12) 55%); }
  .home-page .quick-inner { gap:20px; padding-block:24px; }
  .home-page .quick-intro { min-width:0; width:100%; }
  .home-page .quick-intro strong { font-size:20px; }
  .home-page .quick-intro p { font-size:14px; }
  .home-page .quick-actions { grid-template-columns:1fr; gap:12px; }
  .home-page .quick-route { min-height:78px; padding:16px 18px; }
  .home-page .service-card-illustrated { min-height:490px; padding:24px; }
  .home-page .service-card-illustrated h3 { min-height:0; font-size:22px; }
  .service-art-label { font-size:10px; top:25px; right:20px; }
}
@media (max-width:359px) {
  .home-page .brand { width:76px; }
  .home-page .brand img { width:76px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-page .hero { transition:none; }
  .hero-loupe-ring { display:none; }
  .home-page .service-card-illustrated,.service-card-illustrated .service-scene,.home-page .quick-route { transition:none; }
  .home-page .service-card-illustrated:hover,.service-card-illustrated:hover .service-scene { transform:none; }
}
