.home{
  --blue:var(--brand-primary);--navy:var(--brand-primary);--ink:#18384b;
  --muted:#64748b;--line:#e2e9f2;--soft:#f4f7fc;
}
.home *{box-sizing:border-box}
.home{--home-screen-height:calc(100vh - var(--home-header-height, 100px))}
.home{
  margin:0;color:var(--ink);background:#fff;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  line-height:1.7;-webkit-font-smoothing:antialiased;
}
.home h1,.home h2,.home h3,.home p{margin:0}
.home h1,.home h2,.home h3{line-height:1.2}
.home h1{font-size:clamp(38px,4.8vw,64px);letter-spacing:-2px}
.home h2{font-size:clamp(28px,3vw,39px);letter-spacing:-1px}
.home h3{font-size:20px}
.home p{color:var(--muted)}
.home a{color:inherit;text-decoration:none}
.home button,.home input,.home select,.home textarea{font:inherit}
.home button{cursor:pointer}
.home :focus-visible{outline:3px solid #65b9ff;outline-offset:4px}
.home .wrap{width:min(1200px,calc(100% - 64px));margin:auto}
.home .section{padding:90px 0}
.home .soft{background:var(--soft)}
.home .eyebrow{
  display:flex;align-items:center;gap:10px;
  color:var(--blue);font-size:11px;font-weight:700;
  letter-spacing:1.8px;text-transform:uppercase;margin-bottom:18px;
}
.home .eyebrow:before{
  content:"";width:22px;height:2px;
  background:currentColor;flex-shrink:0;
}
.home .heading{margin-bottom:40px}
.home .heading p{max-width:680px;margin-top:16px}
.home .btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:18px;padding:12px 20px;min-height:48px;
  border:1px solid transparent;border-radius:7px;
  font-size:14px;font-weight:650;
  transition:background .2s,transform .2s;
}
.home .btn:hover{transform:translateY(-2px)}
.home .primary{background:var(--blue);color:#fff}
.home .primary:hover{background:#0c43b5}
.home .outline{background:white;border-color:#d5dfed}
.home .link{
  display:inline-flex;align-items:center;gap:12px;
  color:var(--blue);font-size:13px;font-weight:650;
}
.home .link:hover{text-decoration:underline}
.home .skip{
  position:fixed;top:-100px;left:16px;z-index:100;
  background:var(--blue);color:white;padding:12px;
}
.home .skip:focus{top:12px}
.home header{
  position:sticky;top:0;z-index:40;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(16px);border-bottom:1px solid var(--line);
}
.home .nav{
  display:flex;justify-content:space-between;
  align-items:center;gap:24px;height:80px;
}
.home .brand{
  color:var(--blue);font-size:27px;
  font-weight:850;letter-spacing:-1px;line-height:1;
}
.home .brand small{
  display:block;margin-top:8px;font-size:8px;
  color:#65748c;font-weight:500;letter-spacing:1.6px;
  text-transform:uppercase;
}
.home .nav-links{display:flex;align-items:center;gap:25px;font-size:13px}
.home .nav-links a:hover{color:var(--blue)}
.home .nav-links .nav-cta{
  padding:10px 17px;background:var(--blue);
  color:white;border-radius:6px;
}
.home .menu{
  display:none;width:44px;height:44px;background:white;
  border:1px solid var(--line);border-radius:6px;
}
.home .menu span{
  display:block;width:18px;height:2px;
  margin:4px auto;background:var(--ink);
}
.home .hero{
  overflow:hidden;padding:80px 0 35px;
  background:radial-gradient(ellipse at 85% 35%,#e4edff,transparent 48%),
             linear-gradient(115deg,#fff,#f5f8fe);
}
.home .hero-grid{
  display:grid;grid-template-columns:1.1fr 1fr;
  gap:45px;align-items:center;
}
.home .hero h1 span{color:var(--blue)}
.home .hero-copy{max-width:495px;font-size:17px;margin-top:24px}
.home .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.home .hero-note{
  display:flex;flex-wrap:wrap;gap:14px;
  margin-top:24px;font-size:11px;
}
.home .hero-note span:before{content:"✓";color:var(--blue);margin-right:6px}
.home .hero-art{
  position:relative;display:grid;place-items:center;
  min-height:420px;
}
.home .orbit{
  position:absolute;width:380px;height:380px;
  border:1px solid #cad9f6;border-radius:50%;
}
.home .orbit:before,.home .orbit:after{
  content:"";position:absolute;inset:35px;
  border:1px dashed #c7d7f0;border-radius:50%;
}
.home .orbit:after{inset:75px;border-style:solid}
.home .credential{
  position:relative;width:235px;height:305px;
  background:white;border:1px solid #dbe5f3;border-radius:15px;
  box-shadow:0 25px 55px #1b3f7930;
  transform:rotate(-9deg);overflow:hidden;
}
.home .card-top{
  padding:22px;color:white;background:linear-gradient(130deg,#1455db,#287afa);
  font-size:19px;font-weight:750;letter-spacing:2px;
}
.home .card-top small{
  display:block;margin-top:6px;font-size:8px;font-weight:400;
  letter-spacing:1px;
}
.home .card-body{padding:20px}
.home .identity{display:flex;gap:12px;align-items:center}
.home .avatar{
  position:relative;width:53px;height:62px;
  background:#e9f0fa;border-radius:7px;flex-shrink:0;
}
.home .avatar:before{
  content:"";position:absolute;top:10px;left:17px;
  width:19px;height:19px;border-radius:50%;background:#8ba7d4;
}
.home .avatar:after{
  content:"";position:absolute;left:9px;bottom:6px;
  width:35px;height:22px;border-radius:20px 20px 4px 4px;
  background:#8ba7d4;
}
.home .identity strong{font-size:13px}
.home .identity small{display:block;font-size:9px;color:var(--muted)}
.home .lines{margin-top:22px}
.home .lines i{
  display:block;height:5px;margin:10px 0;
  border-radius:4px;background:#e8eef8;
}
.home .lines i:nth-child(2){width:70%}
.home .barcode{
  width:120px;height:25px;margin-top:19px;
  background:repeating-linear-gradient(
    90deg,#19365e 0 2px,white 2px 5px,
    #19365e 5px 6px,white 6px 9px
  );
}
.home .card-note{font-size:8px;color:var(--muted);margin-top:7px}
.home .tag{
  position:absolute;z-index:2;padding:11px 14px;
  border:1px solid #e0e8f5;border-radius:10px;
  background:white;box-shadow:0 10px 30px #204b8210;
}
.home .tag strong{display:block;font-size:12px}
.home .tag small{font-size:9px;color:var(--muted)}
.home .tag.one{top:35px;left:0}
.home .tag.two{right:0;top:170px}
.home .tag.three{left:12px;bottom:25px}
.home .hero-bottom{
  display:flex;justify-content:space-between;gap:20px;
  border-top:1px solid #dfe7f3;padding-top:22px;margin-top:40px;
  color:var(--muted);font-size:11px;
}
.home .hero-bottom strong{color:#3e5579}
.home .hero-bottom div{display:flex;gap:22px;flex-wrap:wrap}
.home .lifecycle{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.home .step{
  position:relative;padding:26px 20px;
  background:#fff;border:1px solid var(--line);border-radius:12px;
}
.home .step:not(:last-child):after{
  content:"→";position:absolute;top:54px;right:-19px;
  color:#a4b6d2;background:white;z-index:1;
}
.home .num{font-size:10px;color:#8fa1bc;letter-spacing:1px}
.home .step>.num{position:absolute;right:17px;top:17px}
.home .icon{
  width:44px;height:44px;display:grid;place-items:center;
  margin-bottom:20px;border-radius:10px;
  background:#eef4ff;color:var(--blue);
}
.home .icon svg{
  width:24px;height:24px;fill:none;stroke:currentColor;
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
.home .step h3{font-size:18px;margin-bottom:9px}
.home .step p{font-size:12px;min-height:42px}
.home .step small{display:block;margin-top:17px;color:var(--blue);font-size:10px}
.home .flow-caption{margin-top:25px;text-align:center;font-size:13px}
.home .products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.home .product{
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--line);border-radius:18px;background:white;
  transition:transform .2s,box-shadow .2s;
}
.home .product:hover{transform:translateY(-5px);box-shadow:0 15px 35px #15366310}
.home .media{
  position:relative;height:185px;display:grid;place-items:center;
  background:linear-gradient(145deg,#f4f7fc,#eaf0fa);overflow:hidden;
}
.home .media img{
  position:relative;z-index:1;width:100%;height:100%;
  object-fit:contain;padding:12px;
}
.home .fallback{
  position:absolute;inset:0;display:grid;place-content:center;
  color:#8aa3ca;font-size:36px;font-weight:750;
}
.home .product-body{display:flex;flex-direction:column;flex:1;padding:24px}
.home .code{
  color:var(--blue);font-size:12px;font-weight:700;
  letter-spacing:1px;margin-bottom:8px;
}
.home .product h3{font-size:19px}
.home .product p{font-size:13px;line-height:1.85;margin:15px 0 22px}
.home .product .link{margin-top:auto;font-size:12px}
.home .mini-app{
  width:85%;height:125px;display:flex;overflow:hidden;
  background:white;border:1px solid #d7e0ef;border-radius:6px;
  box-shadow:0 8px 20px #233e7510;
}
.home .mini-aside{width:30px;background:#17294b}
.home .mini-main{flex:1;padding:14px;font-size:10px;color:var(--blue)}
.home .mini-main i{display:block;height:5px;background:#e7edf7;margin-top:12px}
.home .mini-blocks{display:flex;gap:6px;margin-top:14px}
.home .mini-blocks span{height:32px;flex:1;background:#eaf1ff;border-radius:3px}
.home .mini-blocks span:first-child{background:var(--blue)}
.home .scenarios{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.home .scenario{padding:24px 17px;border-left:1px solid var(--line)}
.home .scenario:first-child{border-left:0}
.home .scenario .icon{background:transparent}
.home .scenario h3{font-size:17px;min-height:43px;margin-bottom:12px}
.home .scenario p{font-size:13px;line-height:1.85}
.home .scenario small{
  display:block;margin-top:22px;font-size:9px;
  color:#8c9bb0;text-transform:uppercase;letter-spacing:.5px;
}
.home .crevia{background:var(--navy);color:white}
.home .crevia-grid{
  display:grid;grid-template-columns:.95fr 1.05fr;
  gap:60px;align-items:center;
}
.home .crevia .eyebrow{color:#75a4ff}
.home .crevia h2 span{
  display:block;margin-top:12px;font-size:25px;
  color:#8eb4ff;letter-spacing:-.5px;
}
.home .crevia p{color:#a7b6cd;font-size:14px;margin-top:22px}
.home .features{
  display:grid;grid-template-columns:1fr 1fr;
  gap:12px;margin:28px 0 32px;font-size:12px;color:#d9e3f5;
}
.home .features span:before{content:"✓";color:#75a4ff;margin-right:8px}
.home .crevia .btn{background:white;color:var(--navy)}
.home .dashboard{
  overflow:hidden;background:#f6f8fc;color:var(--ink);
  border:1px solid #4d628b;border-radius:12px;
  box-shadow:0 20px 70px #0003;
}
.home .dash-top{
  display:flex;justify-content:space-between;align-items:center;
  gap:10px;background:white;padding:13px 16px;
  border-bottom:1px solid var(--line);
}
.home .dash-top strong{font-size:15px;color:var(--blue);letter-spacing:1px}
.home .dash-top small{font-size:9px;color:var(--muted)}
.home .dash-body{display:flex;min-height:300px}
.home .dash-aside{
  width:85px;flex-shrink:0;background:#182b4e;
  padding:16px 6px;font-size:9px;color:#a7b6d0;
}
.home .dash-aside span{display:block;padding:8px;margin-bottom:5px;border-radius:4px}
.home .dash-aside span:first-child{background:#2a4d87;color:white}
.home .dash-main{padding:20px;min-width:0;flex:1}
.home .dash-title{font-size:13px;margin-bottom:16px}
.home .dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.home .dash-stat{
  padding:10px;background:white;
  border:1px solid var(--line);border-radius:6px;
}
.home .dash-stat small{display:block;color:var(--muted);font-size:8px}
.home .dash-stat b{font-size:13px;color:var(--blue)}
.home .dash-work{
  margin-top:18px;padding:14px;font-size:10px;
  background:white;border:1px solid var(--line);border-radius:6px;
}
.home .task{
  display:flex;justify-content:space-between;gap:8px;
  padding:11px 0;border-bottom:1px solid #edf1f7;
}
.home .task span:last-child{color:var(--blue);white-space:nowrap}
.home .progress{height:5px;background:#e5edfa;border-radius:5px;margin-top:14px}
.home .progress span{display:block;width:75%;height:100%;background:var(--blue)}
.home .demo-note{font-size:10px!important;text-align:right;margin-top:12px!important}
.home .advantages{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.home .advantage{border-top:2px solid #d9e5fc;padding-top:22px}
.home .advantage .num{display:block;color:var(--blue);margin-bottom:20px}
.home .advantage h3{font-size:19px;margin-bottom:14px}
.home .advantage p{font-size:14px;line-height:1.85}
.home .cooperations{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.home .cooperation{
  display:flex;flex-direction:column;padding:30px;
  border:1px solid var(--line);border-radius:14px;background:white;
}
.home .cooperation h3{font-size:19px}
.home .cooperation p{font-size:14px;margin:15px 0 25px;line-height:1.85}
.home .cooperation .link{margin-top:auto}
.home .contact{padding:70px 0;background:linear-gradient(120deg,#1554d6,#123e9f);color:white}
.home .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.home .contact .eyebrow{color:#adcaff}
.home .contact p{margin-top:20px;color:#c5d8fc;font-size:14px}
.home .contact-info{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px}
.home .contact-info small{display:block;font-size:11px;color:#adcaff}
.home .contact-info a{font-size:15px}
.home .inquiry{background:white;color:var(--ink);border-radius:14px;padding:28px}
.home .inquiry h3{margin-bottom:20px;font-size:19px}
.home .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.home .field{display:block;margin-bottom:14px;color:#56667c;font-size:12px}
.home .field input,.home .field textarea,.home .field select{
  display:block;width:100%;margin-top:6px;padding:10px 12px;
  border:1px solid #d6dfeb;border-radius:5px;
  background:#fafcff;color:var(--ink);font-size:13px;
}
.home .field textarea{min-height:90px;resize:vertical}
.home .form-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}
.home .form-bottom p,.home .inquiry .privacy{font-size:10px;color:var(--muted);margin:0}
.home .form-bottom .btn{flex-shrink:0;font-size:12px;padding:10px 16px}
.home .inquiry .privacy{margin-top:12px}
.home .privacy a{text-decoration:underline}
.home .inquiry .form-status{color:var(--blue);font-size:12px;margin-top:12px}
.home .form-status a{text-decoration:underline}
.home footer{padding:48px 0 22px;background:#0c172b;color:#c0cbdf}
.home .footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:35px}
.home footer .brand{color:white}
.home footer .brand small{color:#8da4c6}
.home .footer-brand p{max-width:290px;font-size:12px;margin-top:22px;color:#8292ad}
.home .footer-col h3{font-size:13px;color:white;margin-bottom:17px}
.home .footer-col a{display:block;font-size:12px;color:#95a4bd;margin:9px 0}
.home .footer-col a:hover{color:white}
.home .footer-bottom{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border-top:1px solid #253047;margin-top:36px;padding-top:20px;
  font-size:10px;color:#788ba6;
}
.home .legal{display:flex;flex-wrap:wrap;gap:16px}
.home .back-top{
  position:fixed;right:18px;bottom:18px;width:40px;height:40px;
  display:grid;place-items:center;background:white;color:var(--blue);
  border:1px solid var(--line);border-radius:8px;z-index:20;
}
@media(max-width:1100px){.home .nav-links{gap:16px;font-size:12px}
.home .hero h1{font-size:48px}
.home .products{grid-template-columns:repeat(2,1fr)}
.home .media{height:230px}
.home .lifecycle{gap:14px}
.home .step{padding:24px 14px}
.home .step:not(:last-child):after{right:-15px}
.home .scenarios{gap:0}
.home .scenario{padding:22px 14px}
.home .crevia-grid{gap:35px}
.home .orbit{width:340px;height:340px}
}
@media(max-width:900px){.home .nav{height:70px}
.home .menu{display:block}
.home .nav-links{
    display:none;position:absolute;top:70px;left:0;right:0;
    padding:20px;background:white;flex-direction:column;
    align-items:stretch;gap:0;border-bottom:1px solid var(--line);
    box-shadow:0 12px 25px #162b5010;font-size:14px;
  }
.home .nav-links.open{display:flex}
.home .nav-links a{padding:12px}
.home .nav-links .nav-cta{margin-top:10px;text-align:center}
}
@media(max-width:800px){.home .wrap{width:calc(100% - 40px)}
.home .section{padding:65px 0}
.home .hero{padding:50px 0 25px}
.home .hero-grid,.home .crevia-grid,.home .contact-grid{grid-template-columns:1fr}
.home .hero-art{width:100%;max-width:480px;min-height:370px;margin:auto}
.home .hero-bottom{margin-top:18px}
.home .hero-bottom div{justify-content:flex-end;gap:12px}
.home .lifecycle{grid-template-columns:repeat(3,1fr)}
.home .step:after{display:none}
.home .scenarios{grid-template-columns:repeat(3,1fr);row-gap:25px}
.home .scenario:nth-child(4){border-left:0}
.home .advantages{grid-template-columns:repeat(2,1fr)}
.home .cooperations{gap:14px}
.home .cooperation{padding:24px 18px}
.home .contact-grid{gap:35px}
.home .footer-grid{grid-template-columns:repeat(3,1fr)}
.home .footer-brand{grid-column:1/-1}
.home .footer-brand p{max-width:480px;margin-top:16px}
}
@media(max-width:520px){.home .wrap{width:calc(100% - 36px)}
.home .hero h1{font-size:clamp(35px,9vw,45px);letter-spacing:-1.5px}
.home .hero-copy{font-size:15px}
.home .actions .btn{font-size:12px;padding:11px 15px;gap:10px}
.home .hero-note{font-size:10px;gap:8px 12px}
.home .hero-art{min-height:330px}
.home .orbit{width:290px;height:290px}
.home .credential{width:205px;height:280px}
.home .card-top{padding:17px;font-size:16px}
.home .card-body{padding:16px}
.home .identity strong{font-size:11px}
.home .identity small{font-size:8px}
.home .tag{padding:9px 10px}
.home .tag strong{font-size:10px}
.home .tag small{font-size:8px}
.home .tag.one{top:12px}
.home .tag.two{top:155px;right:-4px}
.home .tag.three{bottom:12px;left:0}
.home .hero-bottom{flex-direction:column;gap:10px}
.home .hero-bottom div{justify-content:flex-start}
.home .heading p{font-size:14px}
.home .lifecycle,.home .products,.home .cooperations{grid-template-columns:1fr}
.home .step{
    display:grid;grid-template-columns:48px 1fr;
    column-gap:15px;padding:20px;
  }
.home .step .icon{grid-row:1/4;align-self:center;margin:0}
.home .step p{min-height:0}
.home .step small{margin-top:8px}
.home .flow-caption{text-align:left;font-size:12px}
.home .media{height:210px}
.home .product h3{font-size:21px}
.home .product p{font-size:14px}
.home .scenarios{grid-template-columns:1fr 1fr;gap:15px 0}
.home .scenario{padding:20px 12px}
.home .scenario:nth-child(odd){border-left:0}
.home .scenario:nth-child(4){border-left:1px solid var(--line)}
.home .scenario:last-child{grid-column:1/-1;border-top:1px solid var(--line)}
.home .scenario:last-child h3{min-height:0}
.home .scenario h3{font-size:16px}
.home .scenario p{font-size:12px}
.home .features{font-size:11px;gap:12px 8px}
.home .features span:before{margin-right:5px}
.home .crevia h2{font-size:30px}
.home .crevia h2 span{font-size:22px}
.home .dash-aside{width:65px;padding:12px 3px;font-size:8px}
.home .dash-aside span{padding:6px 4px}
.home .dash-main{padding:12px}
.home .dash-stat{padding:6px;overflow-wrap:anywhere}
.home .dash-stat b{font-size:11px}
.home .dash-stat small,.home .dash-top small{font-size:7px}
.home .dash-title{font-size:11px}
.home .dash-work{padding:9px;font-size:9px}
.home .advantages{gap:25px 20px}
.home .advantage h3{font-size:18px}
.home .advantage p{font-size:13px}
.home .cooperation{padding:25px}
.home .contact h2{font-size:30px}
.home .inquiry{padding:22px}
.home .field-row{grid-template-columns:1fr;gap:0}
.home .form-bottom{flex-direction:column;align-items:stretch}
.home .footer-grid{gap:15px}
.home .footer-col h3{font-size:12px}
.home .footer-col a{font-size:10px;overflow-wrap:anywhere}
.home .footer-bottom{font-size:9px}
.home .legal{gap:8px 12px}
}
@media(prefers-reduced-motion:reduce){.home{scroll-behavior:auto}
.home *,.home *:before,.home *:after{transition:none!important;animation:none!important}
}

/* Keep the current local type scale; colors and width follow the requested brand. */
.home { --blue: var(--brand-primary); --navy: var(--brand-primary); --ink: #18384b; --muted: #5e7380; --line: #dce7ed; --soft: #f3f7fa; font-family: var(--bs-body-font-family); font-size: 1rem; }
.home .wrap { width: 80%; max-width: none; }
.home .hero h1 { font-size: clamp(2.5rem,4.2vw,3.5rem); letter-spacing: -.045em; line-height: 1.15; font-weight: 700; }
.home h2 { font-size: clamp(1.8rem,3vw,2.4rem); letter-spacing: -.045em; line-height: 1.15; font-weight: 700; }
.home h3 { font-size: 1.25rem; font-weight: 600; }
.home .hero-copy { font-size: 1.0625rem; }
.home .btn { font-size: .9375rem; font-weight: 600; }
.home .link, .home .product .link { font-size: .9375rem; }
.home .eyebrow { font-size: .6875rem; }
.home .hero-note, .home .hero-bottom { font-size: .75rem; }
.home .step h3, .home .product h3, .home .scenario h3, .home .advantage h3, .home .cooperation h3, .home .inquiry h3 { font-size: 1.25rem; }
.home .step p, .home .product p, .home .scenario p, .home .advantage p, .home .cooperation p, .home .contact p { font-size: .9375rem; }
.home .step small { font-size: .875rem; }
.home .code { font-size: .8125rem; }
.home .features { font-size: .875rem; }
.home .field { font-size: .875rem; }
.home .field input, .home .field textarea, .home .field select { font-size: 1rem; }
.home .form-bottom p, .home .inquiry .privacy, .home .demo-note { font-size: .75rem !important; }
.home .form-bottom .btn { font-size: .9375rem; }
.home .hero { background: radial-gradient(ellipse at 85% 35%,#deedf4,transparent 48%),linear-gradient(115deg,#fff,#f3f7fa); }
.home .primary:hover { background: var(--brand-primary-hover); }
.home .orbit { border-color: #c5dce8; }
.home .orbit:before,.home .orbit:after { border-color: #ccdde6; }
.home .icon { background: #eaf2f6; }
.home .crevia .eyebrow, .home .features span:before { color: #a6d5e8; }
.home .crevia h2 span { font-size: 1.25rem; color: #b5dceb; }
.home .crevia p { color: #c2d5df; }
.home .contact { background: linear-gradient(120deg,var(--brand-primary),#084d6b); }
.home .contact .eyebrow, .home .contact-info small { color: #b5dceb; }
.home .contact p { color: #d1e3ed; }
.home .inquiry p { color: var(--muted); }
.home .media { height: auto; aspect-ratio:690/376; }
.home .media img { object-fit:cover; padding:0; display:block; }
.home .dashboard img { display:block; width:100%; height:auto; }
.home .hero-art { min-height:440px; }
.home .hero-product { position:absolute; margin:0; padding:7px; background:#fff; border:1px solid #d9e5ec; border-radius:14px; box-shadow:0 20px 45px rgb(0 51 83 / 12%); overflow:hidden; }
.home .hero-product img { display:block; width:100%; height:auto; border-radius:9px; }
.home .hero-product figcaption { padding:8px 5px 3px; font-size:.8125rem; font-weight:600; color:var(--brand-primary); }
.home .hero-product-main { width:78%; left:4%; top:18%; transform:rotate(-5deg); z-index:2; }
.home .hero-product-booklet { width:48%; right:-1%; bottom:0; transform:rotate(5deg); z-index:3; }
.home .hero-product-kiosk { width:38%; right:0; top:0; transform:rotate(4deg); z-index:3; }
@media(min-width:801px) { .home .product h3 { min-height:2.4em; } }
@media(max-width:1100px) { .home .hero-grid { gap:30px; } .home .lifecycle { grid-template-columns:repeat(3,1fr); } .home .step:after { display:none; } .home .scenarios { grid-template-columns:repeat(3,1fr); } }
@media(max-width:800px) { .home .hero-art { min-height:390px; } }
@media(max-width:520px) {
 .home .hero h1 { font-size:clamp(2rem,8.5vw,2.75rem); }
 .home .hero-copy,.home .heading p { font-size:1rem; }
 .home .actions .btn { font-size:.9375rem; }
 .home .hero-art { min-height:290px; }
 .home .hero-product figcaption { font-size:.75rem; }
 .home .lifecycle { grid-template-columns:1fr; }
 .home .product-body { padding:20px; }
 .home .advantages,.home .scenarios { grid-template-columns:1fr; }
 .home .scenario { border-left:0 !important; border-top:1px solid var(--line); }
 .home .scenario:first-child { border-top:0; }
 .home .scenario h3 { min-height:0; }
 .home .hero-bottom div { gap:10px; }
 .home .contact-info { gap:18px; }
 .home .cooperation { padding:24px; }
 .home .hero-grid,.home .crevia-grid,.home .contact-grid { gap:30px; }
 .home .orbit { width:260px; height:260px; }
 .home .features { grid-template-columns:1fr; }
 .home .contact-info a { overflow-wrap:anywhere; }
}
@media (min-width:521px) and (max-width:991.98px) { .home .hero h1 { font-size:clamp(2.5rem,6vw,3.5rem); } }
@media (max-width:520px) { .home .crevia h2,.home .contact h2 { font-size:clamp(1.8rem,3vw,2.4rem); } }/* Credential lifecycle composition. */
.home .workflow-art { min-height:460px; isolation:isolate; }
.home .workflow-art .credential { z-index:1; width:245px; height:315px; }
.home .workflow-art .card-top { background:linear-gradient(130deg,var(--brand-primary),#176282); }
.home .workflow-node { position:absolute; z-index:2; display:flex; align-items:center; gap:12px; padding:12px; background:#fff; border:1px solid #dce7ed; border-radius:12px; box-shadow:0 14px 35px rgb(0 51 83 / 9%); transition:transform .2s,box-shadow .2s; }
.home .workflow-node:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgb(0 51 83 / 15%); }
.home .workflow-node strong { display:block; font-size:.8125rem; color:var(--brand-primary); }
.home .workflow-node small { display:block; font-size:.6875rem; color:var(--muted); }
.home .workflow-node img { width:65px; height:64px; object-fit:contain; border-radius:6px; flex-shrink:0; }
.home .workflow-design { top:12px; left:0; flex-direction:column; align-items:stretch; width:190px; gap:8px; }
.home .workflow-design img { width:100%; height:auto; }
.home .workflow-issue { right:0; top:48%; max-width:260px; }
.home .workflow-issue img { width:55px; height:80px; }
.home .workflow-verify { left:0; bottom:16px; max-width:260px; }
.home .workflow-caption { position:absolute; bottom:-10px; right:0; font-size:.625rem; letter-spacing:.04em; color:var(--muted); }
.home .step small a:hover { text-decoration:underline; text-underline-offset:4px; }
.home .software-showcase { position:relative; padding:20px 0 100px; }
.home .software-window { display:block; overflow:hidden; border:1px solid #b8ceda; border-radius:10px; background:#fff; box-shadow:0 24px 50px rgb(0 0 0 / 22%); }
.home .software-window img { display:block; width:100%; height:auto; }
.home .window-bar { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 12px; font-size:.625rem; font-weight:600; background:#edf4f8; color:var(--brand-primary); }
.home .window-dots { color:#81a3b4; letter-spacing:2px; }
.home .software-design { width:94%; transform:perspective(1200px) rotateY(-4deg); }
.home .software-operations { position:absolute; width:65%; right:0; bottom:12px; }
.home .software-connection { position:absolute; left:0; bottom:35px; display:flex; gap:7px; align-items:center; width:30%; font-size:.75rem; color:#b5dceb; }
.home .software-connection svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.5; flex-shrink:0; }
.home .btn:disabled { opacity:.7; cursor:wait; transform:none; }
.home .inquiry .form-status { margin-top:16px; padding:12px; border-radius:6px; background:#eaf3f7; color:var(--brand-primary); }
.home .inquiry .form-status[data-error="true"] { background:#fff0ee; color:#a32e25; }
@media(min-width:801px) and (max-width:1100px) { .home .workflow-art .credential { width:205px; height:290px; } .home .workflow-design { width:155px; } .home .workflow-node { gap:6px; padding:9px; } .home .workflow-node strong { font-size:.75rem; } .home .workflow-node small { font-size:.625rem; } }
@media(max-width:520px) { .home .workflow-art { min-height:410px; } .home .workflow-art .credential { width:210px; height:285px; } .home .workflow-design { width:145px; top:0; } .home .workflow-issue { top:46%; right:0; } .home .workflow-node { padding:9px; gap:7px; } .home .workflow-node strong { font-size:.75rem; } .home .workflow-node small { font-size:.625rem; } .home .workflow-node img { width:45px; height:50px; } .home .workflow-design img { width:100%; height:auto; } .home .workflow-issue img { width:38px; height:60px; } .home .workflow-verify { bottom:8px; } .home .workflow-caption { bottom:-18px; font-size:.5625rem; } .home .software-showcase { padding-bottom:75px; } .home .software-connection { bottom:10px; width:32%; font-size:.625rem; } .home .window-bar { padding:7px; font-size:.5625rem; } .home .window-dots { display:none; } }
.home .workflow-issue img { object-fit:cover; }
.home .workflow-verify img { object-fit:cover; }

/* Preserve the original orbit layout, with larger product images. */
.home .workflow-art .barcode { width:100%; height:36px; background:none; margin-top:16px; }
.home .workflow-art .barcode svg { display:block; width:100%; height:100%; }
.home .workflow-design { width:210px; }
.home .workflow-design img { width:100%; height:130px; object-fit:cover; }
.home .workflow-issue { max-width:285px; }
.home .workflow-issue img { width:95px; height:135px; object-fit:cover; object-position:60% center; }
.home .workflow-verify { max-width:285px; }
.home .workflow-verify img { width:110px; height:100px; object-fit:cover; }
.home .window-bar { font-size:.75rem; }
@media(min-width:801px) and (max-width:1100px) {
 .home .workflow-design { width:170px; }
 .home .workflow-design img { height:110px; }
 .home .workflow-issue img { width:75px; height:115px; }
 .home .workflow-verify img { width:90px; height:85px; }
}
@media(max-width:520px) {
 .home .workflow-design { width:155px; }
 .home .workflow-design img { width:100%; height:95px; }
 .home .workflow-issue { max-width:205px; }
 .home .workflow-issue img { width:65px; height:105px; }
 .home .workflow-verify { max-width:235px; }
 .home .workflow-verify img { width:80px; height:75px; }
}

/* Each home section fills the viewport below the sticky navigation.
   Use a minimum so small windows, zoom and expanded forms never clip content. */
html.home-page { scroll-padding-top:var(--home-header-height, 100px); }
@supports (height:100dvh) {
 .home { --home-screen-height:calc(100dvh - var(--home-header-height, 100px)); }
}
.home > section:is(.hero, .section, .contact) {
 min-height:var(--home-screen-height);
 display:flex;
 align-items:center;
 padding-block:clamp(24px, 5vh, 64px);
}
.home > section > .wrap { flex-shrink:0; }
.home .hero-art.workflow-art { min-height:460px; padding:35px 0 55px; }
.home .hero-credential-image {
 position:relative;
 z-index:1;
 display:block;
 width:auto;
 max-width:85%;
 height:auto;
 max-height:clamp(220px, calc(var(--home-screen-height) - 250px), 365px);
 object-fit:contain;
 border-radius:20px;
 box-shadow:0 24px 55px rgb(0 51 83 / 16%);
 transform:rotate(-6deg);
}
.home .workflow-art .orbit {
 width:min(100%, 420px);
 height:auto;
 aspect-ratio:1;
}
.home .workflow-caption {
 position:absolute;
 bottom:0;
 left:0;
 right:0;
 font-size:.75rem;
 text-align:center;
}
.home .workflow-design { width:180px; top:0; }
.home .workflow-design img { height:105px; }
.home .workflow-issue { top:40%; max-width:245px; }
.home .workflow-issue img { width:75px; height:110px; }
.home .workflow-verify { bottom:35px; max-width:255px; }
.home .workflow-verify img { width:90px; height:80px; }
@media (min-width:1101px) {
 .home .hero-grid, .home .crevia-grid, .home .contact-grid { gap:clamp(28px, 4vw, 60px); }
 .home .heading { margin-bottom:clamp(24px, 4vh, 40px); }
 .home .hero-bottom { margin-top:clamp(20px, 4vh, 40px); }
}
@media (min-width:801px) and (max-height:800px) {
 .home > section:is(.hero, .section, .contact) { padding-block:24px; }
 .home .heading { margin-bottom:24px; }
 .home .heading p { margin-top:12px; }
 .home .hero h1 { font-size:clamp(2.25rem, 3.8vw, 3.25rem); }
 .home .hero-copy { margin-top:18px; }
 .home .actions, .home .hero-note { margin-top:18px; }
 .home .hero-bottom { margin-top:20px; padding-top:16px; }
 .home .media { height:clamp(110px, 19vh, 150px); aspect-ratio:auto; }
 .home .media img { object-fit:contain; }
 .home .product-body { padding:18px; }
 .home .product p { margin:12px 0 16px; font-size:.875rem; line-height:1.65; }
 .home .features { gap:8px; margin:20px 0; }
 .home .inquiry { padding:22px; }
 .home .inquiry h3 { margin-bottom:14px; }
 .home .field { margin-bottom:8px; }
 .home .field input, .home .field select, .home .field textarea { padding:8px 10px; }
 .home .field textarea { min-height:64px; }
}
@media (max-width:800px) {
 .home > section:is(.hero, .section, .contact) { padding-block:40px; }
 .home .hero-credential-image { max-height:330px; max-width:65%; }
 .home .workflow-art .orbit { max-width:340px; }
}
@media (min-width:801px) and (max-width:1100px) {
 .home .workflow-design { width:150px; }
 .home .workflow-design img { height:90px; }
 .home .workflow-issue { max-width:210px; }
 .home .workflow-issue img { width:60px; height:95px; }
 .home .workflow-verify { max-width:220px; }
 .home .workflow-verify img { width:70px; height:70px; }
}
@media (max-width:520px) {
 .home .hero-art.workflow-art { min-height:430px; }
 .home .workflow-design { width:140px; }
 .home .workflow-design img { height:85px; }
 .home .workflow-issue { max-width:195px; }
 .home .workflow-issue img { width:55px; height:90px; }
 .home .workflow-verify { max-width:220px; }
 .home .workflow-verify img { width:70px; height:65px; }
 .home .workflow-caption { font-size:.625rem; }
}

/* Give full-screen sections a visual frame and let sparse content breathe. */
.home > .section {
 --decor-line:rgb(0 91 135 / 8%);
 --decor-soft:rgb(0 91 135 / 3%);
 position:relative;
 isolation:isolate;
 overflow:hidden;
}
.home > .section > .wrap { position:relative; z-index:1; }
.home > .section::before, .home > .section::after {
 content:"";
 position:absolute;
 pointer-events:none;
 z-index:0;
}
.home > .section::before {
 width:clamp(240px, 32vw, 580px);
 aspect-ratio:1;
 top:6%;
 right:-8%;
}
.home > .section::after {
 left:0;
 bottom:0;
 width:45%;
 height:36%;
 background:radial-gradient(ellipse at bottom left, rgb(111 189 214 / 12%), transparent 72%);
}
.home > .section:nth-of-type(even)::before { left:-8%; right:auto; }
.home > .section:nth-of-type(even)::after {
 left:auto;
 right:0;
 background:radial-gradient(ellipse at bottom right, rgb(111 189 214 / 12%), transparent 72%);
}
/* Alternate sides, with a distinct texture for each part of the story. */
.home > #solutions::before {
 top:-12%;
 border:1px solid var(--decor-line);
 border-radius:50%;
 background:radial-gradient(circle, rgb(107 186 218 / 10%), transparent 70%);
 box-shadow:0 0 0 55px var(--decor-soft), 0 0 0 110px rgb(0 91 135 / 1.5%);
}
.home > #products::before {
 background-image:linear-gradient(var(--decor-line) 1px, transparent 1px),
                  linear-gradient(90deg, var(--decor-line) 1px, transparent 1px);
 background-size:42px 42px;
 transform:rotate(12deg);
 mask-image:radial-gradient(ellipse, #000 20%, transparent 70%);
}
.home > #applications::before {
 background:repeating-linear-gradient(135deg, transparent 0 26px, var(--decor-line) 26px 28px, transparent 28px 54px);
 mask-image:linear-gradient(135deg, #000, transparent 75%);
}
.home > .crevia { --decor-line:rgb(180 223 240 / 16%); }
.home > #crevia::before {
 background:radial-gradient(circle, var(--decor-line) 2px, transparent 2.5px);
 background-size:24px 24px;
 mask-image:radial-gradient(ellipse, #000 15%, transparent 70%);
}
.home > #advantages::before {
 top:14%;
 width:clamp(220px, 25vw, 450px);
 border:1px solid var(--decor-line);
 border-radius:36px;
 transform:rotate(-24deg);
 background:linear-gradient(135deg, var(--decor-soft), transparent);
 box-shadow:38px 38px 0 -1px #fff, 38px 38px 0 0 var(--decor-line),
            76px 76px 0 -1px #fff, 76px 76px 0 0 var(--decor-soft);
}
.home > #partners::before {
 width:clamp(280px, 38vw, 680px);
 background:repeating-radial-gradient(ellipse at 100% 0, transparent 0 38px, var(--decor-line) 39px 40px, transparent 41px 70px);
 mask-image:linear-gradient(225deg, #000, transparent 75%);
}
.home .scenario, .home .advantage {
 background:linear-gradient(145deg, #fff, #f5f9fc);
 border:1px solid var(--line);
 border-radius:16px;
 box-shadow:0 12px 32px rgb(0 51 83 / 4%);
}
.home .scenario:first-child { border-left:1px solid var(--line); }
.home .advantage { padding:26px 24px; border-top:3px solid #9bc9dc; }
.home .step, .home .cooperation { box-shadow:0 12px 32px rgb(0 51 83 / 4%); }

@media (min-width:1101px) and (min-height:801px) {
 .home > .section:not(.crevia) > .wrap {
  min-height:clamp(550px, calc(var(--home-screen-height) * .72), 800px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:clamp(36px, 5vh, 64px);
 }
 .home > .section:not(.crevia) .heading { margin-bottom:0; }
 .home > .section:not(.crevia) .heading h2 {
  max-width:900px;
  font-size:clamp(2.4rem, 3vw, 3.25rem);
 }
 .home > .section:not(.crevia) .heading p { margin-top:20px; font-size:1.0625rem; }
 .home .lifecycle, .home .scenarios { gap:20px; }
 .home .step, .home .scenario, .home .advantage, .home .cooperation {
  min-height:clamp(300px, 38vh, 420px);
  padding:clamp(24px, 2vw, 36px) 24px;
 }
 .home .step .icon, .home .scenario .icon, .home .cooperation .icon {
  width:56px;
  height:56px;
  margin-bottom:28px;
  background:#eaf3f8;
 }
 .home .icon svg { width:28px; height:28px; }
 .home .advantage .num { margin-bottom:32px; font-size:.8125rem; }
 .home .flow-caption { margin-top:0; padding-top:22px; border-top:1px solid var(--line); }
 .home .products .media { min-height:200px; }
 .home .product-body { padding:28px; }
}
@media (max-width:1100px) {
 .home .advantages { gap:18px; }
 .home .advantage { padding:22px 18px; }
 .home .scenarios { gap:14px; }
 .home .scenario { border:1px solid var(--line) !important; }
}
@media (max-width:520px) {
 .home > .section::before { opacity:.5; }
 .home .scenario { padding:24px 20px; }
}
