:root{
  --bg:#f6f8fb;
  --bg2:#ffffff;
  --ink:#111827;
  --muted:#5f6b7a;
  --line:#d8e0ea;
  --panel:#ffffff;
  --navy:#0b1220;
  --navy2:#111827;
  --slate:#1f2937;
  --teal:#0f766e;
  --cyan:#0891b2;
  --cyan2:#5eead4;
  --gold:#d6a13a;
  --accent:#0e7490;
  --dark:#0b1220;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:var(--bg);
}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max), calc(100% - 44px));margin:0 auto}
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.12em;color:var(--navy)}
.brand span{display:inline-block;transform:translateY(1px)}
.brand-logo{width:38px;height:38px;display:block;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(23,63,61,.18));}
.nav-links{display:flex;align-items:center;gap:22px;color:var(--muted);font-size:15px}
.nav-links a:hover{color:var(--teal)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 17px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:800;box-shadow:none;transition:.18s ease}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn.ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.18)}
.btn:hover{transform:translateY(-1px)}
.hero{padding:86px 0 70px;border-bottom:1px solid rgba(255,255,255,.08)}
.prism-theme{
  background:
    radial-gradient(circle at 50% 44%,rgba(255,255,255,.08),transparent 32%),
    linear-gradient(135deg,var(--teal2),var(--teal));
  color:#fff;
  min-height:620px;
  display:flex;
  align-items:center;
}
.hero-grid{display:grid;grid-template-columns:1fr .95fr;gap:64px;align-items:center}
.eyebrow{color:var(--gold);font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:12px;margin-bottom:14px}
h1{font-size:clamp(38px,5vw,62px);line-height:1.05;margin:0 0 22px;letter-spacing:-.045em;color:#f8fafc;max-width:760px}
.lead{font-size:clamp(16px,1.55vw,20px);line-height:1.72;color:#d7dee8;max-width:720px;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}
.tagline{margin-top:34px;color:#93c5fd;font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
.prism-visual{position:relative;min-height:410px;border-radius:28px;overflow:hidden;background:radial-gradient(circle at center,rgba(255,255,255,.12),rgba(255,255,255,.03) 40%,rgba(0,0,0,.05)), linear-gradient(135deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.12);box-shadow:0 25px 80px rgba(0,0,0,.22);padding:34px}
.oldsite-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.oldsite-title{font-size:42px;letter-spacing:.05em;font-weight:500;color:var(--coral)}.oldsite-tag{font-size:14px;line-height:1.4;text-align:right;letter-spacing:.08em;font-weight:800;color:var(--gold);text-transform:uppercase;max-width:290px}
.gold-line{width:145px;height:3px;background:var(--gold);margin-top:22px;border-radius:99px}.scanner-sketch-wrap{position:absolute;inset:108px 26px 82px 26px;display:flex;align-items:center;justify-content:center}.scanner-sketch{width:100%;height:100%;max-width:500px;display:block;filter:drop-shadow(0 18px 28px rgba(0,0,0,.18))}
.tile{position:absolute;border-radius:7px;box-shadow:0 18px 28px rgba(0,0,0,.18)}
.tile-a{width:122px;height:122px;background:linear-gradient(135deg,#39c1c6,#168b98);right:95px;top:120px;transform:rotate(45deg)}
.tile-b{width:74px;height:78px;background:linear-gradient(135deg,#ff7979,var(--coral));right:210px;top:170px;transform:rotate(45deg)}
.tile-c{width:92px;height:92px;background:linear-gradient(135deg,#ffd26b,var(--gold));right:130px;top:242px;transform:rotate(45deg)}
.license-line{position:absolute;left:34px;right:34px;bottom:34px;color:#dbeafe;font-size:13px}
.license-line div{height:6px;background:rgba(255,255,255,.22);border-radius:999px;margin-top:13px;overflow:hidden}.license-line i{display:block;height:100%;width:70%;background:var(--gold);border-radius:999px}
section{padding:74px 0}.first-section{background:#fff}
.section-head{max-width:800px;margin-bottom:32px}.section-head.compact{margin-bottom:0}
h2{font-size:clamp(30px,4vw,46px);line-height:1.09;margin:0 0 16px;letter-spacing:-.035em;color:var(--navy)}
p{color:#526073;line-height:1.7}.service-grid,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service,.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:26px;min-height:210px;box-shadow:0 10px 28px rgba(15,23,42,.035)}
.priority-grid .service{border-top:3px solid #cbd5e1}.priority-grid .highlight-service{border-top-color:var(--accent)}
.service h3,.card h3,.notice-card h3{color:var(--teal2);margin-top:0}.service p{margin:0;color:var(--muted);line-height:1.65}
.band{border:1px solid var(--line);border-radius:18px;padding:38px;background:#fff;box-shadow:0 14px 36px rgba(15,23,42,.045)}.dark-band{background:linear-gradient(135deg,#0b1220,#18324a);border-color:rgba(255,255,255,.08);color:#fff}.dark-band h2{color:#fff}.dark-band p{color:#d7e4e4}.scanning-band{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}.scan-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:0}.scan-list span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:9px 12px;border-radius:999px;color:#fff;font-size:14px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}.notice-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 12px 34px rgba(15,23,42,.045)}.software-card{background:linear-gradient(135deg,#f8fafc,#ffffff 58%,#eef9fb)}
.pill{display:inline-flex;align-items:center;font-size:12px;letter-spacing:.16em;font-weight:900;color:#fff;background:var(--accent);padding:8px 12px;border-radius:8px;margin-bottom:18px}.format-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.format-row span{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;color:var(--ink);font-size:14px}.icon{width:42px;height:42px;border-radius:14px;background:#fff7e2;display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--coral);font-weight:900}
.contact-card{display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--line);background:linear-gradient(135deg,#0b1220,#18324a);border-radius:18px;padding:34px;color:#fff}.contact-card h2{color:#fff;margin:0 0 10px;font-size:clamp(30px,4vw,46px)}.contact-card p{margin:0;color:#cbd5e1}.contact-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.contact-card .btn{background:#173f3d;color:#fff;border-color:rgba(255,255,255,.18)}.contact-card .btn.primary{background:#e2e8f0;color:#0b1220;border-color:#e2e8f0}
.footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);background:#fff}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer a{text-decoration:underline;text-underline-offset:4px}
.legal-page{padding:64px 0}.legal-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:30px;overflow:hidden;box-shadow:0 14px 36px rgba(15,23,42,.045)}
table{width:100%;border-collapse:collapse}td,th{padding:15px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}th{width:34%;color:#0f172a}td{color:#526073}.notice{border:1px solid #bbf7d0;background:#f0fdf4;border-radius:18px;padding:16px;color:#166534}
.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:step}.step{counter-increment:step;border:1px solid var(--line);background:#fff;border-radius:22px;padding:22px}.step:before{content:"0" counter(step);display:inline-flex;margin-bottom:22px;color:var(--accent);font-weight:900}
@media(max-width:900px){.hero-grid,.cards,.service-grid,.workflow,.split,.scanning-band{grid-template-columns:1fr}.nav-links{display:none}.scan-list,.contact-actions{justify-content:flex-start}.contact-card{flex-direction:column;align-items:flex-start}h1{font-size:42px}.hero{padding:58px 0}.prism-visual{min-height:340px}.oldsite-header{flex-direction:column}.oldsite-tag{text-align:left;max-width:none}.scanner-sketch-wrap{inset:138px 12px 82px 12px}}


/* v8 technical/corporate refinements */
.nav-links{font-size:14px}
.eyebrow{color:#38bdf8}
.prism-theme{
  background:
    linear-gradient(rgba(148,163,184,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,.06) 1px, transparent 1px),
    radial-gradient(circle at 70% 45%,rgba(8,145,178,.20),transparent 30%),
    linear-gradient(135deg,#0b1220 0%,#111827 48%,#18324a 100%);
  background-size: 46px 46px, 46px 46px, auto, auto;
  color:#fff;
}
.technical-panel{
  min-height:430px;
  border-radius:18px;
  background:
    linear-gradient(rgba(148,163,184,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,.08) 1px, transparent 1px),
    linear-gradient(145deg,rgba(15,23,42,.86),rgba(30,41,59,.72));
  background-size:34px 34px,34px 34px,auto;
  border:1px solid rgba(226,232,240,.18);
  box-shadow:0 28px 80px rgba(0,0,0,.30);
}
.panel-topline{
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:#cbd5e1;
  font-size:11px;
  letter-spacing:.14em;
  font-weight:900;
}
.panel-topline span:last-child{color:#5eead4}
.scanner-sketch-wrap{position:absolute;inset:68px 22px 92px 22px;display:flex;align-items:center;justify-content:center}
.scanner-sketch{width:100%;height:100%;max-width:560px;display:block}
.readout-grid{
  position:absolute;
  left:28px;
  right:28px;
  bottom:28px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.readout-grid div{
  border:1px solid rgba(226,232,240,.16);
  background:rgba(15,23,42,.55);
  border-radius:12px;
  padding:12px;
}
.readout-grid span{
  display:block;
  color:#94a3b8;
  font-size:10px;
  letter-spacing:.16em;
  font-weight:900;
  margin-bottom:6px;
}
.readout-grid strong{
  display:block;
  color:#f8fafc;
  font-size:13px;
  line-height:1.25;
}
.gold-line,.oldsite-title,.oldsite-tag,.oldsite-header,.license-line{display:none}
.service h3,.card h3,.notice-card h3{color:#0b1220}
.icon{background:#e0f2fe;color:#0e7490;border-radius:10px}
.scan-list span{border-radius:8px}
.format-row span{border-radius:8px}
.footer a{text-decoration:none;border-bottom:1px solid currentColor}

@media(max-width:900px){
  .technical-panel{min-height:380px}
  .scanner-sketch-wrap{inset:58px 10px 112px 10px}
  .readout-grid{grid-template-columns:1fr;position:absolute;left:20px;right:20px;bottom:20px}
}


/* v9 hero illustration image */
.scanner-sketch-wrap{
  position:absolute;
  inset:52px 18px 88px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-illustration{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  border-radius:10px;
  box-shadow:0 12px 36px rgba(0,0,0,.18);
  opacity:.96;
}
@media(max-width:900px){
  .scanner-sketch-wrap{inset:52px 10px 110px 10px}
}


/* v10 reference-style theme */
:root{
  --ref-bg:#f7fafc;
  --ref-panel:#ffffff;
  --ref-ink:#0f1f2e;
  --ref-muted:#445266;
  --ref-accent:#28b1a4;
  --ref-accent-dark:#178f86;
  --ref-line:#d8e0e8;
}
body{background:var(--ref-bg);color:var(--ref-ink)}
.nav{background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(15,31,46,.06)}
.nav-inner{height:86px}
.brand{color:var(--ref-ink)}
.brand-logo{width:42px;height:42px}
.nav-links{gap:26px;font-size:14px;color:#233244}
.nav-links a:hover{color:var(--ref-accent-dark)}
.nav-links .btn{padding:12px 22px;border-radius:6px;border-color:rgba(40,177,164,.45)}
.btn{border-radius:6px;padding:13px 22px;font-weight:800;letter-spacing:.01em}
.btn.primary{background:linear-gradient(135deg,var(--ref-accent),var(--ref-accent-dark));border-color:var(--ref-accent-dark)}
.btn.outline{background:transparent;border:1px solid rgba(23,143,134,.5);color:var(--ref-accent-dark)}
.hero-reference{padding:42px 0 54px;position:relative;overflow:hidden;background:linear-gradient(90deg,#ffffff 0%,#f8fbfd 36%,#e8eef4 100%)}
.hero-reference-grid{display:grid;grid-template-columns:minmax(0, .96fr) minmax(0, 1.04fr);gap:36px;align-items:start;min-height:760px}
.hero-copy{padding:132px 0 0;position:relative;z-index:2}
.accent-dark{color:var(--ref-accent-dark)}
.hero-copy h1{font-size:clamp(40px,5.6vw,74px);line-height:.98;letter-spacing:-.045em;color:#081826;max-width:760px;margin:0 0 26px}
.hero-copy h1 span{color:var(--ref-accent)}
.lead.dark{font-size:clamp(18px,1.8vw,22px);line-height:1.6;color:#26374a;max-width:620px}
.hero-btn{min-width:210px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero-photo-panel{position:relative;min-height:760px;border-radius:0 0 0 36px;overflow:hidden;display:flex;align-items:stretch;justify-content:flex-end}
.hero-photo-panel::before{content:"";position:absolute;inset:0;left:-22%;background:linear-gradient(90deg,#ffffff 0%, rgba(255,255,255,.96) 18%, rgba(255,255,255,.58) 34%, rgba(255,255,255,.12) 52%, rgba(255,255,255,0) 64%);z-index:1;pointer-events:none}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:saturate(1.02) contrast(1.01)}
.hero-features{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;max-width:760px;border-top:1px solid rgba(15,31,46,.08)}
.hero-features article{padding:22px 24px 0 0;min-height:178px;position:relative}
.hero-features article:not(:last-child){border-right:1px solid rgba(15,31,46,.12);padding-right:26px;margin-right:26px}
.feature-icon{font-size:32px;line-height:1;color:var(--ref-accent);margin-bottom:18px;font-weight:400}
.hero-features h3{margin:0 0 10px;font-size:16px;letter-spacing:.02em;text-transform:uppercase;color:#15283b}
.hero-features p{margin:0;color:#49586c;line-height:1.7;font-size:15px}
.hero-bottom-tag{margin-top:40px;color:var(--ref-accent-dark);font-size:14px;letter-spacing:.34em;font-weight:800}
.first-section{background:#fff}
.section-head{max-width:860px}
.section-head .eyebrow{color:var(--ref-accent-dark)}
h2{color:#102030}
p{color:#506074}
.service,.card,.notice-card,.legal-card,.band,.contact-card{border-radius:14px}
.service,.card,.notice-card,.legal-card{border-color:var(--ref-line)}
.priority-grid .highlight-service{border-top-color:var(--ref-accent-dark)}
.icon{background:#e8fbf8;color:var(--ref-accent-dark)}
.dark-band{background:linear-gradient(135deg,#102030,#1d3a53)}
.scan-list span{border-radius:6px}
.contact-card{background:linear-gradient(135deg,#f8fbfd,#edf5f8);color:#102030;border-color:var(--ref-line)}
.contact-card h2{color:#102030}.contact-card p{color:#445266}.contact-card .eyebrow{color:var(--ref-accent-dark)}
.contact-card .btn{background:#fff;color:#102030;border-color:var(--ref-line)}
.contact-card .btn.primary{background:linear-gradient(135deg,var(--ref-accent),var(--ref-accent-dark));color:#fff;border-color:var(--ref-accent-dark)}
.footer{background:#fff}
.footer a{text-decoration:none;border-bottom:1px solid rgba(15,31,46,.25)}
.gold-line,.oldsite-title,.oldsite-tag,.oldsite-header,.license-line,.technical-panel,.panel-topline,.scanner-sketch,.readout-grid{display:none !important}
@media (max-width: 1100px){
  .hero-reference-grid{grid-template-columns:1fr;min-height:unset}
  .hero-copy{padding-top:70px}
  .hero-photo-panel{min-height:420px;border-radius:24px}
  .hero-photo-panel::before{left:0;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0))}
}
@media (max-width: 900px){
  .hero-reference{padding:24px 0 42px}
  .hero-copy{padding-top:38px}
  .hero-copy h1{font-size:44px}
  .lead.dark{font-size:18px}
  .hero-features{grid-template-columns:1fr;border-top:0;gap:14px;margin-top:38px}
  .hero-features article{padding:18px 0 0;min-height:auto}
  .hero-features article:not(:last-child){border-right:0;border-bottom:1px solid rgba(15,31,46,.10);padding-right:0;margin-right:0;padding-bottom:18px}
  .hero-bottom-tag{letter-spacing:.18em}
}


/* v11 dark theme */
:root{
  --dark-bg:#08111a;
  --dark-bg2:#0c1724;
  --dark-panel:#0f1b2a;
  --dark-panel-2:#132334;
  --dark-line:rgba(148,163,184,.16);
  --dark-ink:#e8eef5;
  --dark-muted:#a7b6c8;
  --dark-accent:#29b4a6;
  --dark-accent-2:#4fd2c5;
}
html{color-scheme:dark}
body{background:linear-gradient(180deg,#08111a 0%, #0b1520 100%);color:var(--dark-ink)}
.nav{background:rgba(8,17,26,.82)!important;border-bottom:1px solid rgba(148,163,184,.10)!important;backdrop-filter:blur(14px)}
.brand,.nav-links{color:var(--dark-ink)!important}
.nav-links a{color:#dbe5ef}
.nav-links a:hover{color:var(--dark-accent-2)!important}
.nav-links .btn{background:transparent;border-color:rgba(79,210,197,.42)!important;color:var(--dark-accent-2)!important}
.hero-reference{background:radial-gradient(circle at 78% 28%, rgba(41,180,166,.12), transparent 26%), linear-gradient(90deg,#08111a 0%, #0a1520 34%, #132334 100%)!important}
.hero-copy h1{color:#f5f9fc!important}
.hero-copy h1 span{color:var(--dark-accent-2)!important}
.lead.dark,.hero-features p,p{color:var(--dark-muted)!important}
.accent-dark,.section-head .eyebrow,.hero-bottom-tag{color:var(--dark-accent-2)!important}
.hero-photo-panel{box-shadow:0 18px 60px rgba(0,0,0,.28)}
.hero-photo-panel::before{background:linear-gradient(90deg,#08111a 0%, rgba(8,17,26,.95) 17%, rgba(8,17,26,.56) 34%, rgba(8,17,26,.12) 52%, rgba(8,17,26,0) 64%)!important}
.hero-features{border-top:1px solid rgba(148,163,184,.14)!important}
.hero-features article:not(:last-child){border-right:1px solid rgba(148,163,184,.14)!important}
.hero-features h3{color:#e8eef5!important}
.feature-icon{color:var(--dark-accent-2)!important}
.first-section,.footer{background:transparent!important}
h2,h3,.service h3,.card h3,.notice-card h3,.contact-card h2,.legal-card h2{color:#f5f9fc!important}
.service,.card,.notice-card,.legal-card,.band,.contact-card{
  background:linear-gradient(180deg,rgba(15,27,42,.96),rgba(12,23,36,.96))!important;
  border:1px solid var(--dark-line)!important;
  box-shadow:0 16px 40px rgba(0,0,0,.18)!important;
}
.priority-grid .highlight-service{border-top:3px solid var(--dark-accent)!important}
.icon{background:rgba(41,180,166,.12)!important;color:var(--dark-accent-2)!important}
.dark-band{background:linear-gradient(135deg,#0f1b2a,#173247)!important}
.scan-list span,.format-row span,.pill{
  background:rgba(41,180,166,.10)!important;
  color:#dffbf7!important;
  border:1px solid rgba(79,210,197,.18)!important;
}
.pill{border-radius:8px!important}
.contact-card{background:linear-gradient(135deg,#0f1b2a,#173247)!important;color:#f5f9fc!important}
.contact-card p{color:#c3d0de!important}
.contact-card .btn{background:transparent!important;color:#e8eef5!important;border-color:rgba(148,163,184,.28)!important}
.contact-card .btn.primary{background:linear-gradient(135deg,var(--dark-accent),var(--dark-accent-2))!important;color:#06211f!important;border-color:transparent!important}
.footer{border-top:1px solid rgba(148,163,184,.10)}
.footer a{color:#dbe5ef;border-bottom:1px solid rgba(219,229,239,.25)!important}
.notice{background:rgba(41,180,166,.12)!important;color:#dffbf7!important;border:1px solid rgba(79,210,197,.22)!important}
table th{color:#dfe8f2!important;border-bottom:1px solid rgba(148,163,184,.14)!important;background:rgba(255,255,255,.01)}
table td{color:#b7c5d5!important;border-bottom:1px solid rgba(148,163,184,.10)!important}
table a{color:#84f3e7}
.legal-page .section-head p,.legal-card p{color:#a7b6c8!important}
@media(max-width:1100px){
  .hero-photo-panel::before{background:linear-gradient(180deg,rgba(8,17,26,.18),rgba(8,17,26,0))!important}
}
