:root {
  --navy: #1428a0;
  --navy-deep: #111827;
  --blue: #1428a0;
  --blue-bright: #1428a0;
  --sky: #eef1ff;
  --mint: #12b8a6;
  --orange: #f47b35;
  --violet: #715ad1;
  --ink: #132238;
  --text: #435166;
  --muted: #78869a;
  --line: #dde5ee;
  --surface: #f5f8fb;
  --white: #fff;
  --shadow: 0 18px 50px rgba(8, 44, 85, .11);
  --radius: 22px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
#products, #services, #process, #cases, #support, #about, #partners, #suppliers, #remote-support { scroll-margin-top: 92px; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input { font: inherit; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 9999; padding: 12px 18px; color: #fff; background: var(--navy); transform: translateY(-160%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }

.utility-bar { color: rgba(255,255,255,.82); background: var(--navy-deep); font-size: 13px; }
.utility-inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.utility-inner p { margin: 0; }
.utility-links { display: flex; align-items: center; gap: 24px; }
.utility-links a { color: #fff; }
.utility-links strong { margin-left: 6px; letter-spacing: .02em; }
.site-header { position: relative; z-index: 1000; }
.main-nav-wrap { background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(221,229,238,.7); transition: box-shadow .25s; }
.site-header.scrolled .main-nav-wrap { position: fixed; inset: 0 0 auto; box-shadow: 0 9px 26px rgba(8,44,85,.1); }
.main-nav { min-height: var(--managed-header-height-desktop,88px); display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { width: var(--managed-header-logo-width-desktop,220px); flex: 0 0 auto; }
.brand img { filter: none; }
.site-header.header-custom-logo .brand img { filter: none; }
.primary-nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 31px); font-size: 15px; font-weight: 700; }
.primary-nav > a { min-height: 44px; display: inline-flex; align-items: center; position: relative; white-space: nowrap; }
.main-nav-wrap .primary-nav > a,.main-nav-wrap .nav-support-group > a { color:var(--managed-header-text, var(--ink)); }
.primary-nav > a:not(.nav-remote):not(.nav-call)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 7px; height: 2px; background: var(--blue); transition: right .25s; }
.primary-nav > a:hover::after, .primary-nav > a:focus-visible::after { right: 0; }
.nav-support-group { min-height:44px; position:relative; display:flex; align-items:center; }
.nav-support-group > a { min-height:44px; display:inline-flex; align-items:center; position:relative; white-space:nowrap; }
.nav-support-group > a::after { content:""; position:absolute; left:0; right:100%; bottom:7px; height:2px; background:var(--blue); transition:right .25s; }
.nav-support-group:hover > a::after,.nav-support-group:focus-within > a::after,.nav-support-group > a[aria-current="page"]::after { right:0; }
.nav-support-submenu { min-width:160px; position:absolute; z-index:20; top:calc(100% - 2px); left:50%; display:grid; padding:8px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 16px 34px rgba(8,44,85,.14); opacity:0; visibility:hidden; transform:translate(-50%,-7px); transition:.2s; }
.nav-support-group:hover .nav-support-submenu,.nav-support-group:focus-within .nav-support-submenu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.nav-support-submenu a { padding:9px 12px; border-radius:8px; color:var(--text); font-size:12px; white-space:nowrap; }
.nav-support-submenu a:hover,.nav-support-submenu a:focus-visible,.nav-support-submenu a[aria-current="page"] { color:var(--blue); background:var(--sky); }
.nav-remote { gap: 7px; padding: 0 15px; color: var(--blue); border-radius: 9px; background: var(--sky); }
.nav-remote svg { width: 18px; }
.nav-call { min-height:44px; display:inline-flex; align-items:center; gap:7px; padding:0 0 0 16px; color:var(--blue); border-left:1px solid #d8deea; background:transparent; font-size:17px; font-weight:900; line-height:1; letter-spacing:.015em; font-variant-numeric:tabular-nums; white-space:nowrap; }
.main-nav-wrap .nav-call { color:#1428a0; cursor:default; }
.nav-call:hover,.nav-call:focus-visible { color:#0e1f88; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 11px; border: 0; border-radius: 9px; background: var(--navy); cursor: pointer; }
.menu-toggle > span:not(.sr-only) { display: block; height: 2px; margin: 5px 0; background: #fff; transition: .25s; }

.hero { min-height: 650px; position: relative; overflow: hidden; background: linear-gradient(115deg, #f2f9ff 0%, #fff 50%, #edf7ff 100%); }
.hero::before { content: ""; position: absolute; width: 520px; height: 520px; right: -170px; top: -160px; border-radius: 50%; background: rgba(19,152,239,.12); filter: blur(1px); }
.hero::after { content: ""; position: absolute; width: 270px; height: 270px; left: 42%; bottom: -210px; border-radius: 50%; background: rgba(244,123,53,.13); filter: blur(2px); }
.hero-grid-bg { position: absolute; inset: 0; opacity: .34; background-image: linear-gradient(rgba(20,40,160,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(20,40,160,.055) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(90deg, #000, transparent 72%); }
.hero-inner { min-height: 650px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 40px; position: relative; padding-top: 48px; padding-bottom: 50px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; color: var(--blue); font-size: 13px; font-weight: 800; letter-spacing: .12em; }
.eyebrow > span { width: 26px; height: 2px; background: currentColor; }
.hero h1 { max-width: 650px; margin: 0; font-size: clamp(42px, 4.15vw, 64px); line-height: 1.17; letter-spacing: -.045em; font-weight: 800; }
.hero h1 strong { color: var(--blue); font-weight: inherit; }
.hero-description { max-width: 610px; margin: 24px 0 30px; color: var(--text); font-size: 18px; line-height: 1.75; word-break: keep-all; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 0 24px; border: 1px solid transparent; border-radius: 11px; font-weight: 800; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: var(--blue); box-shadow: 0 11px 24px rgba(20,40,160,.24); }
.button-primary:hover { background: #101f83; }
.phone-action-notice{position:fixed;z-index:10000;right:24px;bottom:24px;margin:0;padding:13px 18px;color:#fff;border-radius:12px;background:#1428a0;box-shadow:0 14px 34px rgba(7,27,50,.24);font-size:13px;font-weight:800;opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s}.phone-action-notice.show{opacity:1;transform:translateY(0)}
.button-secondary { color: var(--navy); border-color: #c7d7e8; background: #fff; }
.button-secondary svg { width: 20px; }
.hero-trust { display: flex; gap: 0; margin: 40px 0 0; padding: 0; list-style: none; }
.hero-trust li { min-width: 135px; display: flex; flex-direction: column; padding: 0 24px; border-left: 1px solid #cfdae6; }
.hero-trust li:first-child { padding-left: 0; border: 0; }
.hero-trust strong { color: var(--navy); font-size: 18px; }
.hero-trust span { color: var(--muted); font-size: 13px; }

.hero-visual { min-height: 510px; position: relative; display: flex; align-items: center; justify-content: center; }
.hero-product-card { width: 420px; height: 440px; position: relative; display: flex; align-items: center; justify-content: center; border-radius: 50% 50% 45% 45%; background: linear-gradient(145deg, #dcedfa, #fff); box-shadow: 0 30px 70px rgba(8,44,85,.14); }
.hero-product-card::before { content: ""; position: absolute; inset: 22px; border: 1px solid rgba(20,40,160,.13); border-radius: 50%; }
.hero-product-card > img { width: 390px; position: relative; z-index: 1; object-fit: contain; filter: drop-shadow(0 18px 16px rgba(0,23,45,.18)); }
.product-badge { position: absolute; z-index: 2; top: 27px; right: 21px; padding: 6px 12px; color: #fff; border-radius: 30px; background: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.hero-price-card { position: absolute; z-index: 3; right: -10px; bottom: 3px; width: 220px; padding: 17px 20px; border: 1px solid #e2eaf3; border-radius: 15px; background: rgba(255,255,255,.94); box-shadow: var(--shadow); backdrop-filter: blur(8px); }
.hero-price-card span, .hero-price-card small { display: block; color: var(--muted); font-size: 12px; }
.hero-price-card strong { display: block; color: var(--navy); font-size: 18px; }
.service-float { position: absolute; z-index: 3; display: flex; align-items: center; gap: 11px; padding: 13px 15px; border: 1px solid rgba(221,229,238,.9); border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: 0 13px 35px rgba(8,44,85,.13); }
.service-float-top { left: 0; top: 80px; }
.service-float-bottom { left: 22px; bottom: 70px; }
.service-float strong, .service-float small { display: block; }
.service-float strong { font-size: 13px; }
.service-float small { color: var(--muted); font-size: 11px; }
.icon-circle { width: 38px; height: 38px; display: grid; place-items: center; color: #fff; border-radius: 50%; }
.icon-circle svg { width: 20px; }
.icon-blue { background: var(--blue); }.icon-mint { background: var(--mint); }
.hero-orbit { position: absolute; border: 1px dashed rgba(20,40,160,.2); border-radius: 50%; }
.hero-orbit-one { width: 480px; height: 480px; }.hero-orbit-two { width: 570px; height: 570px; }

.quick-menu { position: relative; z-index: 5; margin-top: -1px; background: #fff; box-shadow: 0 8px 26px rgba(8,44,85,.07); }
.quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.quick-item { min-height: 108px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 14px; padding: 18px 25px; border-right: 1px solid var(--line); transition: background .2s; }
.quick-item:first-child { border-left: 1px solid var(--line); }
.quick-item:hover { background: var(--surface); }
.quick-icon { width: 46px; height: 46px; display: grid; place-items: center; color: var(--blue); border-radius: 12px; background: var(--sky); }
.quick-icon svg { width: 25px; }
.quick-item strong, .quick-item small { display: block; }
.quick-item strong { font-size: 16px; }.quick-item small { color: var(--muted); font-size: 12px; }.quick-item b { color: var(--blue); font-size: 18px; }
.quick-item:nth-child(2) .quick-icon { color: var(--mint); background: #e8f9f6; }
.quick-item:nth-child(2) b { color: var(--mint); }
.quick-item:nth-child(3) .quick-icon { color: var(--orange); background: #fff0e7; }
.quick-item:nth-child(3) b { color: var(--orange); }
.quick-highlight { color: #fff; border-color: var(--blue); background: var(--blue); }
.quick-highlight:hover { background: #101f83; }
.quick-highlight .quick-icon { color: #fff; background: rgba(255,255,255,.16); }.quick-highlight small, .quick-highlight b { color: rgba(255,255,255,.8); }

.section { padding: 110px 0; }
.section-heading { margin-bottom: 36px; }
.section-heading h2, .strengths h2, .faq h2 { margin: 0; font-size: clamp(30px, 3vw, 43px); line-height: 1.25; letter-spacing: -.035em; }
.section-heading p:not(.eyebrow) { margin: 12px 0 0; color: var(--text); word-break: keep-all; }
.heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; }
.centered { max-width: 700px; margin-inline: auto; text-align: center; }
.centered .eyebrow { justify-content: center; }
.text-link { color: var(--blue); font-weight: 800; white-space: nowrap; }
.text-link span { display: inline-block; margin-left: 7px; transition: transform .2s; }.text-link:hover span { transform: translateX(4px); }

.products { background: #fff; }
.category-tabs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 26px; }
.category-tabs span { min-height: 42px; display: inline-flex; align-items: center; padding: 0 18px; color: var(--text); border: 1px solid var(--line); border-radius: 30px; font-size: 14px; font-weight: 700; background: #fff; }
.category-tabs .category-active { color: #fff; border-color: var(--navy); background: var(--navy); }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.product-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .25s, box-shadow .25s, border-color .25s; }
.product-card::before { content: ""; position: absolute; z-index: 2; inset: 0 0 auto; height: 4px; background: var(--blue); }
.product-card:nth-child(2)::before { background: var(--mint); }
.product-card:nth-child(3)::before { background: var(--orange); }
.product-card:nth-child(4)::before { background: var(--violet); }
.product-card:hover { transform: translateY(-7px); border-color: #bdd7eb; box-shadow: var(--shadow); }
.product-image-wrap { height: 275px; position: relative; display: grid; place-items: center; padding: 18px; background: linear-gradient(150deg, #f9fbfd, #edf4f9); }
.product-card:nth-child(2) .product-image-wrap { background: linear-gradient(150deg, #f7fcfb, #e8f7f4); }
.product-card:nth-child(3) .product-image-wrap { background: linear-gradient(150deg, #fffaf7, #fff0e6); }
.product-card:nth-child(4) .product-image-wrap { background: linear-gradient(150deg, #faf9ff, #efecfb); }
.product-image-wrap img { width: 230px; height: 230px; object-fit: contain; mix-blend-mode: multiply; }
.card-label { position: absolute; z-index: 1; top: 16px; left: 16px; padding: 5px 10px; color: #fff; border-radius: 20px; background: var(--blue); font-size: 11px; font-weight: 800; }
.label-new { background: var(--mint); }.label-value { background: #e2752b; }
.product-content { padding: 23px; }
.product-type { margin: 0 0 4px; color: var(--blue); font-size: 12px; font-weight: 800; }
.product-content h3 { margin: 0; font-size: 19px; line-height: 1.35; }
.product-content ul { min-height: 54px; margin: 14px 0 18px; padding: 0; color: var(--text); font-size: 13px; list-style: none; }
.product-content li::before { content: "·"; margin-right: 7px; color: var(--blue); font-weight: 900; }
.product-price { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding-top: 17px; border-top: 1px solid var(--line); }
.product-price span { color: var(--muted); font-size: 12px; }.product-price strong { color: var(--navy); font-size: 17px; white-space: nowrap; }
.card-button { min-height: 46px; display: flex; align-items: center; justify-content: space-between; margin-top: 17px; padding: 0 15px; color: var(--navy); border-radius: 9px; background: var(--surface); font-size: 13px; font-weight: 800; }
.card-button:hover { color: #fff; background: var(--blue); }

.strengths { position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg, var(--navy-deep), #0a4d84); }
.strengths::after { content: ""; position: absolute; width: 520px; height: 520px; left: -260px; bottom: -350px; border: 90px solid rgba(255,255,255,.035); border-radius: 50%; }
.strengths::before { content: ""; position: absolute; width: 360px; height: 360px; right: -150px; top: -190px; border-radius: 50%; background: rgba(18,184,166,.18); filter: blur(10px); }
.strengths-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; position: relative; z-index: 1; }
.eyebrow-light { color: #63c4ff; }
.strengths-intro > p:not(.eyebrow) { margin: 22px 0 32px; color: rgba(255,255,255,.72); word-break: keep-all; }
.button-white { color: var(--navy); background: #fff; }
.strength-list { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr; gap: 16px; }
.strength-card { min-height: 180px; height: 100%; display: grid; grid-template-columns: 44px 1fr; align-content: start; gap: 16px; padding: 25px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.075); backdrop-filter: blur(8px); }
.strength-card > span { color: #69c8ff; font-size: 13px; font-weight: 800; }
.strength-card h3 { margin: 0 0 9px; font-size: 18px; }.strength-card p { margin: 0; color: rgba(255,255,255,.68); font-size: 14px; }

.process { background: var(--surface); }
.process-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 55px 0 0; padding: 0; list-style: none; counter-reset: steps; }
.process-list li { position: relative; padding: 0 28px; text-align: center; }
.process-list li:not(:last-child)::after { content: ""; position: absolute; top: 38px; left: calc(50% + 48px); width: calc(100% - 96px); border-top: 1px dashed #a9bfd2; }
.step-number { position: absolute; top: -12px; left: calc(50% + 27px); z-index: 1; color: var(--blue); font-size: 11px; font-weight: 900; }
.step-icon { width: 78px; height: 78px; display: grid; place-items: center; margin: 0 auto 20px; color: var(--blue); border: 1px solid #d8e5ef; border-radius: 50%; background: #fff; box-shadow: 0 10px 25px rgba(8,44,85,.07); }
.step-icon svg { width: 31px; }
.process-list li:nth-child(2) .step-icon { color: var(--mint); background: #f2fcfa; }
.process-list li:nth-child(2) .step-number { color: var(--mint); }
.process-list li:nth-child(3) .step-icon { color: var(--orange); background: #fff7f1; }
.process-list li:nth-child(3) .step-number { color: var(--orange); }
.process-list li:nth-child(4) .step-icon { color: var(--violet); background: #f7f5ff; }
.process-list li:nth-child(4) .step-number { color: var(--violet); }
.process-list h3 { margin: 0 0 8px; font-size: 18px; }.process-list p { margin: 0; color: var(--text); font-size: 14px; word-break: keep-all; }

.cases { background: #fff; }
.case-grid { display: grid; grid-template-columns: 1.35fr .9fr .9fr; gap: 18px; }
.case-card { overflow: hidden; border-radius: var(--radius); background: var(--surface); }
.case-art { height: 230px; position: relative; overflow: hidden; background-color: #ddecf7; }
.case-main .case-art { height: 310px; }
.case-art::before, .case-art::after, .case-art span { content: ""; position: absolute; }
.art-office { background: linear-gradient(145deg, #dceefa, #a9cae1); }
.art-office::before { width: 52%; height: 58%; left: 12%; bottom: 0; border-radius: 10px 10px 0 0; background: #fff; box-shadow: 180px -30px 0 -45px rgba(255,255,255,.8); }
.art-office::after { width: 18%; height: 42%; left: 31%; bottom: 0; background: linear-gradient(#273b4e 0 22%, #f7f7f5 22% 54%, #c9d0d5 54%); box-shadow: 0 8px 22px rgba(8,44,85,.22); }
.art-office span { width: 180px; height: 110px; right: 8%; top: 18%; border: 12px solid rgba(8,44,85,.28); border-bottom-width: 22px; transform: perspective(300px) rotateY(-12deg); }
.art-network { background: linear-gradient(145deg, #d8f4f1, #82c9c0); }
.art-network::before { width: 110px; height: 150px; left: calc(50% - 55px); bottom: 0; border-radius: 10px 10px 0 0; background: repeating-linear-gradient(#173d51 0 16px, #86a4b4 17px 19px); box-shadow: 0 15px 35px rgba(0,30,45,.2); }
.art-network::after { inset: 14% 16%; border: 1px dashed rgba(255,255,255,.75); border-radius: 50%; }
.art-support { background: linear-gradient(145deg, #e6e7fb, #adb9e5); }
.art-support::before { width: 140px; height: 90px; left: calc(50% - 70px); top: 45px; border: 10px solid #fff; border-bottom-width: 18px; border-radius: 6px; background: linear-gradient(135deg, var(--blue), #74d5ef); box-shadow: 0 14px 28px rgba(8,44,85,.18); }
.art-support::after { width: 70px; height: 10px; left: calc(50% - 35px); top: 145px; border-radius: 10px; background: #fff; }
.case-copy { padding: 22px 24px 25px; }.case-copy span { color: var(--blue); font-size: 12px; font-weight: 800; }.case-copy h3 { margin: 5px 0 6px; font-size: 19px; }.case-copy p { margin: 0; color: var(--text); font-size: 13px; }

.home-case-slider { overflow:hidden; }
.home-case-viewport { overflow:hidden; outline:none; }
.home-case-viewport:focus-visible { border-radius:var(--radius); box-shadow:0 0 0 3px rgba(20,40,160,.15); }
.home-case-track { display:flex; gap:20px; transition:transform .55s cubic-bezier(.22,.8,.25,1); will-change:transform; }
.home-case-slide { overflow:hidden; flex:0 0 calc((100% - var(--slider-gap-total,20px)) / var(--slider-visible,2)); color:inherit; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); transition:border-color .2s,transform .2s,box-shadow .2s; }
.home-case-slide:hover { border-color:#aeb8ec; box-shadow:0 14px 32px rgba(8,44,85,.1); transform:translateY(-3px); }
.home-case-image { height:250px; position:relative; overflow:hidden; display:grid; place-items:center; background:linear-gradient(145deg,#e9f1f8,#d4e2ee); }
.home-case-image img { width:100%; height:100%; padding:16px; object-fit:contain; object-position:center; background:#fff; box-sizing:border-box; }
.home-case-image span { color:rgba(20,40,160,.8); font-size:22px; font-weight:900; letter-spacing:.08em; }
.home-case-image::after { content:"설치사례"; position:absolute; top:18px; left:18px; padding:6px 10px; color:#fff; border-radius:20px; background:var(--blue); font-size:10px; font-weight:800; }
.home-case-copy { padding:24px 26px 27px; }
.home-case-meta { display:flex; flex-wrap:wrap; gap:6px 12px; color:var(--blue); font-size:11px; font-weight:800; }
.home-case-copy h3 { margin:8px 0 9px; font-size:21px; line-height:1.4; }
.home-case-copy p { min-height:42px; margin:0; color:var(--text); font-size:13px; line-height:1.65; }
.home-case-product { display:block; margin-top:17px; padding-top:15px; color:var(--muted); border-top:1px solid var(--line); font-size:11px; }
.home-case-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; }
.home-case-footer>p { margin:0; color:var(--muted); font-size:12px; }
.home-case-controls { display:flex; gap:8px; }
.home-case-controls button { width:43px; height:43px; display:grid; place-items:center; color:var(--blue); border:1px solid #cfd7e8; border-radius:50%; background:#fff; cursor:pointer; }
.home-case-controls button:hover,.home-case-controls button:focus-visible { color:#fff; border-color:var(--blue); background:var(--blue); }
.home-case-controls button:disabled { opacity:.35; cursor:not-allowed; }
.home-case-controls button:disabled:hover { color:var(--blue); border-color:#cfd7e8; background:#fff; }

.partners { margin-top:40px; padding:35px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.partners-inner { display: flex; align-items: center; gap: 50px; }
.partner-heading { min-width:230px; flex:0 0 230px; display:flex; align-items:flex-end; justify-content:space-between; gap:15px; }.partner-heading>p { margin:0; color:var(--text); font-size:14px; line-height:1.45; }.partner-heading>p>span,.partner-heading strong { display:block; white-space:nowrap; }.partner-heading strong { color:var(--navy); font-size:18px; }.partner-controls { display:flex; gap:6px; padding-bottom:1px; }.partner-controls button { width:34px; height:34px; display:grid; place-items:center; padding:0; color:var(--blue); border:1px solid #d8deee; border-radius:50%; background:#fff; cursor:pointer; transition:.2s; }.partner-controls button:hover,.partner-controls button:focus-visible { color:#fff; border-color:var(--blue); background:var(--blue); }.partner-controls button:disabled { opacity:.35; cursor:not-allowed; }.partner-controls button:disabled:hover { color:var(--blue); border-color:#d8deee; background:#fff; }.partner-slider { width:0; min-width:0; flex:1 1 0; }.partner-viewport { overflow:hidden; outline:none; }.partner-viewport:focus-visible { border-radius:12px; box-shadow:0 0 0 3px rgba(20,40,160,.15); }.partner-track { display:flex; gap:16px; transition:transform .5s cubic-bezier(.22,.8,.25,1); will-change:transform; }.partner-slide { min-height:54px; flex:0 0 calc((100% - var(--slider-gap-total,48px)) / var(--slider-visible,4)); display:grid; place-items:center; color:#63758a; border-radius:10px; background:var(--surface); font-weight:800; text-align:center; }.partner-slide:nth-child(2) { color:#087d71; background:#edf9f7; }.partner-slide:nth-child(3) { color:#b2541d; background:#fff3eb; }.partner-slide:nth-child(4) { color:#5e4bb3; background:#f2effc; }
.home-search-intro{padding:76px 0;background:#fff}.home-search-intro-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:54px;align-items:stretch}.home-search-intro-copy h2{max-width:760px;margin:16px 0 18px;color:var(--navy);font-size:var(--itw-home-intro-title-size,42px);line-height:1.18;letter-spacing:-.045em;word-break:keep-all}.home-search-intro-copy>p:last-of-type{max-width:820px;margin:0;color:var(--muted);font-size:var(--itw-home-intro-text-size,16px);line-height:1.9}.home-category-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.home-category-links a{display:flex;align-items:center;gap:18px;padding:12px 16px;color:var(--navy);border:1px solid #dce3ef;border-radius:10px;background:#fff;font-size:13px;font-weight:800;transition:.2s}.home-category-links a span{color:var(--blue)}.home-category-links a:hover,.home-category-links a:focus-visible{color:#fff;border-color:var(--blue);background:var(--blue)}.home-category-links a:hover span,.home-category-links a:focus-visible span{color:#fff}.home-service-area{padding:30px;border:1px solid #dce3ef;border-radius:22px;background:var(--surface)}.home-service-area>span{color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.16em}.home-service-area h3{margin:10px 0 18px;color:var(--navy);font-size:24px}.home-service-area ul{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0;list-style:none}.home-service-area li{padding:8px 11px;color:#40536a;border-radius:8px;background:#fff;font-size:12px;font-weight:700}.home-service-area small{display:block;color:var(--muted);font-size:11px;line-height:1.6}
.partner-slide.has-image { grid-auto-flow:column; justify-content:center; gap:9px; padding:8px 14px; border:1px solid var(--line); background:#fff; }.partner-slide.has-image img { width:auto; max-width:130px; height:32px; object-fit:contain; }.partner-slide.image-text img { max-width:82px; height:25px; }.partner-slide-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.supplier-partners .partner-slide{min-height:66px}.supplier-partners .partner-slide-copy{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.supplier-partners .partner-slide-note{max-width:100%;overflow:hidden;color:#7d8a9b;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.supplier-slide-trigger{font:inherit;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s}.supplier-slide-trigger:hover{box-shadow:0 10px 24px rgba(20,40,160,.12);transform:translateY(-2px)}.supplier-slide-trigger:focus-visible{outline:3px solid rgba(20,40,160,.24);outline-offset:2px}
.supplier-modal[hidden]{display:none}.supplier-modal{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:28px}.supplier-modal-backdrop{position:absolute;inset:0;background:rgba(4,12,38,.68);backdrop-filter:blur(5px)}.supplier-modal-dialog{width:min(1180px,100%);max-height:calc(100vh - 56px);position:relative;z-index:1;overflow:auto;border-radius:24px;background:#fff;box-shadow:0 28px 90px rgba(2,10,40,.32)}.supplier-modal-close{width:44px;height:44px;position:absolute;z-index:2;top:16px;right:16px;display:grid;place-items:center;padding:0;color:var(--navy);border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.95);font-size:29px;line-height:1;cursor:pointer}.supplier-modal-close:hover,.supplier-modal-close:focus-visible{color:#fff;border-color:var(--blue);background:var(--blue)}.supplier-modal-layout{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(320px,.58fr);min-height:490px}.supplier-modal-map{min-height:490px;display:grid;background:#e9edf3}.supplier-modal-map iframe{width:100%;height:100%;min-height:490px;grid-area:1/1;display:block;border:0}.supplier-modal-map-empty{grid-area:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:35px;color:var(--text);text-align:center}.supplier-modal-map-empty[hidden]{display:none}.supplier-modal-map-empty strong{color:var(--navy);font-size:20px}.supplier-modal-map-empty span{font-size:13px}.supplier-modal-info h2{margin:0;font-size:27px}.supplier-modal-note{margin:7px 0 0;color:var(--blue);font-size:13px;font-weight:800}.supplier-modal-open{overflow:hidden}

.supplier-modal-info{display:flex;flex-direction:column;justify-content:center;padding:45px 38px;background:#f7f8fc}.supplier-modal-info .directions-icon{width:52px;height:52px;display:grid;place-items:center;color:#fff;border-radius:15px;background:var(--blue)}.supplier-modal-info .directions-icon svg{width:25px;fill:none;stroke:currentColor;stroke-width:1.8}.supplier-modal-info .directions-label{margin:20px 0 4px;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.14em}.supplier-modal-info address{margin-top:11px;color:#344154;font-size:14px;font-style:normal;line-height:1.75;word-break:keep-all}.supplier-modal-info dl{display:grid;gap:9px;margin:25px 0 0;padding-top:21px;border-top:1px solid var(--line)}.supplier-modal-info dl div{display:grid;grid-template-columns:70px 1fr}.supplier-modal-info dt{color:var(--muted);font-size:11px}.supplier-modal-info dd{margin:0;font-size:12px;font-weight:800}.supplier-modal-info .directions-actions{display:grid;gap:8px;margin-top:27px}.supplier-modal-info .directions-actions .button{width:100%;min-height:48px;font-size:12px}

.faq { background: var(--surface); }
.faq-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 85px; }
.faq-intro > p:not(.eyebrow) { color: var(--text); word-break: keep-all; }
.faq-phone { margin-top: 32px; padding: 22px; border-left: 3px solid var(--blue); background: #fff; }
.faq-phone span, .faq-phone small, .faq-phone a { display: block; }.faq-phone span { color: var(--muted); font-size: 12px; }.faq-phone a { color: var(--navy); font-size: 27px; font-weight: 900; }.faq-phone small { color: var(--muted); }
.accordion { border-top: 2px solid var(--navy); }
.accordion-item { border-bottom: 1px solid #cfdbe6; }
.accordion-item h3 { margin: 0; }
.accordion-item button { width: 100%; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 10px; color: var(--ink); border: 0; background: none; font-weight: 800; text-align: left; cursor: pointer; }
.accordion-item i { width: 18px; height: 18px; position: relative; flex: 0 0 auto; }
.accordion-item i::before, .accordion-item i::after { content: ""; position: absolute; top: 8px; left: 1px; width: 16px; height: 2px; background: var(--blue); transition: transform .2s; }
.accordion-item i::after { transform: rotate(90deg); }.accordion-item.open i::after { transform: rotate(0); }
.accordion-panel { padding: 0 44px 22px 10px; color: var(--text); font-size: 14px; }.accordion-panel p { margin: 0; }

.remote-section { position: relative; overflow: hidden; padding: 55px 0; color: #fff; background: linear-gradient(115deg, #1428a0 0%, #1428a0 58%, #263bb5 100%); }
.remote-section::after { content: ""; position: absolute; width: 250px; height: 90px; right: 8%; top: 50%; background: url("../images/logo-white.png") center/contain no-repeat; opacity: .055; transform: translateY(-50%); }
.remote-inner { display: grid; grid-template-columns: 74px 1fr auto; align-items: center; gap: 25px; }
.remote-icon { width: 74px; height: 74px; display: grid; place-items: center; border-radius: 18px; background: rgba(255,255,255,.15); }.remote-icon svg { width: 38px; }
.remote-copy p { margin: 0; color: #a9e0ff; font-size: 11px; font-weight: 900; letter-spacing: .14em; }.remote-copy h2 { margin: 2px 0 3px; font-size: 27px; }.remote-copy span { color: rgba(255,255,255,.78); font-size: 14px; }

.site-footer { padding: 58px 0 24px; color: rgba(255,255,255,.68); background: var(--navy-deep); font-size: 13px; }
.footer-main { display: grid; grid-template-columns: .8fr 1.45fr .75fr; gap: 50px; padding-bottom: 40px; }
.footer-brand img { width: 220px; height: auto; max-width: 100%; object-fit: contain; }.footer-brand p { margin: 18px 0 0; }
.footer-info p { margin: 0 0 8px; }.footer-info strong { color: #fff; }.footer-info span { margin-left: 13px; }.footer-info a { color: #fff; }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; align-content: start; gap: 10px; }.footer-links a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); }.footer-bottom p { margin: 0; }
.mobile-actions { display: none; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }.reveal.visible { opacity: 1; transform: translateY(0); }.reveal-delay, .reveal-delay-1 { transition-delay: .1s; }.reveal-delay-2 { transition-delay: .18s; }.reveal-delay-3 { transition-delay: .26s; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media (max-width: 1080px) {
  .primary-nav { gap: 13px; font-size: 14px; }.nav-remote { padding: 0 11px; }.nav-call { padding-left:11px; font-size:15px; }
  .hero-inner { grid-template-columns: 1fr .85fr; }.hero-product-card { width: 365px; height: 390px; }.hero-product-card > img { width: 350px; }
  .service-float-top { left: -20px; }.service-float-bottom { left: -6px; }.hero-orbit-two { width: 480px; height: 480px; }
  .quick-item { padding: 16px; }.product-grid { grid-template-columns: 1fr 1fr; }.product-image-wrap { height: 300px; }
}

@media (max-width: 900px) {
  .utility-inner p { display: none; }.utility-inner { justify-content: flex-end; }
  .main-nav { min-height: var(--managed-header-height-tablet,80px); }.brand { width: var(--managed-header-logo-width-tablet,190px); }.menu-toggle { display: block; }
  .primary-nav { position: fixed; z-index: 999; inset: 112px 0 auto; max-height: calc(100vh - 112px); display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 18px 20px 28px; overflow-y: auto; border-top: 1px solid var(--line); background: #fff; box-shadow: 0 25px 40px rgba(8,44,85,.14); opacity: 0; visibility: hidden; transform: translateY(-12px); transition: .25s; }
  .site-header.scrolled .primary-nav { top: 74px; }
  .primary-nav.is-open,.primary-nav.open { opacity: 1; visibility: visible; transform: translateY(0); }
  .primary-nav > a { min-height: 52px; padding: 0 8px; border-bottom: 1px solid var(--line); }
  .nav-support-group { display:block; padding:0 8px 8px; border-bottom:1px solid var(--line); }
  .nav-support-group > a { width:100%; min-height:48px; }
  .nav-support-submenu { min-width:0; position:static; display:grid; grid-template-columns:1fr 1fr; gap:6px; padding:0 0 4px; border:0; border-radius:0; box-shadow:none; opacity:1; visibility:visible; transform:none; }
  .nav-support-submenu a { padding:9px 10px; background:var(--surface); text-align:center; }
  .primary-nav .nav-remote { justify-content:center; margin-top:10px; border:0; }
  .primary-nav .nav-call { min-height:52px; justify-content:center; margin-top:6px; padding:0 8px; border:0; border-top:1px solid var(--line); font-size:19px; }
  .hero { min-height: auto; }.hero-inner { min-height: auto; grid-template-columns: 1fr; padding-top: 70px; padding-bottom: 65px; }.hero-copy { text-align: center; }.hero-copy .eyebrow, .hero-actions, .hero-trust { justify-content: center; }.hero-description { margin-inline: auto; }
  .hero-visual { min-height: 500px; }.hero-product-card { width: 410px; height: 410px; }.hero-product-card > img { width: 375px; }.service-float-top { left: 12%; }.service-float-bottom { left: 13%; }
  .quick-grid { grid-template-columns: 1fr 1fr; }.quick-item:nth-child(2) { border-right: 0; }.quick-item:nth-child(n+3) { border-top: 1px solid var(--line); }
  .strengths-grid, .faq-grid { grid-template-columns: 1fr; gap: 55px; }.strengths-intro { max-width: 620px; }.process-list { grid-template-columns: 1fr 1fr; gap: 40px 0; }.process-list li:nth-child(2)::after { display: none; }
  .case-grid { grid-template-columns: 1fr 1fr; }.case-main { grid-column: 1 / -1; }.case-main .case-art { height: 270px; }
  .home-case-image { height:220px; }
  .partners-inner { flex-direction: column; align-items: stretch; gap: 20px; }.partner-heading { width:100%; flex:0 0 auto; }.partner-slider { width:100%; }
  .supplier-modal-layout{grid-template-columns:1fr}.supplier-modal-map,.supplier-modal-map iframe{min-height:380px}.supplier-modal-info{padding:38px}.supplier-modal-dialog{max-width:760px}
  .footer-main { grid-template-columns: 1fr 1.5fr; }.footer-links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 20px; }
}

@media (max-width: 640px) {
  body { padding-bottom: 62px; }.container { width: min(calc(100% - 32px), var(--container)); }
  .utility-inner { min-height: 34px; }.utility-links > span { display: none; }.main-nav { min-height: 70px; }.brand { width: 145px; }
  .primary-nav { top: 104px; max-height: calc(100vh - 104px); }.site-header.scrolled .primary-nav { top: 70px; }
  .hero-inner { padding-top: 55px; padding-bottom: 50px; }.hero h1 { font-size: clamp(36px, 10vw, 48px); }.hero-description { margin: 20px 0 25px; font-size: 16px; }
  .hero-actions { flex-direction: column; }.button { width: 100%; }.hero-trust { margin-top: 30px; }.hero-trust li { min-width: 0; flex: 1; padding: 0 10px; }.hero-trust strong { font-size: 15px; }.hero-trust span { font-size: 10px; }
  .hero-visual { min-height: 415px; margin-top: 15px; }.hero-product-card { width: min(330px, 88vw); height: 335px; }.hero-product-card > img { width: 305px; }.hero-price-card { right: 0; width: 195px; padding: 13px 15px; }.hero-price-card strong { font-size: 15px; }
  .product-badge { top: 19px; right: 8px; }.hero-orbit-one { width: 360px; height: 360px; }.hero-orbit-two { display: none; }.service-float { padding: 10px 11px; }.service-float-top { left: -3px; top: 55px; }.service-float-bottom { left: 8px; bottom: 31px; }.service-float strong { font-size: 11px; }.service-float small { font-size: 9px; }.icon-circle { width: 32px; height: 32px; }
  .quick-grid { grid-template-columns: 1fr; }.quick-item, .quick-item:first-child { min-height: 86px; border: 0; border-bottom: 1px solid var(--line); }.quick-item:nth-child(n+3) { border-top: 0; }.quick-highlight { border: 0; }
  .section { padding: 78px 0; }.section-heading { margin-bottom: 28px; }.section-heading h2, .strengths h2, .faq h2 { font-size: 31px; }.heading-row { align-items: flex-start; flex-direction: column; gap: 15px; }.text-link { font-size: 14px; }
  .category-tabs { flex-wrap: nowrap; margin-inline: -16px; padding-inline: 16px; overflow-x: auto; scrollbar-width: none; }.category-tabs::-webkit-scrollbar { display: none; }.category-tabs span { white-space: nowrap; }
  .product-grid { grid-template-columns: 1fr; }.product-image-wrap { height: 290px; }.product-image-wrap img { width: 250px; height: 250px; }.product-content ul { min-height: 0; }
  .strengths-grid { gap: 42px; }.strength-list { grid-template-columns: 1fr; grid-auto-rows: auto; }.strength-card { min-height: 0; height: auto; padding: 21px; }
  .process-list { grid-template-columns: 1fr; gap: 37px; }.process-list li { padding: 0 20px; }.process-list li::after { display: none; }.step-icon { margin-bottom: 13px; }
  .case-grid { grid-template-columns: 1fr; }.case-main { grid-column: auto; }.case-main .case-art, .case-art { height: 235px; }
  .home-case-slide { flex-basis:100%; }.home-case-image { height:210px; }.home-case-copy { padding:20px; }.home-case-copy h3 { font-size:18px; }
  .partners { margin-top:24px; }
  .partner-heading { min-width:0; }.partner-slide { min-height:62px; flex-basis:100%; }.partner-controls button { width:38px; height:38px; }
  .supplier-modal{padding:12px}.supplier-modal-dialog{max-height:calc(100vh - 24px);border-radius:18px}.supplier-modal-map,.supplier-modal-map iframe{min-height:300px}.supplier-modal-info{padding:30px 24px}.supplier-modal-close{top:10px;right:10px}
  .faq-grid { gap: 38px; }.accordion-item button { min-height: 68px; }.faq-phone a { font-size: 25px; }
  .remote-inner { grid-template-columns: 55px 1fr; gap: 15px; }.remote-icon { width: 55px; height: 55px; border-radius: 13px; }.remote-icon svg { width: 29px; }.remote-copy h2 { font-size: 21px; }.remote-copy span { display: none; }.remote-button { grid-column: 1 / -1; margin-top: 8px; }
  .footer-main { grid-template-columns: 1fr; gap: 28px; }.footer-links { grid-column: auto; }.footer-info span { display: block; margin: 3px 0 0; }.footer-bottom { gap: 15px; font-size: 11px; }
  .mobile-actions { position: fixed; z-index: 1100; inset: auto 0 0; height: 62px; display: grid; grid-template-columns: 1fr 1fr; color: #fff; box-shadow: 0 -5px 20px rgba(8,44,85,.2); }.mobile-actions a { display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--navy); font-size: 14px; font-weight: 800; }.mobile-actions a:last-child { background: var(--blue); }.mobile-actions svg { width: 19px; }
}

/* Samsung-inspired second concept: product-first, minimal, and ITWORLD-owned. */
.utility-bar { display: none; }
.main-nav { min-height: var(--managed-header-height-desktop,88px); }
.primary-nav { font-size: 14px; }
.nav-call { color:var(--blue); background:transparent; }

.hero-v2 { min-height: 720px; color: #101216; background: #f4f6f8; }
.hero-v2::before, .hero-v2::after { display: none; }
.hero-v2-glow { position: absolute; width: 680px; height: 680px; right: -120px; top: -80px; border-radius: 50%; background: radial-gradient(circle, rgba(5,105,183,.13), rgba(5,105,183,0) 68%); }
.hero-v2-inner { min-height: 640px; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 40px; position: relative; z-index: 1; padding-top: 48px; }
.hero-v2-copy { padding-bottom: 35px; }
.hero-v2-kicker { margin: 0 0 16px; color: #1428a0; font-size: 12px; font-weight: 900; letter-spacing: .18em; }
.hero-v2 h1 { margin: 0; color: #111; font-size: var(--itw-home-hero-title-size,56px); line-height: 1.12; letter-spacing: -.05em; }
.hero-v2 h1 span, .hero-v2 h1 strong { display: block; white-space: nowrap; }
.hero-v2 h1 strong { color: #1428a0; }
.hero-v2 .hero-description { margin: 24px 0 22px; color: #474d55; font-size: var(--itw-home-hero-description-size,17px); line-height: 1.75; }
.hero-v2 [data-home-description] { white-space:pre-line; }
.brand-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.brand-pill { min-height: 30px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: 30px; font-size: 11px; font-weight: 900; letter-spacing: .035em; }
.samsung-pill { color: #1428a0; background: #eef1ff; }
.ricoh-pill { color: #bf1d2d; background: #fbe9eb; }
.button-dark { color: #fff; background: #111; }
.button-dark:hover { background: #333; }
.button-line { color: #111; border-color: #1c1c1c; background: transparent; }
.button-line:hover { color: #fff; background: #111; }

.hero-v2-visual { min-height: 560px; position: relative; }
.hero-device { position: absolute; }
.hero-device img { height: auto; position: relative; z-index: 1; object-fit: contain; filter: drop-shadow(0 24px 22px rgba(12,28,43,.17)); }
.hero-device-samsung { width: 380px; left: -8px; bottom: 30px; }
.hero-device-samsung img { width: 100%; }
.hero-device-ricoh { width: 455px; right: -20px; bottom: 12px; }
.hero-device-ricoh img { width: 100%; }
.hero-v2-note { position: absolute; z-index: 4; right: 0; bottom: 42px; min-width: 245px; padding: 17px 20px; border-radius: 15px; background: rgba(255,255,255,.94); box-shadow: 0 18px 45px rgba(6,31,59,.14); backdrop-filter: blur(10px); }
.hero-v2-note span, .hero-v2-note strong { display: block; }.hero-v2-note span { color: #737b84; font-size: var(--itw-home-visual-note-label-size,11px); }.hero-v2-note strong { margin-top: 2px; font-size: var(--itw-home-visual-note-title-size,15px); }
.hero-v2-bottom { min-height: 80px; position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; border-top: 1px solid #d7dce1; }
.hero-v2-bottom span { display: flex; align-items: baseline; justify-content: center; gap: 10px; color: #6a7179; border-right: 1px solid #d7dce1; font-size: 12px; }
.hero-v2-bottom span:last-child { border: 0; }.hero-v2-bottom b { color: #111; font-size: 14px; letter-spacing: .04em; }

.products-v2 { padding-top: 125px; background: #fff; }
.brand-tabs { width: min(100%, 620px); display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 44px auto 28px; padding: 5px; border-radius: 60px; background: #edf0f3; }
.brand-tabs button { min-height: 60px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; color: #676e76; border: 0; border-radius: 50px; background: transparent; cursor: pointer; transition: .25s; }
.brand-tabs button b { font-size: 15px; letter-spacing: .04em; }.brand-tabs button span { font-size: 12px; }
.brand-tabs button[aria-selected="true"] { color: #fff; background: #1428a0; box-shadow: 0 7px 20px rgba(20,40,160,.2); }
.brand-tabs button#tab-ricoh[aria-selected="true"] { background: #bd1e2e; }

.brand-panel { min-height: 610px; display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 35px; padding: 68px 70px; overflow: hidden; border-radius: 32px; background: #eef4f9; }
.brand-panel[hidden] { display: none; }
.ricoh-panel { background: #f8f1f2; }
.brand-panel-copy { position: relative; z-index: 2; }
.brand-overline { display:grid; gap:1px; margin:0 0 20px; color:#1428a0; font-size:22px; font-weight:900; line-height:1.25; letter-spacing:.04em; }.brand-overline span { display:block; }
.ricoh-panel .brand-overline { color: #bd1e2e; }
.brand-panel-copy h3 { margin: 0; font-size: clamp(31px, 2.8vw, 40px); line-height: 1.22; letter-spacing: -.04em; }
.brand-panel-copy h3 span { display: block; white-space: nowrap; }
.brand-panel-copy > p:not(.brand-overline) { margin: 22px 0 18px; color: #4b5561; word-break: keep-all; }
.brand-panel-copy ul { margin: 0 0 28px; padding: 0; color: #3c4651; font-size: 14px; list-style: none; }
.brand-panel-copy li { margin: 7px 0; }.brand-panel-copy li::before { content: "✓"; margin-right: 9px; color: #1428a0; font-weight: 900; }.ricoh-panel .brand-panel-copy li::before { color: #bd1e2e; }
.ricoh-button { color: #fff; background: #bd1e2e; }.ricoh-button:hover { background: #9e1524; }

.brand-products-visual { min-height: 470px; display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 16px; }
.brand-products-visual.has-no-secondary { grid-template-columns: 1fr; }
.featured-showcase { position: relative; min-width: 0; min-height: 470px; overflow: hidden; border-radius: 24px; }
.featured-showcase-viewport { width: 100%; min-height: 470px; overflow: hidden; border-radius: 24px; }
.featured-showcase-viewport:focus-visible { outline: 3px solid rgba(20,40,160,.32); outline-offset: 4px; }
.featured-showcase-track { width: 100%; display: flex; min-height: 470px; transition: transform .45s ease; }
.featured-showcase-slide { width: 100%; min-width: 100%; flex: 0 0 100%; border-radius: 24px; }
.featured-showcase-controls { position: absolute; z-index: 4; top: 14px; right: 14px; display: flex; align-items: center; gap: 7px; padding: 5px; border-radius: 999px; background: rgba(255,255,255,.9); box-shadow: 0 8px 22px rgba(10,30,55,.12); backdrop-filter: blur(8px); }
.featured-showcase-arrow { width: 32px; height: 32px; display: grid; place-items: center; padding: 0; color: #1428a0; border: 0; border-radius: 50%; background: #edf1ff; font-size: 16px; font-weight: 900; cursor: pointer; }
.ricoh-panel .featured-showcase-arrow { color: #bd1e2e; background: #fbecef; }
.featured-showcase-arrow:hover { color: #fff; background: #1428a0; }.ricoh-panel .featured-showcase-arrow:hover { background: #bd1e2e; }
.featured-showcase-arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.featured-showcase-status { min-width: 36px; color: #66717c; font-size: 11px; font-weight: 800; text-align: center; }
.featured-showcase-preview { cursor: pointer; transition: transform .25s, box-shadow .25s; }
.featured-showcase-preview:hover { transform: translateY(-5px); box-shadow: 0 18px 34px rgba(10,30,55,.12); }
.featured-showcase-preview:focus-visible { outline: 3px solid rgba(20,40,160,.34); outline-offset: 4px; }
.ricoh-panel .featured-showcase-preview:focus-visible { outline-color: rgba(189,30,46,.34); }
.showcase-product { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; overflow: hidden; border-radius: 24px; background: rgba(255,255,255,.74); }
.showcase-product > span { position: absolute; z-index: 2; top: 19px; left: 20px; color: #6d7680; font-size: 11px; font-weight: 800; }
.showcase-product-image-link { width:100%; min-height:0; flex:1; display:grid; place-items:center; color:inherit; cursor:pointer; }
.showcase-product-image-link:focus-visible { outline:3px solid rgba(20,40,160,.34); outline-offset:-5px; }
.ricoh-panel .showcase-product-image-link:focus-visible { outline-color:rgba(189,30,46,.34); }
.showcase-product img { max-width: 88%; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s; }.showcase-product:hover img { transform: scale(1.035); }
.showcase-product > div { width: 100%; position: relative; z-index: 2; padding: 16px 20px 18px; border-top: 1px solid rgba(218,225,231,.8); background: rgba(255,255,255,.82); }
.showcase-product h4 { margin: 0; font-size: 18px; }.showcase-product p { margin: 2px 0 0; color: #78818b; font-size: 12px; }
.showcase-main { min-height: 470px; }.showcase-main img { width: 390px; max-height: 360px; }
.showcase-sub { min-height: 365px; }.showcase-sub img { width: 190px; max-width: 96%; max-height: 245px; }
.samsung-panel .showcase-main img, .ricoh-panel .showcase-main img { width: 380px; max-height: 390px; }
.samsung-panel .showcase-sub img, .ricoh-panel .showcase-sub img { width: 225px; max-height: 270px; }
.product-help { min-height: 80px; display: flex; align-items: center; justify-content: center; gap: 25px; margin-top: 20px; border: 1px solid #e0e4e8; border-radius: 18px; }
.product-help p { margin: 0; color: #69717a; }.product-help a { color: #1428a0; font-weight: 800; }

@media (max-width: 1080px) {
  .hero-v2-inner { grid-template-columns: .9fr 1.1fr; }.hero-device-samsung { width: 315px; }.hero-device-ricoh { width: 390px; }
  .brand-panel { grid-template-columns: .8fr 1.2fr; padding: 55px 45px; }.brand-products-visual { grid-template-columns: 1.2fr .8fr; }
}

@media (max-width: 900px) {
  .main-nav { min-height: var(--managed-header-height-tablet,80px); }
  .site-footer .footer-brand img { width: var(--managed-footer-logo-width-tablet,190px); }
  .primary-nav { top: var(--managed-header-height-tablet,80px); max-height: calc(100vh - var(--managed-header-height-tablet,80px)); }
  .site-header.scrolled .primary-nav { top: var(--managed-header-height-tablet,80px); }
  .hero-v2-inner { grid-template-columns: 1fr; padding-top: 75px; text-align: center; }.hero-v2-copy { padding-bottom: 0; }.hero-v2 .hero-description { margin-inline: auto; }.brand-pills, .hero-v2 .hero-actions { justify-content: center; }
  .hero-v2-visual { width: min(100%, 700px); min-height: 500px; margin: 0 auto; }.hero-device-samsung { left: 2%; }.hero-device-ricoh { right: 2%; }
  .brand-panel { grid-template-columns: 1fr; }.brand-panel-copy { max-width: 630px; }.brand-products-visual { min-height: 430px; }
}

@media (max-width: 640px) {
  .site-footer .footer-brand img { width: var(--managed-footer-logo-width-mobile,170px); }
  .main-nav { min-height: var(--managed-header-height-mobile,72px); }.brand { width: var(--managed-header-logo-width-mobile,170px); }.primary-nav { top: var(--managed-header-height-mobile,72px); max-height: calc(100vh - var(--managed-header-height-mobile,72px)); }.site-header.scrolled .primary-nav { top: var(--managed-header-height-mobile,72px); }
  .hero-v2 { min-height: auto; }.hero-v2-inner { padding-top: 58px; }.hero-v2-kicker { margin-bottom: 12px; }.hero-v2 h1 { font-size:min(var(--itw-home-hero-title-size,56px),44px); }.hero-v2 .hero-description { font-size:min(var(--itw-home-hero-description-size,17px),15px); }.hero-v2 .hero-description br { display: none; }
  .brand-pills { margin-bottom: 22px; }.hero-v2 .hero-actions { flex-direction: column; }
  .hero-v2-visual { min-height: 300px; margin-top: -6px; }.hero-device-samsung { width: 195px; left: -4%; bottom: 20px; }.hero-device-ricoh { width: 245px; right: -4%; bottom: 4px; }.hero-v2-note { display: none; }
  .hero-v2-bottom { min-height: 72px; margin-inline: 0; width: 100%; }.hero-v2-bottom span { flex-direction: column; gap: 0; font-size: 9px; }.hero-v2-bottom b { font-size: 11px; }
  .products-v2 { padding-top: 82px; }.brand-tabs { margin-top: 30px; }.brand-tabs button { min-height: 55px; flex-direction: column; gap: 0; }.brand-tabs button b { font-size: 13px; }.brand-tabs button span { font-size: 10px; }
  .brand-panel { min-height: auto; gap: 35px; padding: 42px 20px 22px; border-radius: 24px; }.brand-panel-copy { text-align: center; }.brand-panel-copy h3 { font-size: clamp(28px, 8.2vw, 32px); }.brand-panel-copy ul { display: inline-block; text-align: left; }.brand-panel-copy .button { width: 100%; }
  .brand-products-visual { min-height: 530px; grid-template-columns: 1fr; gap: 12px; }.featured-showcase, .featured-showcase-viewport, .featured-showcase-track { min-height: 255px; }.showcase-main, .showcase-sub { min-height: 255px; }.showcase-main img, .samsung-panel .showcase-main img, .ricoh-panel .showcase-main img { width: 230px; max-height: 215px; }.showcase-sub img, .samsung-panel .showcase-sub img, .ricoh-panel .showcase-sub img { width: 160px; max-height: 175px; }.showcase-product > span { top: 15px; left: 16px; }.showcase-product > div { padding: 12px 16px; }.featured-showcase-controls { top: 10px; right: 10px; }
  .product-help { align-items: flex-start; flex-direction: column; gap: 4px; padding: 18px 20px; }.product-help p { font-size: 13px; }.product-help a { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .featured-showcase-track { transition: none; }
}
/* WordPress theme integration: managed once in Appearance > ITWORLD Settings */
.main-nav-wrap{background:var(--managed-header-bg,#fff)}
.primary-nav>a{color:var(--managed-header-text,#132238)}
.site-footer{color:var(--managed-footer-text,#fff);background:var(--managed-footer-bg,#071b32)}
.hero-v2{background-color:var(--managed-hero-bg,#f4f6f8)}
.brand img{width:auto;height:auto;max-width:100%;max-height:calc(var(--managed-header-height-desktop,88px) - 16px);object-fit:contain}
@media (max-width:900px){.brand img{max-height:calc(var(--managed-header-height-tablet,80px) - 14px)}}
@media (max-width:640px){.brand img{max-height:calc(var(--managed-header-height-mobile,72px) - 12px)}}
.nav-call b{font:inherit;color:inherit}
.site-footer .footer-brand img{width:var(--managed-footer-logo-width-desktop,220px);height:auto;max-width:100%;max-height:96px;object-fit:contain}
@media (max-width:900px){.site-footer .footer-brand img{width:var(--managed-footer-logo-width-tablet,190px)}}
@media (max-width:640px){.site-footer .footer-brand img{width:var(--managed-footer-logo-width-mobile,170px)}}
.catalog-product-card[hidden]{display:none!important}
.catalog-product-card>a{height:100%;display:flex;flex-direction:column}
.catalog-product-image{position:relative;min-height:245px;display:flex;align-items:center;justify-content:center;padding:24px;background:#f5f7fb}
.catalog-product-image>span{position:absolute;top:16px;left:16px;padding:6px 9px;border-radius:20px;color:#fff;background:#1428a0;font-size:11px;font-weight:800}
.catalog-product-image>.catalog-discontinued-badge{right:16px;left:auto;background:#c91f32;font-weight:900}.catalog-product-card.is-discontinued{border-color:#ead0d4}.product-discontinued-badge{display:inline-flex;margin-top:12px;padding:6px 11px;color:#b42332;border-radius:20px;background:#fff0f1;font-size:12px;font-weight:900}
.catalog-product-image img{width:100%;height:210px;object-fit:contain}
.product-image-placeholder{width:100%;min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;color:#8a96a8}.product-image-placeholder svg{width:72px;height:72px;stroke:#aab5c4}.product-image-placeholder small{font-size:11px;font-weight:700}
.hero-image-placeholder{width:190px;height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#748196;border:1px dashed #aeb9c8;border-radius:20px;background:rgba(255,255,255,.55)}.hero-image-placeholder svg{width:70px;height:70px}.hero-image-placeholder small{font-size:11px;font-weight:800}
.catalog-product-body{flex:1;display:flex;flex-direction:column;padding:24px}
.catalog-product-body>small{color:#1428a0;font-weight:800}.catalog-product-body h2{margin:8px 0 22px;font-size:20px}.catalog-offers{min-height:76px;margin-top:auto;padding:12px;border-radius:12px;background:#f5f7fb}.catalog-offers p{display:flex;justify-content:space-between;gap:12px;margin:0 0 7px;font-size:12px}.catalog-offers p:last-child{margin:0}.catalog-product-body>.button{width:100%;margin-top:16px;text-align:center}
.slider-track{display:flex;gap:16px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.slider-track>*{flex:0 0:min(350px,85vw);scroll-snap-align:start}.slider-track::-webkit-scrollbar{display:none}.slider-controls{display:flex;gap:8px}.slider-controls button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--blue);background:#fff;cursor:pointer}
.entry-content{color:#344154;font-size:16px;line-height:1.85}.entry-content img{height:auto;max-width:100%}
.client-strip{padding:30px 0;border-block:1px solid var(--line);background:#fff}.client-strip-inner{display:grid;grid-template-columns:180px auto 1fr;gap:24px;align-items:center}.client-strip-inner>div:first-child{display:flex;flex-direction:column}.client-strip-inner>div:first-child small{color:var(--muted)}.client-strip-inner>div:first-child strong{color:var(--blue);font-size:18px}.client-list span{min-height:54px;display:flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:12px;color:#647287;background:#f4f6f8;font-weight:800}.client-list span img{width:auto;height:30px;max-width:150px;object-fit:contain}.client-list.slider-track>*{flex-basis:210px}
body.admin-bar .site-header{top:32px}@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:760px){.client-strip-inner{grid-template-columns:1fr auto}.client-list{grid-column:1/-1}}
@media(max-width:900px){.home-search-intro-grid{grid-template-columns:1fr;gap:28px}.home-service-area{padding:24px}}@media(max-width:600px){.home-search-intro{padding:56px 0}.home-search-intro-copy h2{font-size:min(var(--itw-home-intro-title-size,42px),30px)}.home-search-intro-copy>p:last-of-type{font-size:min(var(--itw-home-intro-text-size,16px),14px);line-height:1.8}.home-category-links{display:grid;grid-template-columns:1fr 1fr}.home-category-links a{justify-content:space-between;padding:11px 12px;font-size:12px}}
