
:root{
  --bg:#05070a;
  --bg2:#0a0f15;
  --panel:#0d141d;
  --panel2:#111b27;
  --text:#f4f7fb;
  --muted:#9aacbd;
  --line:rgba(255,255,255,.09);
  --blue:#23a8ff;
  --blue2:#66d0ff;
  --silver:#d7dee7;
  --shadow:0 24px 80px rgba(0,0,0,.38);
  --radius:24px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 80% -10%, rgba(35,168,255,.12), transparent 32%),
    linear-gradient(180deg,#05070a 0%,#070b10 100%);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:30;
  backdrop-filter:blur(18px);
  background:rgba(5,7,10,.78);
  border-bottom:1px solid var(--line);
}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.04em}
.brand img{width:46px;height:46px;object-fit:contain}
.brand span{font-size:15px}
.navlinks{display:flex;gap:26px;align-items:center;color:#c9d2dc;font-size:14px}
.navlinks a:hover{color:white}
.menu-btn{display:none;background:none;border:0;color:white;font-size:26px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:13px 18px;border-radius:12px;border:1px solid var(--line);
  font-weight:700;font-size:14px;transition:.2s ease;
}
.btn.primary{background:linear-gradient(135deg,var(--blue),#1979ff);border-color:transparent;box-shadow:0 10px 30px rgba(35,168,255,.22)}
.btn.secondary{background:rgba(255,255,255,.035)}
.btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.hero{padding:86px 0 72px}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}
.kicker{color:var(--blue2);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:12px}
h1{font-size:clamp(44px,7vw,82px);line-height:.98;margin:14px 0 22px;letter-spacing:-.045em}
h2{font-size:clamp(30px,4vw,50px);line-height:1.08;margin:0 0 18px;letter-spacing:-.03em}
h3{font-size:20px;margin:0 0 10px}
.lead{font-size:20px;color:#b8c5d1;max-width:720px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.logo-stage{
  position:relative;border:1px solid var(--line);border-radius:32px;padding:32px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015)),
    radial-gradient(circle at 50% 15%,rgba(35,168,255,.16),transparent 42%);
  box-shadow:var(--shadow);
}
.logo-stage:after{content:"";position:absolute;inset:12px;border:1px solid rgba(35,168,255,.15);border-radius:24px;pointer-events:none}
.logo-stage img{filter:drop-shadow(0 26px 40px rgba(0,0,0,.55))}
.section{padding:88px 0}
.section.alt{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:36px}
.section-head p{max-width:620px;color:var(--muted);margin:0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{
  border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));
  border-radius:var(--radius);padding:26px;box-shadow:0 16px 50px rgba(0,0,0,.14)
}
.card p{color:var(--muted);margin:0}
.card .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--blue2);font-weight:800;margin-bottom:14px}
.icon{
  width:44px;height:44px;border:1px solid rgba(35,168,255,.3);background:rgba(35,168,255,.09);
  border-radius:12px;display:grid;place-items:center;margin-bottom:18px;color:var(--blue2);font-weight:900
}
.feature{
  min-height:360px;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden
}
.feature:before{
  content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 15%,rgba(35,168,255,.18),transparent 38%);
}
.feature>*{position:relative;z-index:1}
.feature .big{font-size:42px;line-height:1;font-weight:900;letter-spacing:-.03em;margin-bottom:12px}
.statbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--line)}
.stat{background:#0a1017;padding:24px}
.stat strong{display:block;font-size:20px}.stat span{color:var(--muted);font-size:13px}
.timeline{display:grid;gap:14px}
.timeline .step{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02)}
.num{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(35,168,255,.35);color:var(--blue2);font-weight:800}
.quote{
  font-size:26px;line-height:1.35;letter-spacing:-.02em;color:#dfe7ef;max-width:900px
}
.cta{
  padding:34px;border:1px solid rgba(35,168,255,.28);border-radius:28px;
  background:linear-gradient(135deg,rgba(35,168,255,.11),rgba(255,255,255,.025));
  display:flex;justify-content:space-between;gap:30px;align-items:center
}
.footer{padding:44px 0 28px;border-top:1px solid var(--line);color:#98a8b8;font-size:14px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,.7fr);gap:30px;margin-bottom:30px}
.footer h4{color:white;margin:0 0 12px}.footer a{display:block;margin:7px 0}.fine{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.page-hero{padding:74px 0 52px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(42px,6vw,70px);max-width:900px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}
.list{display:grid;gap:14px}
.list-item{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}
.list-item strong{display:block;margin-bottom:4px}
.list-item span{color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}
.contact-card a{color:var(--blue2)}
.notice{font-size:13px;color:#8898a8}
.badge{display:inline-flex;padding:7px 10px;border-radius:999px;border:1px solid rgba(35,168,255,.25);color:var(--blue2);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){
  .hero-grid,.grid-3,.grid-2,.two-col,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:#080c11;border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:flex-start}
  .navlinks.open{display:flex}.menu-btn{display:block}
  .hero{padding-top:54px}.section{padding:64px 0}.section-head{display:block}
  .section-head p{margin-top:12px}.statbar{grid-template-columns:1fr 1fr}.cta{display:block}.cta .btn{margin-top:18px}
}
@media(max-width:560px){
  .container{width:min(100% - 26px,var(--max))}
  .brand span{font-size:12px}.statbar{grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
}

/* Version 1.1: scoped portfolio additions and accessibility refinements. */
.skip-link{position:fixed;top:-80px;left:16px;z-index:50;padding:12px 18px;background:var(--panel);color:var(--text);border:1px solid var(--blue);border-radius:12px}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--blue2);outline-offset:5px}
[id]{scroll-margin-top:100px}
.navlinks a[aria-current="page"]{color:var(--blue2)}
.product-card{min-width:0}
.product-media{display:block;position:relative;overflow:hidden;aspect-ratio:1.94;background:var(--bg);border:1px solid var(--line);border-radius:14px;margin-bottom:22px}
.product-media img{position:absolute;max-width:none;width:185%;height:auto;left:0;top:0}
.product-media.primary{aspect-ratio:1.65}
.product-media.primary img{width:160%;top:-4%}
.product-media.korilo{aspect-ratio:1.65}
.product-media.korilo img{width:100%;top:-8%}
.product-card .product-media{aspect-ratio:1.65}
.product-card .product-media.board img{width:246%;left:-32%;top:0}
.product-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.product-heading h3{margin:0;overflow-wrap:anywhere}
.product-status{color:var(--muted);font-size:12px;white-space:nowrap}
.product-card .eyebrow{font-size:11px;letter-spacing:.09em}
.portfolio-groups{display:grid;gap:16px}
.portfolio-group{border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.018);padding:0 26px}
.portfolio-group summary{cursor:pointer;padding:24px 0;display:flex;align-items:center;gap:20px;list-style:none}
.portfolio-group summary::-webkit-details-marker{display:none}
.portfolio-group summary:after{content:'+';font-size:24px;color:var(--blue2);margin-left:auto}
.portfolio-group[open] summary:after{content:'−'}
.portfolio-group summary strong{font-size:20px}
.group-products{display:block;color:var(--muted);font-size:12px;letter-spacing:.04em;margin-top:6px}
.group-count{color:var(--blue2);font-size:12px;white-space:nowrap;margin-left:auto}
.portfolio-group .grid-3{padding-bottom:26px}
.portfolio-group .product-card{padding:20px}
.portfolio-related{margin-top:26px;color:var(--muted)}
.text-link{display:inline-block;color:var(--blue2);font-weight:700;font-size:14px;margin-top:18px}
.text-link:hover{text-decoration:underline}
.portfolio-related .text-link{margin-top:0}
.cta-copy{color:var(--muted);max-width:760px}
.cta>.btn{flex-shrink:0}
.contact-card p+p{margin-top:18px}
.contact-card>.btn{margin-top:24px}
.card .inquiry-guide{margin-top:20px}
.contact-card a,.footer a{overflow-wrap:anywhere}
.section-head>*{min-width:0}
@media(max-width:560px){
 .portfolio-group{padding:0 16px}
 .portfolio-group summary{gap:12px}
 .portfolio-group summary strong{font-size:18px}
 .group-count{display:none}
 .product-media{max-width:100%}
 .timeline .step{grid-template-columns:44px minmax(0,1fr);gap:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
