:root{--bg:#ffffff;--panel:#faf8ff;--panel-2:#f2ecfd;--line:#e8e1f7;--line-soft:#f0ebfa;--text:#16151d;--text-dim:#62606f;--text-faint:#9795a3;--accent:#7c3aed;--accent-2:#8b5cf6;--lavender:#c4b5fd;--ink:#1a1225;--ink-2:#241a35;--ink-fg-dim:#c9bce6;--surface:#ffffff;--surface-rgb:255,255,255;--grad:linear-gradient(90deg,var(--accent),var(--accent-2));--grad-soft:linear-gradient(135deg,rgba(124,58,237,0.10),rgba(196,181,253,0.16));--grad-text:linear-gradient(90deg,var(--accent),#a78bfa 60%,var(--lavender));--shadow-sm:0 1px 2px rgba(28,15,54,0.04);--shadow-md:0 12px 28px -12px rgba(28,15,54,0.14);--shadow-lg:0 30px 60px -20px rgba(28,15,54,0.22);--shadow-glow:0 0 0 1px rgba(124,58,237,0.08),0 20px 44px -18px rgba(124,58,237,0.35);--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--font-display:'Sora','Inter',sans-serif;--font-body:'Inter',sans-serif;--font-mono:'IBM Plex Mono',monospace;--ease-spring:cubic-bezier(.16,1,.3,1);--ease-out:cubic-bezier(.22,1,.36,1)}html[data-theme="dark"]{--bg:#120d1c;--panel:#1c1530;--panel-2:#231a3d;--line:rgba(var(--surface-rgb),0.09);--line-soft:rgba(var(--surface-rgb),0.06);--text:#f2eefb;--text-dim:#b9b3cf;--text-faint:#8a84a3;--surface:#241b38;--surface-rgb:36,27,56;--shadow-sm:0 1px 2px rgba(0,0,0,0.25);--shadow-md:0 12px 28px -12px rgba(0,0,0,0.45);--shadow-lg:0 30px 60px -20px rgba(0,0,0,0.55);--shadow-glow:0 0 0 1px rgba(124,58,237,0.18),0 20px 44px -18px rgba(124,58,237,0.45);}html[data-theme="dark"] .logo-img{filter:brightness(1.7) saturate(1.25);}html[data-theme="dark"] .bg-mesh__blob{opacity:0.35;}html[data-theme="dark"] .hero-photo-glow{opacity:0.32;}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}}*{box-sizing:border-box}html{scroll-behavior:auto}html.no-js{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);transition:background-color .3s ease,color .3s ease;font-family:var(--font-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip;cursor:auto}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-0.01em;margin:0 0 0.5em;color:var(--text);line-height:1.15}p{margin:0 0 1em;color:var(--text-dim)}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.16em;font-size:0.72rem;color:var(--accent);display:inline-flex;align-items:center;gap:8px;font-weight:500}.eyebrow::before{content:"";width:7px;height:7px;background:var(--grad);border-radius:50%;display:inline-block;box-shadow:0 0 0 4px rgba(124,58,237,0.14)}.wrap{max-width:1160px;margin:0 auto;padding:0 24px;position:relative}.section{padding:110px 0;position:relative}.section--tight{padding:72px 0}.section--panel{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bg-mesh{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.bg-mesh__blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:0.5;will-change:transform}.bg-mesh__blob--a{width:620px;height:620px;top:-220px;left:-160px;background:radial-gradient(circle,rgba(124,58,237,0.30),rgba(124,58,237,0) 70%)}.bg-mesh__blob--b{width:560px;height:560px;top:20%;right:-220px;background:radial-gradient(circle,rgba(196,181,253,0.34),rgba(196,181,253,0) 70%)}.bg-mesh__blob--c{width:640px;height:640px;bottom:-260px;left:18%;background:radial-gradient(circle,rgba(139,92,246,0.22),rgba(139,92,246,0) 70%)}.bg-mesh__blob--d{width:420px;height:420px;bottom:10%;right:12%;background:radial-gradient(circle,rgba(124,58,237,0.16),rgba(124,58,237,0) 70%)}.bg-mesh__noise{position:absolute;inset:-10%;opacity:0.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.bg-mesh__particles{position:absolute;inset:0;}
.bg-particle{
  position:absolute;border-radius:50%;
  background:var(--accent-2);
  opacity:0.18;
  will-change:transform;
}

/* cursor-following glow */
.cursor-glow{
  position:fixed;top:0;left:0;
  width:460px;height:460px;
  margin-left:-230px;margin-top:-230px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(124,58,237,0.16), rgba(139,92,246,0.06) 45%, transparent 72%);
  pointer-events:none;
  z-index:2;
  will-change:transform;
  opacity:0;
  transition:opacity .4s ease;
}
.cursor-glow.is-active{opacity:1;}
@media (max-width:880px), (hover:none){ .cursor-glow{display:none;} }

/* ===================================================================
   BUTTONS - magnetic, gradient border, ripple, glow
=================================================================== */
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:0.94rem;
  letter-spacing:0.01em;
  padding:15px 30px;
  border-radius:999px;
  border:1px solid transparent;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  transition:transform .45s var(--ease-spring), box-shadow .35s ease, border-color .35s ease, color .35s ease;
  will-change:transform;
  -webkit-tap-highlight-color:transparent;
}
.btn__ripple{
  position:absolute;border-radius:50%;
  background:rgba(var(--surface-rgb),0.55);
  transform:scale(0);
  pointer-events:none;
  animation:rippleOut .65s var(--ease-out) forwards;
}
@keyframes rippleOut{ to{ transform:scale(1); opacity:0; } }

.btn--solid{
  background:var(--grad);
  color:#fff;
  box-shadow:0 10px 26px -10px rgba(124,58,237,0.55);
}
.btn--solid .btn__ripple{background:rgba(var(--surface-rgb),0.4);}
.btn--solid:hover{
  box-shadow:0 16px 36px -10px rgba(124,58,237,0.65), 0 0 0 1px rgba(124,58,237,0.15);
  transform:translateY(-2px) scale(1.015);
}

.btn--ghost{
  color:var(--text);
  background:
    linear-gradient(#fff,#fff) padding-box,
    var(--grad) border-box;
  border:1.5px solid transparent;
}
.btn--ghost::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  padding:1.5px;
  background:var(--grad);
  opacity:0;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  transition:opacity .35s ease;
  pointer-events:none;
}
.btn--ghost:hover{color:var(--accent);box-shadow:0 12px 30px -14px rgba(124,58,237,0.35);transform:translateY(-2px);}
.btn--ghost:hover::after{opacity:1;}

.btn.magnetic{will-change:transform;}

/* ===== header ===== */
.topbar{
  background:var(--ink);
  font-family:var(--font-body);
  font-size:0.84rem;
  position:relative;
  z-index:60;
}
.topbar .wrap{
  display:flex;justify-content:space-between;align-items:center;
  padding:9px 24px;color:var(--ink-fg-dim);
}
.topbar a{color:var(--ink-fg-dim);transition:color .15s ease;}
.topbar a:hover{color:#fff;}
.topbar .phone{color:#ffffff;font-weight:600;}
.topbar .social{display:flex;gap:16px;}

header.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(var(--surface-rgb),0.7);
  backdrop-filter:blur(0px) saturate(140%);
  -webkit-backdrop-filter:blur(0px) saturate(140%);
  box-shadow:none;
  border-bottom:1px solid transparent;
  transition:background-color .4s ease, backdrop-filter .4s ease, box-shadow .4s ease, border-color .4s ease;
}
header.site-header.is-scrolled{
  background:rgba(var(--surface-rgb),0.78);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  box-shadow:0 12px 34px -22px rgba(28,15,54,0.35);
  border-bottom-color:var(--line);
}
.nav-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 24px;max-width:1160px;margin:0 auto;
  transition:padding .4s var(--ease-out);
}
header.site-header.is-scrolled .nav-row{padding:12px 24px;}
.logo{display:flex;align-items:center;transition:transform .35s var(--ease-out);}
.logo-img{height:44px;width:auto;display:block;transition:height .4s var(--ease-out);}
header.site-header.is-scrolled .logo-img{height:36px;}

nav.main-nav{display:flex;align-items:center;gap:2px;font-family:var(--font-body);font-size:0.95rem;}
nav.main-nav a{
  position:relative;
  color:var(--text-dim);
  padding:10px 16px;
  border-radius:999px;
  transition:color .2s ease;
}
nav.main-nav a::after{
  content:"";position:absolute;left:16px;right:16px;bottom:6px;height:2px;
  background:var(--grad);border-radius:2px;
  transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease-out);
}
nav.main-nav a:hover{color:var(--text);}
nav.main-nav a:hover::after{transform:scaleX(1);}
nav.main-nav a.active{color:var(--accent);font-weight:600;}
nav.main-nav a.active::after{transform:scaleX(1);}

/* dropdown nav item */
.nav-item{position:relative;}
.nav-drop-trigger{
  display:flex;align-items:center;gap:6px;
  font:inherit;color:var(--text-dim);
  background:none;border:none;cursor:pointer;
  padding:10px 16px;border-radius:999px;
  transition:color .2s ease, background-color .2s ease;
}
.nav-drop-trigger:hover{color:var(--text);background:var(--panel);}
.nav-drop-trigger .chev{transition:transform .3s var(--ease-out);flex-shrink:0;}
.nav-item.open .nav-drop-trigger{color:var(--accent);background:rgba(124,58,237,0.08);}
.nav-item.open .nav-drop-trigger .chev{transform:rotate(180deg);}

.dropdown-menu{
  position:absolute;top:@@PROTECT0@@;left:0;
  background:rgba(var(--surface-rgb),0.88);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);
  padding:8px;min-width:260px;
  display:flex;flex-direction:column;gap:2px;
  opacity:0;pointer-events:none;transform:translateY(-10px) scale(.98);
  transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);
  z-index:60;
}
.nav-item.open .dropdown-menu{opacity:1;pointer-events:auto;transform:translateY(0) scale(1);}
.dropdown-menu a{
  padding:11px 14px;border-radius:10px;
  font-size:0.9rem;color:var(--text-dim);
  transition:background-color .2s ease, color .2s ease, padding-left .2s ease;
}
.dropdown-menu a::after{display:none;}
.dropdown-menu a:hover{background:var(--panel);color:var(--accent);padding-left:18px;}
.dropdown-menu a.active{color:var(--accent);background:rgba(124,58,237,0.08);font-weight:600;}
.dropdown-menu a.dropdown-overview{
  font-family:var(--font-mono);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;
  color:var(--text-faint);border-bottom:1px solid var(--line);border-radius:8px 8px 0 0;
  margin-bottom:4px;padding-bottom:12px;
}
.dropdown-menu a.dropdown-overview:hover{color:var(--accent);padding-left:14px;}

.nav-cta{display:flex;align-items:center;gap:14px;}
.nav-cta .btn{padding:11px 22px;font-size:0.88rem;}
.theme-toggle{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex-shrink:0;padding:0;transition:background-color .3s ease,border-color .3s ease,transform .2s ease;}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--accent);}.theme-toggle svg{width:18px;height:18px;display:block;}.theme-toggle .theme-icon--moon{display:none;}html[data-theme="dark"] .theme-toggle .theme-icon--sun{display:none;}html[data-theme="dark"] .theme-toggle .theme-icon--moon{display:block;}.menu-toggle{display:none;background:none;border:none;color:var(--text);font-size:1.5rem;cursor:pointer;}

@media (max-width:880px){
  nav.main-nav{
    position:fixed;inset:74px 16px auto 16px;
    background:rgba(var(--surface-rgb),0.92);
    backdrop-filter:blur(20px);
    flex-direction:column;
    align-items:stretch;
    padding:12px;
    gap:2px;
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-lg);
    border:1px solid var(--line);
    opacity:0;
    pointer-events:none;
    transform:translateY(-12px);
    transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);
  }
  nav.main-nav.open{opacity:1;pointer-events:auto;transform:translateY(0);}
  nav.main-nav a{padding:13px 14px;border-radius:10px;width:100%;}
  nav.main-nav a::after{display:none;}
  .menu-toggle{display:block;}
  .nav-cta .btn--ghost{display:none;}
  .nav-drop-trigger{width:100%;justify-content:space-between;padding:13px 14px;}
  .dropdown-menu{
    position:static;
    box-shadow:none;border:none;backdrop-filter:none;background:transparent;
    opacity:1;pointer-events:none;transform:none;
    max-height:0;overflow:hidden;padding:0 0 0 12px;
    transition:max-height .3s ease;
  }
  .nav-item.open .dropdown-menu{pointer-events:auto;max-height:420px;padding:4px 0 8px 12px;}
}

/* ===== accessibility & polish ===== */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:4px;
}
::selection{background:var(--accent);color:#fff;}

.section--panel{background:var(--panel);background-image:none;}

/* ===== page hero (interior pages) ===== */
.page-hero{
  padding:96px 0 64px;
  position:relative;
  overflow:hidden;
}
.page-hero h1{font-size:clamp(2.1rem,4.2vw,3.1rem);margin-bottom:0.3em;}
.breadcrumb{font-family:var(--font-mono);font-size:0.78rem;color:var(--text-faint);margin-bottom:18px;display:inline-block;}
.breadcrumb a:hover{color:var(--accent);}

/* ===== cards / grids ===== */
.grid{display:grid;gap:26px;}
.grid--4{grid-template-columns:repeat(4,1fr);}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--2{grid-template-columns:repeat(2,1fr);}
@media (max-width:900px){
  .grid--4{grid-template-columns:repeat(2,1fr);}
  .grid--3{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .grid--4, .grid--3, .grid--2{grid-template-columns:1fr;}
}

.card{
  --mx:50%; --my:50%;
  background:rgba(var(--surface-rgb),0.72);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid var(--line);
  padding:30px;
  border-radius:var(--radius-md);
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:border-color .4s var(--ease-out), transform .5s var(--ease-spring), box-shadow .45s var(--ease-out);
  will-change:transform;
  transform:perspective(900px);
}
.card::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--grad);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .4s var(--ease-out);
}
.card::after{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(320px circle at var(--mx) var(--my), rgba(124,58,237,0.14), transparent 60%);
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
}
.card:hover{
  border-color:#d9cbf7;
  box-shadow:var(--shadow-glow);
}
.card:hover::before{transform:scaleX(1);}
.card:hover::after{opacity:1;}
.card h3{font-size:1.12rem;margin-bottom:10px;}
.card .num{
  font-family:var(--font-mono);
  color:var(--accent-2);
  font-size:0.78rem;
  letter-spacing:0.1em;
  margin-bottom:14px;
  display:block;
}

.icon-box{
  width:46px;height:46px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  color:var(--accent);
  background:var(--panel);
  margin-bottom:18px;
  font-weight:600;
}

/* ===== footer ===== */
footer.site-footer{
  background:var(--ink);
  background-image:radial-gradient(circle at 15% 0%, rgba(124,58,237,0.28), transparent 55%);
  color:var(--ink-fg-dim);
  border-top:1px solid var(--ink);
  padding:72px 0 24px;
  font-size:0.92rem;
  position:relative;
  overflow:hidden;
}
footer.site-footer p{color:var(--ink-fg-dim);}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:40px;
  margin-bottom:48px;
}
@media (max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{
  font-family:var(--font-display);
  font-size:0.85rem;
  color:#fff;
  letter-spacing:0.06em;
  margin-bottom:16px;
}
.footer-grid ul{list-style:none;padding:0;margin:0;}
.footer-grid li{margin-bottom:10px;}
.footer-grid a:hover{color:var(--lavender);}
.footer-bottom{
  border-top:1px solid rgba(196,181,253,0.18);
  padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;
  color:var(--ink-fg-dim);
  font-size:0.82rem;
  flex-wrap:wrap;
  gap:12px;
}
.footer-social{display:flex;gap:14px;}
.footer-social a{
  width:36px;height:36px;border:1px solid rgba(196,181,253,0.25);border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  color:var(--ink-fg-dim);
  transition:border-color .25s ease, color .25s ease, transform .35s var(--ease-spring);
}
.footer-social a:hover{border-color:var(--lavender);color:var(--lavender);transform:translateY(-3px);}

/* ===== misc shared ===== */
.section-head{max-width:640px;margin:0 auto 56px;text-align:center;}
.section-head h2{font-size:clamp(1.7rem,3.2vw,2.5rem);}
.section-head p{font-size:1.02rem;}

.cta-band{
  position:relative;
  overflow:hidden;
  background:var(--panel);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:64px 0;
  text-align:center;
}
.cta-band .phone-big{
  font-family:var(--font-display);
  font-size:clamp(1.7rem,4vw,2.5rem);
  background:var(--grad-text);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  margin:14px 0 26px;
  font-weight:700;
}
.phone-big{
  font-family:var(--font-display);
  font-weight:700;
}

table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius-md);overflow:hidden;}
th,td{padding:15px 16px;border-bottom:1px solid var(--line);text-align:left;}
th{font-family:var(--font-body);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-dim);background:var(--panel);font-weight:600;}

form.form-panel{
  background:rgba(var(--surface-rgb),0.75);
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid var(--line);
  padding:38px;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
}
form.form-panel label{
  display:block;font-family:var(--font-body);font-size:0.8rem;font-weight:600;
  letter-spacing:0.01em;color:var(--text-dim);
  margin-bottom:8px;
}
form.form-panel input, form.form-panel select, form.form-panel textarea{
  width:100%;background:var(--surface);border:1px solid var(--line);color:var(--text);
  padding:13px 15px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:0.95rem;
  margin-bottom:20px;
  transition:border-color .25s ease, box-shadow .25s ease;
}
form.form-panel input:focus, form.form-panel textarea:focus, form.form-panel select:focus{
  outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(124,58,237,0.12);
}

/* ===================================================================
   HERO - homepage
=================================================================== */
.hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:transparent;
  padding-top:8px;
}
.hero-mesh{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(760px 520px at 18% 10%, rgba(124,58,237,0.14), transparent 62%),
    radial-gradient(620px 460px at 88% 30%, rgba(196,181,253,0.22), transparent 60%);
}
.hero-spotlight{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(560px circle at var(--sx,50%) var(--sy,26%), rgba(124,58,237,0.10), transparent 62%);
}
.hero > .wrap{position:relative;z-index:2;}

.hero-eyebrow{color:var(--accent) !important;}
.hero-copy h1{
  color:var(--text);
  min-height:2.2em;
}
.hero-copy h1 .word{display:inline-block;will-change:transform,opacity,filter;}
.hero-copy p{color:var(--text-dim);}
.hero-stats{display:flex;gap:36px;flex-wrap:wrap;margin-top:44px;}
.hero-stat-value{
  font-family:var(--font-display);font-size:1.7rem;font-weight:700;
  background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-stat-label{font-family:var(--font-body);font-size:0.76rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.08em;margin-top:2px;}

/* hero photo: gentle float + tilt (no cyber scan effects) */
.hero-photo-tilt{perspective:1200px;}
.hero-photo-frame{
  position:relative;isolation:isolate;
  transform:rotateX(0deg) rotateY(0deg) translateY(0);
  transition:transform .4s var(--ease-out);
  will-change:transform;
  animation:heroFloat 6.5s ease-in-out infinite;
}
@keyframes heroFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-14px); }
}
.hero-photo-glow{
  position:absolute;inset:20px -20px -20px 20px;
  background:var(--grad);border-radius:28px;opacity:0.22;z-index:0;
  filter:blur(2px);
}
.hero-photo{
  position:relative;z-index:1;
  width:100%;height:380px;object-fit:cover;object-position:center 25%;
  border-radius:24px;border:1px solid rgba(var(--surface-rgb),0.6);
  box-shadow:var(--shadow-lg);
  display:block;
}
.hero-badge{
  position:absolute;left:22px;bottom:22px;z-index:2;
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(26,18,37,0.82);backdrop-filter:blur(10px);
  color:#fff;padding:11px 18px;border-radius:999px;
  font-family:var(--font-body);font-size:0.76rem;letter-spacing:0.02em;font-weight:600;
  box-shadow:0 16px 32px -14px rgba(26,18,37,0.5);
}
.hero-badge-dot{
  width:8px;height:8px;border-radius:50%;background:#a78bfa;flex-shrink:0;
  box-shadow:0 0 0 4px rgba(167,139,250,0.25);
  animation:dotPulse 2s ease infinite;
}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 4px rgba(167,139,250,0.25);}50%{box-shadow:0 0 0 9px rgba(167,139,250,0.08);}}
.hero-photo-caption{
  font-family:var(--font-body);font-size:0.78rem;text-align:center;font-weight:500;
  color:var(--text-faint);margin-top:18px;position:relative;z-index:1;letter-spacing:0.02em;
}
@media (max-width:640px){ .hero-photo{height:280px;} }

/* section divider - soft gradient line instead of cyber signal path */
.signal-divider{position:relative;height:1px;overflow:visible;background:transparent;}
.signal-divider svg{display:none;}
.signal-divider::before{
  content:"";position:absolute;left:50%;top:0;width:min(680px,70%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--line) 20%,var(--accent-2) 50%,var(--line) 80%,transparent);opacity:0.7}.reveal,[data-reveal]{opacity:0;transform:translateY(34px);filter:blur(6px)}.reveal.is-visible,[data-reveal].is-visible{opacity:1;transform:translateY(0);filter:blur(0px)}.reveal-scale{opacity:0;transform:scale(0.94)}.reveal-scale.is-visible{opacity:1;transform:scale(1)}@media (prefers-reduced-motion:reduce){.reveal,[data-reveal],.reveal-scale{opacity:1 !important;transform:none !important;filter:none !important}}