@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */

/* util */
#skipToContent a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skipToContent a:focus, 
#skipToContent a:active {width:200px;height:50px;background:#21272e;color:#fff;font-size:14px;font-weight:bold;text-align:center;text-decoration:none;line-height:3.5714em}

.only-desktop {display:block;}
.only-desktop-tablet {display:block;}
.only-tablet-mobile {display:none;}
.only-tablet {display:none;}
.only-mobile {display:none;}

.contain {width:100%; max-width:1440px; padding-left:var(--space-container); padding-right:var(--space-container); margin:0 auto;}

#wrapper {overflow-x:clip; isolation:isolate; padding-top:92px;}

/* header */
#header {position:fixed; top:0; left:0; z-index:100; width:100%; background:rgba(255,255,255,.9); border-bottom-color:rgba(10,42,94,.06);}
#header {height:92px; max-height:92px; background:rgba(255,255,255,.68); border-bottom:1px solid rgba(20,40,60,.04); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);}
#header .contain {position:relative; display:flex; align-items:center; justify-content:space-between; height:var(--header-height); gap:24px; z-index:10;}
#header.is-scrolled {background:rgba(255,255,255,.94); box-shadow:0 8px 24px rgba(10,42,94,.06);}

.sitelogo {flex-shrink:0;}
.sitelogo a {display:flex; align-items:center; gap:18px;}
.sitelogo img.r4-ci {width:38px; height:auto;}
.sitelogo img.brand-logo {width:clamp(140px, calc(172 / 1440 * 100vw), 172px); height:auto;}



#gnb {flex:1; display:flex; justify-content:center;}
#gnb > ul {display:flex; justify-content:flex-end; align-items:center; gap: clamp(6px, calc(12 / 1440 * 100vw), 16px)}
#gnb > ul > li {position:relative; display:flex; align-items:center;}
.sitelogo img {display:block; width:auto; height:clamp(24px, calc(34 / var(--inner) * 100vw), 34px);}
#gnb > ul > li > a {position:relative; display:flex; justify-content:center; align-items:center; flex-direction:row; height:var(--header-height); padding:0 clamp(8px, calc(14 / 1440 * 100vw), 16px); color:var(--c-text-secondary); font-size:var(--font-size-18); font-weight:600; letter-spacing:-.02em;}
#gnb > ul > li > a:after {content:""; position:absolute; left:50%; bottom:0; width:0; height:4px; background:var(--c-navy); transform:translateX(-50%); transition:width .3s ease;}
#gnb > ul > li > a:hover {color:var(--c-navy);}
#gnb > ul > li > a:hover:after {width:100%;}
#gnb > ul > li > a.is-current,#gnb > ul > li.active > a {color:var(--c-navy); font-weight:600;}
#gnb > ul > li > a.is-current:after,#gnb > ul > li.active > a:after {width:100%;}

body.is-hero-top #header {background:rgba(255,255,255,.9); border-bottom-color:rgba(10,42,94,.06); box-shadow:none;}
body.is-hero-top #header.is-scrolled {background:rgba(255,255,255,.98); box-shadow:0 4px 20px rgba(10,42,94,.055);}

.pull-right {display:flex; align-items:center; gap:16px;}

.header-contact {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-height:42px; padding:11px 20px; border:none; border-radius:12px; background:var(--c-navy); color:#fff; font-size:15px; font-weight:600; line-height:1.2; white-space:nowrap;}
.header-contact span {margin-left:20px;}
.header-contact:hover {background:var(--c-navy-mid); color:#fff;}

.btn-m-menu {display:none; position:relative; width:24px; height:24px;}
.btn-m-menu div {display:flex; flex-direction:column; justify-content:center; gap:7px; width:100%; height:100%;}
.btn-m-menu span {background:var(--c-navy); width:100%; height:2px; border-radius:2px;}

.mobile-navigation {display:none; position:fixed; top:0; right:0; height:100%; overflow:auto; transition:.2s linear; transform:translateX(100%); z-index:102; width:min(320px, 86vw); background:#fff;}
.mobile-navigation .sitelogo {display:flex; align-items:center; height:var(--header-height); padding:0 24px; font-size:0;}
.mobile-navigation .nav-menu > ul {border-top:1px solid var(--c-divider);}
.mobile-navigation .nav-menu > ul > li {border-bottom:1px solid var(--c-divider);}
.mobile-navigation .nav-menu > ul > li > a {display:block; padding:14px 24px; color:var(--c-text-primary); font-size:18px; font-weight:600; line-height:1.5em;}
.mobile-navigation .nav-menu > ul > li > a:after {right:24px; width:9px; height:9px; transform:translateY(-50%) rotate(-45deg); border-color:var(--c-text-muted);}
.mobile-navigation .nav-menu > ul > li.active > a {color:var(--c-navy); background:transparent;}
.mobile-navigation .nav-menu > ul > li.active > a:after {border-color:var(--c-navy);}
.mobile-navigation .header-contact {display:flex; margin:16px 24px;}
.mobile-navigation .close {position:absolute; top:25px; right:15px; width:26px; height:26px; text-indent:-9999em; overflow:hidden;}
.mobile-navigation .close:before,.mobile-navigation .close:after {content:''; position:absolute; top:50%; left:50%; width:100%; height:2px; background:var(--c-navy);}
.mobile-navigation .close:before {transform:translate(-50%, -50%) rotate(45deg);}
.mobile-navigation .close:after {transform:translate(-50%, -50%) rotate(-45deg);}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:101; backdrop-filter:blur(12px);}

html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}

/* main */
#container {overflow-x:clip; position:relative; z-index:1; color:var(--c-text-primary);}
#container .contain {width:min(1440px,calc(100% - 120px));margin:auto;}
.btn {display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:clamp(48px, calc(58 / var(--inner) * 100vw), 58px); padding:0 clamp(22px, calc(34 / var(--inner) * 100vw), 34px); border:var(--border-width) solid transparent; border-radius:100px; font-size:var(--fs-body-l); font-weight:700; letter-spacing:-.02em; line-height:1.3em; text-align:center;}
.btn svg {width:18px; height:18px; flex:0 0 18px;}
.btn-point {background:var(--c-point); color:var(--c-navy-deep);}
.btn-point:hover {background:#fff; color:var(--c-navy);}
.btn-line {border-width:2px; border-color:var(--c-navy); color:var(--c-navy); background:#fff;}
.btn-line:hover {border-color:var(--c-navy-deep); background:var(--c-bg-brand-navy); color:var(--c-navy-deep);}
.btn.is-unlinked {opacity:.55; cursor:default;}
.btn.is-unlinked:hover {background:var(--c-point); color:var(--c-navy-deep);}
#container {overflow-x:clip; position:relative; z-index:1; color:var(--c-text-primary);}
#container .section {scroll-margin-top:calc(var(--header-height) + 24px);}
#container .button.primary {background:var(--c-point); color:var(--c-navy-deep); border-radius:100px; font-weight:700; justify-content:center; gap:20px;}
#container .button.primary:hover {background:#fff; color:var(--c-navy);}
#container .eyebrow {display:inline-flex; align-items:center; justify-content:flex-start; gap:8px; line-height:1; color:var(--c-navy); font-size:13px; font-weight:700; letter-spacing:.14em;}
#container .eyebrow::before {width:6px; height:6px; flex-basis:6px; transform:none;}
button:focus-visible,a:focus-visible {outline:3px solid #c38c00;outline-offset:5px;}
.section {padding:150px 0;}
.eyebrow {font-size:13px;font-weight:700;letter-spacing:.14em;line-height:1;color:var(--c-navy);margin-bottom:24px;}
.section-head {display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:56px;}
.section-head>p {font-size:17px;padding-bottom:5px;}
.section-head.centered {display:block;text-align:center;}
.section-head.centered .eyebrow {margin-bottom:18px;}
.button {display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-height:58px;padding:16px 25px;border-radius:6px;border:0;font-weight:600;font-size:16px;transition:background .2s,transform .2s;}
.button:hover {transform:translateY(-2px);}
.button span {font-size:24px;line-height:1;}
.primary {background:var(--c-point);color:var(--c-navy-deep);}
.primary:hover {background:#003a77;}
.live-dot {width:6px;height:6px;border-radius:50%;background:#3ed895;display:inline-block;margin-right:7px;}
.monitor {background:var(--c-navy-deep);}
.monitor-bar {display:flex;align-items:center;justify-content:space-between;padding:8px 8px 18px;color:#dce5ee;font-size:10px;letter-spacing:.09em;}
.monitor-bar b {font-size:14px;letter-spacing:-.025em;color:var(--c-point);}
.monitor-status {font-size:11px;letter-spacing:0;}
.monitor-scene {position:relative;aspect-ratio:1.46;overflow:hidden;border-radius:5px;}
.monitor-scene>img {width:100%;height:100%;object-fit:cover;}
.scene-label {position:absolute;left:15px;top:14px;background:#102033a6;color:white;font-size:11px;padding:5px 9px;border-radius:3px;}
.scene-time {position:absolute;right:12px;top:18px;font-size:11px;color:white;text-shadow:0 1px 3px #000;}
.detect-box {position:absolute;left:39%;top:22%;width:9%;height:27%;border:1px solid #57ffb4;box-shadow:0 0 0 1px #57ffb425;}
.detect-box span {position:absolute;left:-1px;top:-23px;background:#43e394;color:#103b28;padding:2px 6px;font-size:10px;white-space:nowrap;}
.detection-toast {position:absolute;bottom:22px;left:22px;right:22px;padding:16px;display:flex;gap:12px;align-items:center;color:var(--c-navy);background:rgba(255,255,255,.95);border-radius:7px;box-shadow:0 8px 25px #0002;}
.detection-toast strong {font-size:14px;color:#152c47;}
.detection-toast small {display:block;font-size:12px;color:#687587;}
.detection-toast>span {margin-left:auto;font-size:24px;}
.monitor-bottom {display:flex;align-items:center;padding:16px 8px 4px;gap:25px;color:#b9c5d4;font-size:11px;}
.monitor-bottom>span:first-child {color:#fff;}
.monitor-bottom>.icon {margin-left:auto;width:16px;height:16px;}
.service-points article {padding:23px 0;border-bottom:1px solid var(--line);}
.service-points article:first-child {padding-top:0;}
.service-points article:last-of-type {border:0;}
.point-index {color:#68768a;}
.service-points h3 {color:var(--c-navy-deep);}
.service-points p {font-size:16px;}
.difference .eyebrow {color:var(--c-point);}
.difference .section-head>p {color:#a7b6c9;}
.comparison .eyebrow {font-size:12px;margin-bottom:12px;}
.before .eyebrow {color:#a7bbd3;}
.after .eyebrow {color:var(--c-navy-deep);}
.monitor-bar,.monitor-status,.scene-label,.scene-time,.detect-box span,.detection-toast small,.monitor-bottom {font-size:12px;}
.difference .section-head .eyebrow {color:#fff;}
.section-head--center {display:block; margin-bottom:80px; text-align:center;}
.section-head--center > div {display:flex; flex-direction:column; align-items:center; gap:0;}
#container .section-head--center .eyebrow,#container .head-stack-left .eyebrow,#container .spotlight-copy .eyebrow {color:var(--c-point, #FBB600);}
.section-head--center .eyebrow {justify-content:center;}
.head-stack-left .section-head-desc,.head-stack-left > p.section-head-desc {max-width:100%;}
#container .section-head-desc {color:#686868;}
#container [data-aos] {will-change:transform, opacity;}

/* hero */
#header .header-contact,#hero .hero-btns .btn,#container .button.primary,#featured .feat-showcase-body .button.primary {border-radius:var(--radius-control); font-weight:650; box-shadow:none; transition:background .22s ease, color .22s ease, border-color .22s ease;}
@keyframes hero-image-zoom {from { transform:scale(1); } to { transform:scale(1.1); };}
@keyframes hero-siren-enter-bullet {from { opacity:0; transform:translate(-200px, calc(-45% + 16px)) scale(.96); } to { opacity:1; transform:translate(-200px, -45%) scale(1); };}
@keyframes hero-siren-zoom-bullet {from { transform:translate(-200px, -45%) scale(1); } to { transform:translate(-200px, -45%) scale(1.05); };}
#hero .hero {overflow:hidden; position:relative;}
#hero .hero {display:flex; align-items:center;}
#hero .hero-content {position:relative; z-index:2; width:100%; padding-top:0 !important; transform:translateY(-28px);}
#container #hero .hero-title {font-weight:750; letter-spacing:-.04em; line-height:1.22;}
#container #hero .hero-title {font-size:clamp(48px, 4.25vw, 72px); color:#242424;}
#container #hero .hero-title span {color:var(--c-navy);}
#hero .hero-btns {display:flex; flex-wrap:wrap; gap:12px; margin-top:clamp(16px, 4vw, 44px);}
#hero .hero-btns .btn {display:inline-flex; align-items:center; justify-content:center; min-height:58px; padding:0 clamp(28px, 3vw, 36px); border-radius:12px; font-size:16px; font-weight:650; letter-spacing:-.02em; box-shadow:none; transition:background .22s ease, color .22s ease, border-color .22s ease;}
#hero .hero-btns .btn-point {min-width:clamp(180px, 18vw, 220px); border:1px solid var(--c-point); background:var(--c-point); color:var(--c-navy-deep);}
#hero .hero-btns .btn-point:hover {background:#ffd05b; border-color:#ffd05b; color:var(--c-navy-deep);}
#hero .hero-btns .btn-line {background:rgba(255,255,255,.65); border:1px solid #CCD6E4; color:var(--c-navy);}
#hero .hero-btns .btn-line:hover {border:1px solid var(--c-navy); background:var(--c-navy); color:#fff;}
#hero .hero-description {color:#454545;}
#hero .hero-content .eyebrow {font-size:13px; line-height:1;}
#hero .hero-visual {position:absolute; inset:0; z-index:0;}
#hero .hero-slide {position:absolute; inset:0; opacity:0; transition:opacity 1.1s ease; pointer-events:none;}
#hero .hero-slide.is-active {opacity:1; z-index:1;}
#hero .hero-image {position:absolute; inset:0;}
#hero .hero-image img {display:block; width:100%; height:100%; object-fit:cover; object-position: top right;}
#hero .hero-shade {z-index:1; background:linear-gradient(90deg, rgba(246, 248, 250, .96), rgba(246, 248, 250, .55) 39%, transparent 65%);}
#hero .hero-bottom {justify-content:center; bottom:36px;}
/* #hero .hero-slide .hero-image {position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:72% 50%; transform-origin:72% 50%; animation:none; transform:scale(1); filter:none;}
#hero .hero-slide[data-hero-slide="0"] .hero-image {object-position:92% 45%; transform-origin:92% 45%;}
#hero .hero-slide[data-hero-slide="1"] .hero-image {width:135%; height:135%; left:auto; right:0; top:-8%; object-position:100% 0%; transform-origin:100% 0%;}
#hero .hero-slide[data-hero-slide="2"] .hero-image {object-position:68% 50%; transform-origin:68% 50%;} */
#hero .hero-slide.is-active .hero-image {animation:hero-image-zoom 22s ease-out forwards;}
#hero .hero-slide-indicator {display:inline-flex; align-items:center; justify-content:center; font-style:normal;}
#hero .hero-slide-dots {display:inline-flex; align-items:center; gap:8px;}
#hero .hero-slide-dot {display:block; width:8px; height:8px; border-radius:999px; background:rgba(111, 133, 158, .42); transition:width .4s ease, background .4s ease, opacity .4s ease; cursor:pointer;}
#hero .hero-slide-dot.is-active {width:32px; background:var(--c-navy);}
#hero.hero-group .hero {min-height:max(680px, calc(100svh - 92px)); height:max(680px, calc(100svh - 92px));}
.hero {background:#f3f5f7;}
.hero-shade {background:linear-gradient(90deg,rgba(246,248,250,.96),rgba(246,248,250,.55) 39%,transparent 65%);}
.hero-content {position:relative;padding-top:112px;}
.hero .eyebrow {display:inline-flex;align-items:center;gap:8px;line-height:1;color:var(--c-navy);}
#container .hero h2,#container .hero .hero-title {color:#242424;}
#container .hero h2,#container .hero .hero-title span {color:#242424;}
.hero-description {font-size:19px;line-height:1.7;margin-top:28px;color:#48586b;}
.hero .eyebrow,.point-index {font-size:12px;}
#container .hero .hero-title span {color:var(--c-navy);}
.hero .eyebrow:before {content:'';display:block;flex:0 0 8px;width:8px;height:8px;background:var(--c-point);border-radius:50%;transform:translateY(.5px);}
#container .eyebrow,#hero .hero-content .eyebrow,#container .section-head--center .eyebrow,#container .head-stack-left .eyebrow {font-size:14px; font-weight:650; letter-spacing:.075em; line-height:1.5; color:var(--c-navy);}
#hero .hero-btns .btn-point,#container .button.primary {background:var(--c-point); border-color:var(--c-point); color:var(--c-navy-deep);}
#hero .hero-btns .btn-point:hover,#container .button.primary:hover {background:#FFD05B; border-color:#FFD05B; color:var(--c-navy-deep);}
#hero .hero-title .hero-zero-em {color:var(--c-navy, #0a2a5e); font-weight:800;}
#container #hero .hero-title strong.hero-zero-em .hero-zero-point {color:var(--c-point, #fbb600);}
#hero .hero-visual--siren {background:radial-gradient(ellipse 68% 56% at 78% 44%, rgba(10, 42, 94, .08) 0%, transparent 72%), radial-gradient(circle at 86% 20%, rgba(251, 182, 0, .09) 0%, transparent 36%), linear-gradient(135deg, #eef2f7 0%, #f7f9fb 48%, #edf1f6 100%);}
#hero .hero-visual--siren .hero-siren-stage {position:absolute; inset:0; overflow:hidden;}
#hero .hero-visual--siren .hero-siren-glow {position:absolute; right:calc(4% + 200px); top:50%; width:min(62vw, 860px); height:min(62vw, 860px); transform:translateY(-50%); border-radius:50%; background:radial-gradient(circle, rgba(255, 255, 255, .94) 0%, rgba(255, 255, 255, .34) 46%, transparent 76%); pointer-events:none;}
#hero .hero-visual--siren .hero-siren-image {position:absolute; width:auto; height:auto; max-width:none; object-fit:contain; filter:drop-shadow(0 24px 42px rgba(10, 42, 94, .18)); transform-origin:92% 45%; opacity:0; animation:none;}
#hero .hero-siren-image--bullet {right:-2%; top:50%; height:min(86svh, 980px); width:auto; max-height:none; transform:translate(-200px, -45%); transform-origin:92% 45%;}
#hero .hero-slide.is-active .hero-siren-image--bullet {animation:hero-siren-enter-bullet .85s ease forwards, hero-siren-zoom-bullet 22s ease-out .85s forwards;}
#hero .hero-visual--siren + .hero-shade {background:linear-gradient(90deg, rgba(246, 248, 250, .96) 0%, rgba(246, 248, 250, .55) 39%, transparent 65%);}

/* brand */
#brand .section-head-desc {white-space:nowrap; color:#686868;}
#brand .section-head--center .eyebrow,#products .section-head--center .eyebrow,#guide .section-head--center .eyebrow {color:var(--c-navy, #0A2A5E);}
#brand .section-head--center h2 em,#brand .section-head--center h2 .head-em-point {color:var(--c-navy, #0A2A5E);}
#brand .monitor-bar b,#cvr.r4-self .monitor-bar b {color:#fff;}
#brand .eyebrow-point {letter-spacing:.14em;}
#brand .service-points article.is-active .point-index {color:var(--c-navy, #0A2A5E); background:none; -webkit-background-clip:border-box; background-clip:border-box;}
#brand .service-grid {align-items:stretch; gap:clamp(28px, 3.5vw, 48px);}
#brand .service-points {display:grid; grid-template-rows:repeat(3, minmax(0, 1fr)); align-self:stretch; min-height:100%; border:0; border-radius:0; background:transparent;}
#brand .service-points article[role="tab"] {flex:none; min-height:0; display:flex; flex-direction:column; justify-content:center; align-items:stretch; gap:0; padding-block:clamp(22px, 2.2vw, 28px); padding-inline:24px; margin:0; border:0; border-bottom:1px solid #e2e7ee; border-radius:0; background:transparent; cursor:pointer; position:relative; overflow:hidden; box-sizing:border-box; transition:color .25s ease; outline:none;}
#brand .service-points article[role="tab"]:last-of-type {border-bottom:0;}
#brand .service-points article[role="tab"].is-active::after {content:''; position:absolute; left:0; right:0; bottom:0; z-index:1; height:2px; background:var(--c-navy, #0A2A5E);}
#brand .service-points article[role="tab"].is-active {background:transparent; border-bottom-color:#e2e7ee;}
#brand .service-points .point-index {position:absolute; top:50%; bottom:auto; left:24px; right:auto; transform:translateY(-50%); z-index:0; margin:0; font-size:clamp(96px, 9.5vw, 140px); font-weight:800; line-height:1; letter-spacing:-.05em; text-align:left; color:rgba(0, 37, 85, .03); pointer-events:none; user-select:none; transition:color .25s ease, background .25s ease;}
#brand .service-points h3 {position:relative; z-index:1; width:100%; margin:0 0 14px; padding-left:clamp(88px, 9vw, 120px); padding-right:0; font-size:clamp(22px, 1.85vw, 28px); font-weight:700; line-height:1.35; letter-spacing:-.03em; color:#b8c0cb; text-align:left; transition:color .25s ease;}
#brand .service-points article.is-active h3 {color:var(--c-navy-deep);}
#brand .service-points p {position:relative; z-index:1; width:100%; margin:0; padding-left:clamp(88px, 9vw, 120px); padding-right:0; font-size:calc(clamp(13px, 1vw, 15px) + 2pt); line-height:1.65; color:#b8c0cb; text-align:left; white-space:nowrap; transition:color .25s ease;}
#brand .service-points article.is-active p {color:#454545;}
#brand .monitor,#cvr.r4-self .monitor {border-radius:24px;}
#brand .monitor-scene,#cvr.r4-self .monitor-scene {border-radius:12px;}
#brand .monitor-scene-img,#cvr.r4-self .monitor-scene-img {border-radius:12px; transition:opacity .32s ease;}
#brand .monitor-scene.is-switching .monitor-scene-img,#cvr.r4-self .monitor-scene.is-switching .monitor-scene-img {opacity:0;}
#brand .monitor-scene .scene-time,#cvr.r4-self .monitor-scene .scene-time {display:none;}
#brand .detect-box--vehicle,#cvr.r4-self .detect-box--vehicle {display:none;}
#brand .monitor-scene.is-scene-manage .detect-box--vehicle,#cvr.r4-self .monitor-scene.is-scene-manage .detect-box--vehicle {left:7%; top:22%; width:18%; height:28%; border-color:#ffb84d; box-shadow:0 0 0 1px rgba(255, 184, 77, 0.35);}
#brand .monitor-scene.is-scene-analyze .detect-box--person,#cvr.r4-self .monitor-scene.is-scene-analyze .detect-box--person {left:37%; top:22%; width:9%; height:27%;}
#brand .monitor-scene.is-scene-connect .detect-box--person,#cvr.r4-self .monitor-scene.is-scene-connect .detect-box--person {left:31%; top:22%; width:8%; min-width:61px; height:24%;}
#brand .monitor-scene.is-scene-manage .detect-box--person,#cvr.r4-self .monitor-scene.is-scene-manage .detect-box--person {left:60%; top:36%; width:8%; min-width:61px; height:28%;}
#brand .monitor-scene .detect-box span,#cvr.r4-self .monitor-scene .detect-box span {top:-23px; left:-1px; background:#43e394; color:#103b28; padding:2px 6px; font-size:14px; font-weight:600; line-height:1.4; white-space:nowrap;}
#brand .monitor-scene.is-scene-manage .detect-box--vehicle span,#cvr.r4-self .monitor-scene.is-scene-manage .detect-box--vehicle span {background:var(--c-point); color:var(--c-navy-deep);}
#brand .monitor-scene .detect-box,#cvr.r4-self .monitor-scene .detect-box {transform-origin:center center; will-change:transform, opacity;}
#brand .monitor-scene .detect-box.is-grow,#cvr.r4-self .monitor-scene .detect-box.is-grow {animation:brand-detect-grow 0.72s cubic-bezier(0.22, 1, 0.36, 1) forwards;}
#brand .monitor-scene.is-switching .detect-box,#cvr.r4-self .monitor-scene.is-switching .detect-box {animation:none; opacity:0; transform:scale(0.72);}
#brand .detection-toast,#cvr.r4-self .detection-toast {left:22px; right:22px; bottom:22px; padding:16px; gap:12px; background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; color:var(--c-navy-deep); border:1px solid rgba(226, 231, 238, 0.95); border-radius:12px; box-shadow:0 8px 24px rgba(6, 27, 60, 0.12); align-items:center;}
#brand .detection-toast strong,#cvr.r4-self .detection-toast strong {color:var(--c-navy-deep); font-size:18px; font-weight:700; line-height:1.45;}
#brand .detection-toast small,#cvr.r4-self .detection-toast small {position:relative; display:inline-block; margin-left:0; padding-left:10px; border-left:0; color:#454545; font-size:14px; font-weight:400; line-height:1.45;}
#brand .detection-toast small::before,#cvr.r4-self .detection-toast small::before {content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:14px; background:rgba(6, 27, 60, 0.22);}
#brand .detection-toast > .icon,#cvr.r4-self .detection-toast > .icon {display:block; flex-shrink:0; align-self:center; width:22px; height:22px; padding:6px; border-radius:50%; background:#edf2f8; color:var(--c-navy, #0A2A5E); stroke:var(--c-navy, #0A2A5E); box-sizing:content-box;}
#brand .detection-toast > .icon path,#brand .detection-toast > .icon rect,#brand .detection-toast > .icon circle,#cvr.r4-self .detection-toast > .icon path,#cvr.r4-self .detection-toast > .icon rect,#cvr.r4-self .detection-toast > .icon circle {stroke:var(--c-navy, #0A2A5E);}
#brand .detection-toast > div,#cvr.r4-self .detection-toast > div {display:flex; flex-wrap:wrap; align-items:center; align-self:center; gap:0 10px; min-width:0; line-height:1.45;}
#brand .detection-toast > span,#cvr.r4-self .detection-toast > span {display:none;}
#brand .section-head--center h2 em,#brand .section-head--center h2 .head-em-point,#lightcam .section-head--center h2 .head-em-point,#products .section-head--center h2 em,#guide .section-head--center h2 .head-em-point,#guide .r5-heading h2 em,#featured .head-stack-left h2 em {color:var(--c-navy);}
#brand.r4-brand {padding:100px 0; scroll-margin-top:100px; word-break:keep-all; background:#fff;}
#brand.r4-brand .r4-contain {width:calc(100% - 80px); max-width:1440px; margin:0 auto;}
#brand.r4-brand .r4-heading .eyebrow {display:inline-flex; align-items:center; gap:8px; margin:0 0 24px; font-size:14px; letter-spacing:.075em; line-height:1.5; color:var(--c-navy); justify-content:flex-start;}
#brand.r4-brand .r4-heading h2 {font-size:clamp(32px, 3vw, 56px); font-weight:700; line-height:1.3; letter-spacing:-.035em; margin:0; color:#242424;}
#brand.r4-brand .r4-heading em {font-weight:inherit; font-style:normal; background:none; color:var(--c-navy);}
#brand.r4-brand .r4-desc {margin:24px 0 0; font-size:18px; line-height:1.8; color:#686868; max-width:680px;}
#brand.r4-brand .r4-brand-top {display:grid; grid-template-columns:1.6fr 1fr; gap:90px; align-items:center;}
#brand.r4-brand .r4-brand-statement {padding:28px 0 28px 60px; border-left:1px solid #e1e5eb;}
#brand.r4-brand .r4-brand-statement img {width:100%; max-width:320px; height:auto; display:block;}
#brand.r4-brand .r4-brand-statement p {font-size:23px; line-height:1.7; color:#686868; margin:28px 0 0; letter-spacing:-.025em;}
#brand.r4-brand .r4-brand-statement strong {color:var(--c-navy); font-weight:650;}
#brand.r4-brand .r4-history {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); margin-top:64px; border-top:1px solid #cdd6e3; gap:52px;}
#brand.r4-brand .r4-history article {position:relative; padding-top:32px; transition:opacity .35s ease;}
#brand.r4-brand .r4-history article::before {content:""; position:absolute; top:-6px; left:0; width:9px; height:9px; border-radius:50%; background:#cdd6e3; transition:background .35s ease, width .35s ease, height .35s ease, top .35s ease, left .35s ease, box-shadow .35s ease;}
#brand.r4-brand .r4-history article.is-active::before {top:-8px; left:-1px; width:13px; height:13px; background:var(--c-point); box-shadow:0 0 0 5px rgba(251,182,0,.2);}
#brand.r4-brand .r4-history article > strong {display:block; font-size:42px; font-weight:700; line-height:1.2; color:#b8c4d4; margin-bottom:20px; letter-spacing:-.025em; transition:color .35s ease;}
#brand.r4-brand .r4-history article.is-active > strong {color:var(--c-navy);}
#brand.r4-brand .r4-history h3 {margin:0; font-size:21px; font-weight:650; color:#868686; letter-spacing:-.025em; line-height:1.5; transition:color .35s ease;}
#brand.r4-brand .r4-history article.is-active h3 {color:#242424;}
#brand.r4-brand .r4-history p {font-size:16px; line-height:1.8; color:#686868; margin:12px 0 0; max-width:340px; opacity:.72; transition:opacity .35s ease;}
#brand.r4-brand .r4-history article.is-active p {opacity:1;}

/* self */
#cvr.ne-difference > .contain {position:relative; z-index:1; width:min(1440px, calc(100% - 120px)); max-width:1440px; margin:0 auto; padding:0; box-sizing:border-box;}
@keyframes ne-vs-glow {0%, 100% { box-shadow:0 6px 20px rgba(251, 182, 0, .32); } 50% { box-shadow:0 8px 28px rgba(251, 182, 0, .46), 0 0 0 5px rgba(251, 182, 0, .18); };}
@keyframes ne-vs-ring {0% { transform:scale(1); opacity:.5; } 100% { transform:scale(1.65); opacity:0; };}
@keyframes brand-detect-grow {0% { transform:scale(0.72); opacity:0.25; } 55% { transform:scale(1.1); opacity:1; } 100% { transform:scale(1); opacity:1; };}
#cvr.ne-difference {position:relative; background:var(--c-navy-deep, #061B3C); color:#fff; padding:clamp(72px, 6.25vw, 150px) 0; overflow:hidden;}
#cvr .ne-difference-layout {display:block; max-width:640px; margin-inline:auto;}
#cvr .ne-difference-copy {min-width:0; text-align:center;}
#cvr .ne-difference-copy .eyebrow {margin:0 0 26px; color:#cad6e7; justify-content:center;}
#cvr #ne-difference-title {margin:0; padding:0; color:#fff; font-size:clamp(38px, 3.35vw, 60px); font-weight:800; line-height:1.23; letter-spacing:-.045em; word-break:keep-all;}
#cvr #ne-difference-title em {color:#fff; font-style:normal; font-weight:inherit; background:none; white-space:nowrap;}
#cvr .ne-difference-desc {color:#c0ccdd;}
#cvr .ne-difference-flow {display:flex; align-items:flex-start; gap:clamp(42px, 3.6vw, 70px); margin:38px 0 0; padding:0; list-style:none;}
#cvr .ne-difference-flow li {position:relative; display:flex; flex-direction:column; align-items:center; gap:12px; min-width:0;}
#cvr .ne-difference-flow li + li::before {content:'→'; position:absolute; top:20px; right:calc(100% + 14px); width:32px; text-align:center; color:#8fa9c8; font-size:23px;}
#cvr .ne-flow-icon {display:grid; place-items:center; width:72px; height:72px; border:1px solid #607b9d; border-radius:50%; color:#e9f1fa;}
#cvr .ne-flow-icon svg {width:30px; height:30px; display:block;}
#cvr .ne-difference-flow strong {font-size:16px; line-height:1.5; font-weight:600; color:#fff;}
#cvr .ne-difference-visual {position:relative; margin:0; aspect-ratio:1.45; border-radius:16px; overflow:hidden; min-width:0; background:#123B7A; isolation:isolate;}
#cvr .ne-difference-visual > img {position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center;}
#cvr .ne-difference-img {transition:opacity .32s ease;}
#cvr .ne-difference-visual.is-switching .ne-difference-img {opacity:0;}
#cvr .ne-difference-visual.is-switching .ne-detection-zone {opacity:0;}
#cvr .ne-detection-zones {position:absolute; inset:0; z-index:1; pointer-events:none;}
#cvr .ne-detection-zone {position:absolute; border:1px solid #57ffb4; background:rgba(67, 227, 148, .025); box-shadow:0 0 0 1px rgba(87, 255, 180, .15); pointer-events:none; transform-origin:center center; will-change:transform, opacity; transition:opacity .32s ease;}
#cvr .ne-detection-zone--vehicle {border-color:#ffb84d; background:rgba(255, 184, 77, .04); box-shadow:0 0 0 1px rgba(255, 184, 77, .35);}
#cvr .ne-detection-zone.is-grow {animation:brand-detect-grow 0.72s cubic-bezier(0.22, 1, 0.36, 1) forwards;}
#cvr .ne-detection-zone > span {position:absolute; top:-23px; left:-1px; bottom:auto; white-space:nowrap; background:#43e394; color:#103b28; padding:2px 6px; font-size:14px; font-weight:600; line-height:1.4;}
#cvr .ne-detection-zone--vehicle > span {background:var(--c-point); color:var(--c-navy-deep);}
#cvr .ne-detection-zone i {position:absolute; inset:8px; border:1px solid rgba(87, 255, 180, .25);}
#cvr .ne-detection-zone--vehicle i {border-color:rgba(255, 184, 77, .25);}
#cvr .ne-cvr-pagination {position:absolute; left:50%; bottom:clamp(16px, 2vw, 24px); transform:translateX(-50%); display:flex; align-items:center; justify-content:center; gap:8px; z-index:2; pointer-events:auto;}
#cvr .ne-cvr-pagination-btn {flex:none; width:8px; height:8px; padding:0; margin:0; border:0; border-radius:50%; background:rgba(255, 255, 255, .45); cursor:pointer; transition:opacity .28s ease, background-color .28s ease;}
#cvr .ne-cvr-pagination-btn.is-active {width:8px; height:8px; border-radius:50%; background:#fff; opacity:1;}
#cvr .ne-cvr-pagination-btn:focus-visible {outline:2px solid var(--c-point); outline-offset:3px;}
#cvr .ne-difference-visual.is-switching .ne-cvr-pagination-btn {pointer-events:none;}
#cvr .ne-comparison {margin-top:64px;}
#cvr .ne-comparison__grid {position:relative; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0; width:100%; overflow:hidden; border-radius:24px;}
#cvr .ne-comparison__vs {position:absolute; top:50%; left:50%; z-index:2; display:flex; align-items:center; justify-content:center; width:68px; height:68px; border:0; border-radius:50%; background:var(--c-point, #FBB600); box-shadow:0 6px 20px rgba(251, 182, 0, .32); transform:translate(-50%, -50%) scale(.88); opacity:0; pointer-events:none; transition:opacity .55s cubic-bezier(.22, 1, .36, 1), transform .55s cubic-bezier(.22, 1, .36, 1), box-shadow .55s ease;}
#cvr .ne-comparison__vs::before {content:""; position:absolute; inset:0; border-radius:50%; background:var(--c-point, #FBB600); opacity:0; pointer-events:none;}
#cvr .ne-comparison__vs.is-active {opacity:1; transform:translate(-50%, -50%) scale(1); animation:ne-vs-glow 2.6s ease-in-out infinite;}
#cvr .ne-comparison__vs.is-active::before {animation:ne-vs-ring 2.6s ease-out infinite;}
#cvr .ne-comparison__vs span {position:relative; z-index:1; font-size:18px; font-weight:800; line-height:1; letter-spacing:.04em; color:var(--c-navy-deep, #061B3C);}
#cvr .ne-comparison__col {position:relative; z-index:1; display:flex; flex-direction:column; min-height:100%; padding:clamp(40px, 4vw, 56px) clamp(32px, 3.5vw, 48px); border-radius:24px;}
#cvr .ne-comparison__col--before {background:#eef1f5;}
#cvr .ne-comparison__col--after {background:#fff; box-shadow:inset 0 4px 0 var(--c-point, #FBB600);}
#cvr .ne-comparison__col--before .ne-comparison__heading-main {color:#657184;}
#cvr .ne-comparison__col--before .ne-comparison__heading-sub {color:#686868;}
#cvr .ne-comparison__col--before .ne-comparison__item {background:rgba(255, 255, 255, .6); border:none;}
#cvr .ne-comparison__col--before .ne-comparison__item-check {background:#dce2ea; border-color:#dce2ea;}
#cvr .ne-comparison__col--before .ne-comparison__item-check::after {border-right-color:#778396; border-bottom-color:#778396;}
#cvr .ne-comparison__col--before .ne-comparison__item-text {color:#454545; font-weight:400;}
#cvr .ne-comparison__col--before .ne-comparison__item-text strong {font-weight:700; color:#454545;}
#cvr .ne-comparison__col--after .ne-comparison__heading-main {color:var(--c-navy, #0A2A5E);}
#cvr .ne-comparison__col--after .ne-comparison__heading-sub {color:var(--c-navy, #0A2A5E); font-weight:600;}
#cvr .ne-comparison__col--after .ne-comparison__accent {color:var(--c-point, #FBB600); font-weight:800;}
#cvr .ne-comparison__col--after .ne-comparison__item {background:#f1f4f8; border:none; box-shadow:none;}
#cvr .ne-comparison__col--after .ne-comparison__item-check {background:var(--c-navy, #0A2A5E); border-color:var(--c-navy, #0A2A5E);}
#cvr .ne-comparison__col--after .ne-comparison__item-check::after {border-right-color:#fff; border-bottom-color:#fff;}
#cvr .ne-comparison__col--after .ne-comparison__item-text {color:#454545; font-weight:400;}
#cvr .ne-comparison__col--after .ne-comparison__item-text strong {font-weight:700; color:var(--c-navy, #0A2A5E);}
#cvr .ne-comparison__heading {display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:12px; margin:0 0 32px; text-align:center;}
#cvr .ne-comparison__heading-main {font-size:clamp(32px, 3vw, 40px); font-weight:800; line-height:1.1; letter-spacing:-.02em; color:#fff;}
#cvr .ne-comparison__heading-sub {font-size:18px; font-weight:500; line-height:1.4; color:rgba(255, 255, 255, .55);}
#cvr .ne-comparison__accent {color:var(--c-point, #FBB600); font-weight:700;}
#cvr .ne-comparison__list {list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
#cvr .ne-comparison__item {display:flex; align-items:center; gap:16px; padding:22px 24px; border-radius:14px; background:rgba(255, 255, 255, .2);}
#cvr .ne-comparison__item-check {position:relative; flex-shrink:0; display:flex; align-items:center; justify-content:center; width:36px; height:36px; margin-top:0; border:1.5px solid rgba(255, 255, 255, .42); border-radius:50%; box-sizing:border-box;}
#cvr .ne-comparison__item-check::after {content:''; display:block; width:6px; height:11px; margin-top:-2px; border-right:3.5px solid #fff; border-bottom:3.5px solid #fff; transform:rotate(45deg); box-sizing:border-box;}
#cvr .ne-comparison__item-text {margin:0; font-size:clamp(19px, 1.15vw, 22px); font-weight:400; line-height:1.45; letter-spacing:-.02em; color:rgba(255, 255, 255, .88); word-break:keep-all;}
#cvr .ne-comparison__item-text strong {font-weight:700; color:inherit;}
#featured .ne-detection-zones {position:absolute; inset:0; z-index:1; pointer-events:none;}
#featured .ne-detection-zone {position:absolute; border:1px solid #57ffb4; background:rgba(67, 227, 148, .025); box-shadow:0 0 0 1px rgba(87, 255, 180, .15); pointer-events:none; transform-origin:center center; will-change:transform, opacity;}
#featured .ne-detection-zone--vehicle {border-color:#ffb84d; background:rgba(255, 184, 77, .04); box-shadow:0 0 0 1px rgba(255, 184, 77, .35);}
#featured .ne-detection-zone.is-grow {animation:brand-detect-grow 0.72s cubic-bezier(0.22, 1, 0.36, 1) forwards;}
#featured .ne-detection-zone > span {position:absolute; top:-23px; left:-1px; bottom:auto; white-space:nowrap; background:#43e394; color:#103b28; padding:2px 6px; font-size:14px; font-weight:600; line-height:1.4;}
#featured .ne-detection-zone--vehicle > span {background:var(--c-point); color:var(--c-navy-deep);}
#featured .ne-detection-zone i {position:absolute; inset:8px; border:1px solid rgba(87, 255, 180, .25);}
#featured .ne-detection-zone--vehicle i {border-color:rgba(255, 184, 77, .25);}
#cvr .ne-difference-desc,#lightcam .section-head-desc,#products .section-head-desc,#guide .section-head-desc {color:#686868;}
#cvr .ne-comparison__col[data-aos] {will-change:transform, opacity;}
#lightcam .ne-difference-img {transition:opacity .32s ease;}
#lightcam .lightcam-panel__visual.is-switching .ne-difference-img,#lightcam .ne-difference-visual.is-switching .ne-difference-img {opacity:0;}
#lightcam .lightcam-panel__visual.is-switching .ne-detection-zone,#lightcam .ne-difference-visual.is-switching .ne-detection-zone {opacity:0;}
#lightcam .ne-detection-zones {position:absolute; inset:0; z-index:1; pointer-events:none;}
#lightcam .ne-detection-zone {position:absolute; border:1px solid #57ffb4; background:rgba(67, 227, 148, .025); box-shadow:0 0 0 1px rgba(87, 255, 180, .15); pointer-events:none; transform-origin:center center; will-change:transform, opacity; transition:opacity .32s ease;}
#lightcam .ne-detection-zone--vehicle {border-color:#ffb84d; background:rgba(255, 184, 77, .04); box-shadow:0 0 0 1px rgba(255, 184, 77, .35);}
#lightcam .ne-detection-zone.is-grow {animation:brand-detect-grow 0.72s cubic-bezier(0.22, 1, 0.36, 1) forwards;}
#lightcam .ne-detection-zone > span {position:absolute; top:-23px; left:-1px; bottom:auto; white-space:nowrap; background:#43e394; color:#103b28; padding:2px 6px; font-size:14px; font-weight:600; line-height:1.4;}
#lightcam .ne-detection-zone--vehicle > span {background:var(--c-point); color:var(--c-navy-deep);}
#lightcam .ne-detection-zone i {position:absolute; inset:8px; border:1px solid rgba(87, 255, 180, .25);}
#lightcam .ne-detection-zone--vehicle i {border-color:rgba(255, 184, 77, .25);}
#cvr .comparison article.before,#cvr .comparison article.after {background:transparent;}
#cvr .comparison {--cvr-inner-notch:32px; position:relative; display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch; border-radius:20px; overflow:hidden; box-shadow:0 16px 40px rgba(6, 27, 60, 0.1);}
#cvr .comparison article {padding:0; overflow:hidden; display:flex; flex-direction:column; border-radius:0; box-shadow:none;}
#cvr .compare-body {padding:28px 24px 24px; margin-top:0; flex:1;}
#cvr .compare-photo {position:relative; display:block; overflow:hidden; flex-shrink:0; margin:0; line-height:0; aspect-ratio:16 / 10; min-height:clamp(200px, calc(280 / 1440 * 100vw), 320px); background:#1a2a3d;}
#cvr .compare-photo-bg {position:absolute; inset:0; background-position:center; background-size:cover;}
#cvr .compare-photo--after .compare-photo-bg {background-size:112%; background-position:38% center;}
#cvr .compare-photo--before {filter:saturate(.72);}
#cvr .compare-photo-dim {position:absolute; inset:0; background:linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, rgba(80, 90, 105, .35) 100%);}
#cvr .before .compare-photo,#cvr .before .compare-photo-dim,#cvr .before .compare-photo-bg {border-top-right-radius:var(--cvr-inner-notch); border-bottom-right-radius:0;}
#cvr .after .compare-photo,#cvr .after .compare-photo-bg {border-top-left-radius:var(--cvr-inner-notch); border-bottom-left-radius:0;}
#cvr .compare-detect-box {position:absolute; top:22%; left:12%; width:38%; height:34%; border:2px solid var(--c-point); border-radius:4px; box-shadow:0 0 0 1px rgba(251, 182, 0, .22); pointer-events:none;}
#cvr .compare-detect-label {position:absolute; top:18%; left:12%; padding:5px 10px; border-radius:4px; background:var(--c-point); color:var(--c-navy-deep); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; line-height:1.2;}
#cvr .before .compare-body {background:#26282e; border-bottom-right-radius:var(--cvr-inner-notch); border-top-right-radius:0;}
#cvr .after .compare-body {background:var(--c-navy-deep); border-bottom-left-radius:var(--cvr-inner-notch); border-top-left-radius:0;}
#cvr .compare-panel-head {display:flex; align-items:baseline; justify-content:center; flex-wrap:wrap; gap:10px 14px; margin-bottom:28px; text-align:center;}
#cvr .compare-panel-title {margin:0; font-size:clamp(32px, 2.8vw, 42px); font-weight:800; line-height:1.15; letter-spacing:-0.03em; color:#fff;}
#cvr .compare-panel-sub {margin:0; font-size:16px; font-weight:500; line-height:1.4;}
#cvr .before .compare-panel-sub {color:rgba(255, 255, 255, 0.55);}
#cvr .after .compare-panel-sub {color:rgba(255, 255, 255, 0.78);}
#cvr .compare-card-list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; margin:0; padding:0; list-style:none;}
#cvr .compare-card-list li {display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:12px; margin:0; padding:18px 12px 16px; border:none; border-radius:12px; background:rgba(255, 255, 255, 0.06); text-align:center;}
#cvr .before .compare-card-list li {background:rgba(255, 255, 255, 0.06);}
#cvr .after .compare-card-list li {background:var(--c-point); backdrop-filter:none;}
#cvr .compare-card-icon {flex-shrink:0; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:none; background:rgba(0, 0, 0, 0.12); color:#fff;}
#cvr .before .compare-card-icon {background:rgba(0, 0, 0, 0.12); color:#fff;}
#cvr .before .compare-card-icon .icon {color:#fff; stroke:#fff;}
#cvr .after .compare-card-icon {background:#fff; color:var(--c-navy);}
#cvr .after .compare-card-icon .icon {color:var(--c-navy); stroke:var(--c-navy);}
#cvr .compare-card-icon .icon {width:22px; height:22px;}
#cvr .compare-card-text {flex:none; width:100%; min-width:0; margin:0; font-size:13px; line-height:1.55; color:rgba(255, 255, 255, 0.82); word-break:keep-all;}
#cvr .compare-card-text strong {font-weight:500; color:#fff;}
#cvr .after .compare-card-text {color:var(--c-navy);}
#cvr .after .compare-card-text strong {color:var(--c-navy);}
#container .section-head--center h2,#container .head-stack-left h2,#cvr.r4-self #cvr-title {font-weight:700; letter-spacing:-.035em; line-height:1.28;}
#cvr.r4-self {padding:100px 0; scroll-margin-top:100px; word-break:keep-all; background:#f1f4f8;}
#cvr.r4-self .r4-contain {width:calc(100% - 80px); max-width:1440px; margin:0 auto;}
#cvr.r4-self .r4-heading {display:flex; flex-direction:column; align-items:center; margin-bottom:80px; text-align:center;}
#cvr.r4-self .r4-heading .eyebrow {display:inline-flex; align-items:center; gap:8px; margin:0 0 24px; font-size:14px; letter-spacing:.075em; line-height:1.5; color:var(--c-navy); justify-content:center;}
#cvr.r4-self .r4-heading h2 {font-size:clamp(32px, 3vw, 56px); font-weight:700; line-height:1.3; letter-spacing:-.035em; margin:0; color:#242424;}
#cvr.r4-self .r4-heading em {font-weight:inherit; font-style:normal; background:none; color:var(--c-navy);}
#cvr.r4-self .r4-desc {margin:24px auto 0; font-size:18px; line-height:1.8; color:#686868; max-width:680px;}
#cvr.r4-self .r4-self-layout {display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:stretch;}
#cvr.r4-self .r4-self-visual {position:relative; display:flex; flex-direction:column; background:transparent; min-height:0; overflow:visible; border-radius:0;}
#cvr.r4-self .r4-self-visual .monitor {width:100%; height:100%;}
#cvr.r4-self .r4-self-details {display:flex; flex-direction:column; min-height:100%;}
#cvr.r4-self .cvr-service-points {display:grid; grid-template-rows:repeat(4, minmax(0, 1fr)); align-self:stretch; min-height:100%; border:0; border-radius:0; background:transparent;}
#cvr.r4-self .cvr-service-points article[role="tab"] {flex:none; min-height:0; display:flex; flex-direction:column; justify-content:center; align-items:stretch; gap:0; padding-block:clamp(18px, 1.8vw, 24px); padding-inline:24px; margin:0; border:0; border-bottom:1px solid #e2e7ee; border-radius:0; background:transparent; cursor:pointer; position:relative; overflow:hidden; box-sizing:border-box; transition:color .25s ease; outline:none;}
#cvr.r4-self .cvr-service-points article[role="tab"]:last-of-type {border-bottom:0;}
#cvr.r4-self .cvr-service-points article[role="tab"].is-active::after {content:''; position:absolute; left:0; right:0; bottom:0; z-index:1; height:2px; background:var(--c-navy, #0A2A5E);}
#cvr.r4-self .cvr-service-points article[role="tab"].is-active {background:transparent; border-bottom-color:#e2e7ee;}
#cvr.r4-self .cvr-service-points .point-index {position:absolute; top:50%; bottom:auto; left:24px; right:auto; transform:translateY(-50%); z-index:0; margin:0; font-size:clamp(88px, 8.5vw, 120px); font-weight:800; line-height:1; letter-spacing:-.05em; text-align:left; color:rgba(0, 37, 85, .03); pointer-events:none; user-select:none; transition:color .25s ease;}
#cvr.r4-self .cvr-service-points article.is-active .point-index {color:var(--c-navy, #0A2A5E); background:none; -webkit-background-clip:border-box; background-clip:border-box;}
#cvr.r4-self .cvr-service-points h3 {position:relative; z-index:1; width:100%; margin:0 0 10px; padding-left:clamp(80px, 8.5vw, 108px); padding-right:0; font-size:clamp(21px, 1.75vw, 26px); font-weight:700; line-height:1.35; letter-spacing:-.03em; color:#b8c0cb; text-align:left; transition:color .25s ease;}
#cvr.r4-self .cvr-service-points article.is-active h3 {color:var(--c-navy-deep, #061b3c);}
#cvr.r4-self .cvr-service-points p {position:relative; z-index:1; width:100%; margin:0; padding-left:clamp(80px, 8.5vw, 108px); padding-right:0; font-size:calc(clamp(13px, 1vw, 15px) + 2pt); line-height:1.65; color:#b8c0cb; text-align:left; transition:color .25s ease;}
#cvr.r4-self .cvr-service-points article.is-active p {color:#454545;}
#cvr.r4-self .monitor-scene {position:relative; overflow:hidden;}
#cvr.r4-self .monitor-scene-img {position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center center;}
#cvr.r4-self .monitor-scene.is-scene-connect .monitor-scene-img {object-position:24% center;}
#cvr.r4-self .monitor-scene.is-detect-hidden .detect-box {display:none !important;}
#cvr.r4-self .monitor-scene.is-scene-boundary .detect-box--person {left:calc(56% - 32px); top:calc(38% - 100px); width:14%; min-width:61px; height:24%;}
#cvr.r4-self .monitor-scene.is-scene-analyze .detect-box--person {left:calc(46% - 56px); top:calc(36% - 40px); width:10%; height:24%;}
#cvr.r4-self .monitor-scene.is-scene-manage .detect-box--person {left:calc(47% - 68px); top:calc(38% - 130px); width:8%; height:22%;}
#cvr.r4-self .monitor-scene.is-scene-manage .detect-box--vehicle {display:none;}
#cvr.r4-self .monitor-scene.is-scene-connect .detect-box--person {left:calc(32% + 28px); top:46%; width:8%; min-width:61px; height:18%;}
#cvr.r4-self .monitor-scene .detect-box {border-color:var(--c-point, #fbb600); box-shadow:0 0 0 1px rgba(251, 182, 0, .35);}
#cvr.r4-self .monitor-scene .detect-box span {background:var(--c-point, #fbb600); color:var(--c-navy-deep, #061b3c);}
#cvr.r4-self .detection-toast > div {flex:1; min-width:0;}
#cvr.r4-self .detection-toast > span.detection-toast-arrow {display:inline-flex; flex-shrink:0; align-self:center; margin-left:auto; padding-left:12px; color:#242424; font-size:18px; font-weight:500; line-height:1;}

/* siren */
#lightcam.sec-lightcam {background:#fff;}
#lightcam .fn-grid {--fn-pad:clamp(22px, 2.2vw, 30px); --fn-num-size:clamp(112px, 10vw, 148px); display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:clamp(14px, 1.4vw, 20px); align-items:stretch;}
#lightcam .fn-card {--fn-accent:var(--c-navy, #0A2A5E); --fn-accent-soft:rgba(10, 42, 94, .09); position:relative; z-index:1; display:flex; flex-direction:column; align-items:stretch; min-height:clamp(248px, 19vw, 280px); padding:var(--fn-pad); border:1px solid rgba(220, 226, 232, .9); border-radius:clamp(20px, 2vw, 28px); background:#fff; box-shadow:0 14px 34px rgba(6, 42, 77, .07); overflow:hidden; text-align:left; transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;}
#lightcam .fn-card:hover {transform:translateY(-4px); border-color:var(--fn-accent); background:var(--fn-accent); box-shadow:0 18px 40px rgba(6, 42, 77, .14);}
#lightcam .fn-num {position:absolute; right:0; bottom:-10px; z-index:0; font-size:var(--fn-num-size); font-weight:800; line-height:0.82; letter-spacing:-.05em; font-variant-numeric:tabular-nums; color:var(--fn-accent); opacity:0; visibility:hidden; pointer-events:none; user-select:none; transition:color .28s ease, opacity .28s ease, visibility .28s ease;}
#lightcam .fn-card:hover .fn-num {visibility:visible; color:#fff; opacity:.14;}
#lightcam .fn-ico {display:flex; align-items:center; justify-content:center; flex:none; width:clamp(52px, 4.6vw, 60px); height:clamp(52px, 4.6vw, 60px); margin:0 0 clamp(18px, 1.8vw, 24px); border-radius:14px; background:#edf2f8; color:var(--c-navy, #0A2A5E); transition:background .28s ease, color .28s ease;}
#lightcam .fn-ico svg {display:block; width:clamp(26px, 2.2vw, 30px); height:clamp(26px, 2.2vw, 30px);}
#lightcam .fn-card:hover .fn-ico {background:#fff; color:var(--c-navy, #0A2A5E);}
#lightcam .fn-card-body {position:relative; z-index:1; flex:1 1 auto; min-height:0;}
#lightcam .fn-card h4 {margin:0 0 clamp(10px, 1.2vw, 14px); color:var(--c-navy, #0A2A5E); font-size:clamp(20px, 1.7vw, 24px); font-weight:700; letter-spacing:-.03em; line-height:1.35; transition:color .28s ease;}
#lightcam .fn-card:hover h4 {color:#fff;}
#lightcam .fn-desc {margin:0; color:#686868; font-size:clamp(15px, 1.05vw, 16px); line-height:1.76; letter-spacing:-.015em; transition:color .28s ease;}
#lightcam .fn-desc-line {display:block;}
#lightcam .fn-desc-line + .fn-desc-line {margin-top:.12em;}
#lightcam .fn-card:hover .fn-desc {color:rgba(255, 255, 255, .84);}
#lightcam .section-head--center .eyebrow {color:var(--c-navy, #0A2A5E);}
#lightcam .section-head--center {margin-bottom:64px;}
#lightcam .section-head--center h2 .head-em-point {color:var(--c-navy, #0A2A5E);}
#lightcam .lightcam-panel {display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr); gap:clamp(20px, 2.4vw, 32px); align-items:stretch; margin-top:clamp(36px, 4vw, 52px);}
#lightcam .lightcam-panel__visual {position:relative; display:flex; flex-direction:column; min-height:420px; height:100%; margin:0; aspect-ratio:auto; max-height:none; border-radius:16px; overflow:hidden; background:#eef1f4; border:1px solid #e2e7ee; isolation:isolate;}
#lightcam .lightcam-panel__visual > img,#lightcam .lightcam-panel__img {position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; min-height:420px; object-fit:cover; object-position:center;}
#lightcam .lightcam-panel__nav {position:absolute; left:50%; bottom:24px; z-index:2; display:flex; align-items:center; gap:14px; min-width:0; max-width:calc(100% - 48px); padding:11px 18px; background:rgba(18, 22, 28, .62); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-radius:999px; transform:translateX(-50%); pointer-events:auto;}
#lightcam .lightcam-panel__nav-caption {flex:1; min-width:0; overflow:hidden; color:#fff; font-size:15px; font-weight:500; line-height:1.4; letter-spacing:-.02em; text-align:center; text-overflow:ellipsis; white-space:nowrap;}
#lightcam .lightcam-panel__nav-btn {display:flex; flex:none; align-items:center; justify-content:center; width:28px; height:28px; padding:0; margin:0; color:rgba(255, 255, 255, .88); background:transparent; border:0; border-radius:50%; cursor:pointer; transition:color .22s ease, background .22s ease;}
#lightcam .lightcam-panel__nav-btn svg {display:block; width:18px; height:18px;}
#lightcam .lightcam-panel__nav-btn:hover,#lightcam .lightcam-panel__nav-btn:focus-visible {color:#fff; background:rgba(255, 255, 255, .12);}
#lightcam .lightcam-panel__tabs {display:flex; flex-direction:column; gap:0; min-width:0; height:100%; min-height:420px;}
#lightcam .lightcam-tab {display:flex; flex:1 1 0; flex-direction:column; align-items:flex-start; justify-content:center; gap:6px; width:100%; min-height:0; margin:0; padding:12px 8px 12px 16px; text-align:left; background:transparent; border:0; border-bottom:1px solid #e2e7ee; border-left:3px solid transparent; border-radius:0; box-shadow:none; cursor:pointer; transition:border-left-color .22s ease, color .22s ease;}
#lightcam .lightcam-tab:first-child {border-top:1px solid #e2e7ee;}
#lightcam .lightcam-tab:hover,#lightcam .lightcam-tab:focus-visible,#lightcam .lightcam-tab.is-active {border-left-color:var(--c-point, #FBB600); background:transparent; box-shadow:none;}
#lightcam .lightcam-tab:hover .lightcam-tab__title,#lightcam .lightcam-tab:focus-visible .lightcam-tab__title,#lightcam .lightcam-tab.is-active .lightcam-tab__title {color:var(--c-point, #FBB600);}
#lightcam .lightcam-tab:hover .lightcam-tab__desc,#lightcam .lightcam-tab:focus-visible .lightcam-tab__desc,#lightcam .lightcam-tab.is-active .lightcam-tab__desc {color:#454545;}
#lightcam .lightcam-tab__title {color:#242424; font-size:clamp(17px, 1.2vw, 20px); font-weight:700; line-height:1.35; letter-spacing:-.03em; transition:color .22s ease;}
#lightcam .lightcam-tab__desc {color:#686868; font-size:14px; font-weight:400; line-height:1.55; letter-spacing:-.02em; word-break:keep-all; transition:color .22s ease;}
#lightcam.r6-siren,#featured.r4-cvr {padding:100px 0; scroll-margin-top:100px; word-break:keep-all;}
#lightcam.r6-siren .r6-wrap,#featured.r4-cvr .r4-contain {width:calc(100% - 80px); max-width:1440px; margin:0 auto;}
#lightcam.r6-siren {background:#fff;}
#container #lightcam.r6-siren .r6-heading .eyebrow {display:inline-flex; align-items:center; gap:8px; margin:0 0 22px; font-size:14px; letter-spacing:.1em; line-height:1.5; color:var(--c-navy); justify-content:flex-start;}
#container #lightcam.r6-siren .r6-heading .eyebrow::before {display:block; flex:0 0 8px; width:8px; height:8px; background:var(--c-point); border-radius:50%;}
#container #lightcam.r6-siren .r6-heading h2 {font-size:clamp(34px, 3vw, 54px); line-height:1.3; letter-spacing:-.04em; font-weight:700; margin:0; color:#242424;}
#container #lightcam.r6-siren .r6-heading em {font-style:normal; font-weight:inherit; color:var(--c-navy); background:none;}
#lightcam.r6-siren .r4-desc {font-size:18px; line-height:1.8; color:#686868; margin:24px 0 0; max-width:680px;}
#lightcam.r6-siren .r6-heading-wide {display:grid; grid-template-columns:minmax(0, 1fr) auto; column-gap:70px; row-gap:0; align-items:end; margin-bottom:48px;}
#lightcam.r6-siren .r6-heading-wide .eyebrow {grid-column:1 / -1; align-self:start;}
#lightcam.r6-siren .r6-heading-wide h2 {grid-column:1; grid-row:2;}
#lightcam.r6-siren .r6-heading-wide .r4-desc {grid-column:1; grid-row:3;}
#lightcam.r6-siren .r6-siren-head-cta {margin-top:0; margin-bottom:28px;}
#lightcam.r6-siren .r4-solid-link {display:inline-flex; justify-content:center; align-items:center; gap:30px; padding:16px 24px; border-radius:10px; background:var(--c-navy); color:#fff; font-size:16px; font-weight:650; line-height:1.5; text-decoration:none; white-space:nowrap;}
#lightcam.r6-siren .r4-solid-link:hover {background:var(--c-navy-mid); color:#fff;}
#lightcam.r6-siren .r6-camera-pair {display:grid; grid-template-columns:1fr 1fr; gap:28px;}
#lightcam.r6-siren .r6-camera {position:relative; margin:0; padding:30px 36px 22px; overflow:hidden; border:1px solid #e5e9ef; border-radius:14px; background:#fff;}
#lightcam.r6-siren .r6-camera figcaption {display:flex; align-items:center; gap:20px; border-bottom:1px solid #e5e9ef; padding-bottom:22px;}
#lightcam.r6-siren .r6-camera figcaption > span {flex:0 0 auto; font-size:24px; line-height:1; font-weight:800; letter-spacing:-.03em; color:#8e9db0;}
#container #lightcam.r6-siren .r6-camera h3 {font-size:25px; line-height:1.4; color:var(--c-navy); font-weight:650; letter-spacing:-.03em; margin:0;}
#lightcam.r6-siren .r6-camera > img {display:block; width:100%; height:330px; object-fit:contain; padding:20px 15px; box-sizing:border-box;}
#lightcam.r6-siren .r6-camera-features {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); margin-top:42px; border-top:1px solid #cdd7e4; padding-top:30px;}
#lightcam.r6-siren .r6-camera-features article {padding:0 26px; border-left:1px solid #d7dfe9;}
#lightcam.r6-siren .r6-camera-features article:first-child {padding-left:0; border-left:0;}
#lightcam.r6-siren .r6-camera-features article:last-child {padding-right:0;}
#lightcam.r6-siren .r6-camera-features .icon {display:block; width:28px; height:28px; stroke:currentColor; stroke-width:1.8; fill:none; color:var(--c-navy); margin-bottom:22px;}
#container #lightcam.r6-siren .r6-camera-features h3 {font-size:22px; line-height:1.4; color:var(--c-navy); margin:0 0 12px; font-weight:650; letter-spacing:-.025em;}
#lightcam.r6-siren .r6-camera-features p {font-size:16px; line-height:1.8; color:#454545; margin:0;}
#lightcam.r6-siren .r6-siren-body {display:grid; grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr); gap:36px; align-items:stretch; margin-top:8px;}
#lightcam.r6-siren .r6-siren-copy {display:flex; flex-direction:column; min-height:100%;}
#lightcam.r6-siren .r6-camera-pair--compact {grid-template-columns:1fr; gap:16px;}
#lightcam.r6-siren .r6-camera.is-best {border-color:#fbb600; box-shadow:0 8px 28px rgba(251, 182, 0, .15);}
#lightcam.r6-siren .r6-best-badge {position:absolute; top:16px; right:16px; z-index:2; padding:6px 12px; border-radius:6px; background:var(--c-point, #fbb600); color:#1a1200; font-size:12px; font-weight:800; letter-spacing:.06em;}
#lightcam.r6-siren .r6-camera-pair--compact .r6-camera > img {height:200px; padding:12px 10px;}
#lightcam.r6-siren .r6-camera-pair--compact .r6-camera {padding:22px 24px 16px;}
#lightcam.r6-siren .r6-camera-pair--compact .r6-camera figcaption > span {display:none;}
#lightcam.r6-siren .r6-camera-pair--compact .r6-camera figcaption {gap:0;}
#lightcam.r6-siren .r6-siren-copy .r6-camera-features {flex:1 1 auto; height:100%; margin-top:0; padding-top:0; border-top:0; grid-template-columns:repeat(2, minmax(0, 1fr)); grid-template-rows:1fr 1fr; gap:16px; border:0; border-radius:0; overflow:visible; background:transparent; counter-reset:r6-feature;}
#lightcam.r6-siren .r6-siren-copy .r6-camera-features article {position:relative; counter-increment:r6-feature; display:grid; grid-template-columns:minmax(0, 1fr) auto; grid-template-rows:56px minmax(0, 1fr); align-items:center; min-height:0; padding:24px 28px 26px; border:1px solid #e5e9ef; border-radius:14px; background:#fff; transition:background .25s ease, border-color .25s ease, color .25s ease;}
#lightcam.r6-siren .r6-siren-copy .r6-camera-features article::before {content:counter(r6-feature, decimal-leading-zero); grid-column:1; grid-row:1; align-self:center; font-size:24px; line-height:1; font-weight:800; letter-spacing:-.03em; color:#8e9db0; transition:color .25s ease;}
#lightcam.r6-siren .r6-siren-copy .r6-camera-features article:hover {border-color:var(--c-navy, #0a2a5e); background:var(--c-navy, #0a2a5e);}
#lightcam.r6-siren .r6-siren-copy .r6-camera-features article:hover::before {color:rgba(255, 255, 255, .5);}
#lightcam.r6-siren .r6-siren-copy .r6-camera-features .icon {grid-column:2; grid-row:1; justify-self:end; align-self:center; display:block; width:56px; height:56px; margin:0; padding:12px; box-sizing:border-box; border-radius:14px; background:rgba(10, 42, 94, .04); color:var(--c-navy, #0a2a5e); transition:background .25s ease, color .25s ease;}
#lightcam.r6-siren .r6-siren-copy .r6-camera-features article:hover .icon {background:rgba(255, 255, 255, .14); color:#fff;}
#lightcam.r6-siren .r6-siren-copy .r6-camera-features article > div {grid-column:1 / -1; grid-row:2; align-self:end; padding-top:18px;}
#container #lightcam.r6-siren .r6-siren-copy .r6-camera-features h3 {font-size:22px; line-height:1.4; margin-bottom:12px; color:#242424; transition:color .25s ease;}
#container #lightcam.r6-siren .r6-siren-copy .r6-camera-features article:hover h3 {color:#fff;}
#lightcam.r6-siren .r6-siren-copy .r6-camera-features p {font-size:17px; line-height:1.7; color:#454545; transition:color .25s ease;}
#lightcam.r6-siren .r6-siren-copy .r6-camera-features article:hover p {color:rgba(255, 255, 255, .82);}

/* featured */
#featured.sec-featured {background:#F8F8F8;}
#featured .feat-showcase {display:grid; grid-template-columns:minmax(0, 0.92fr) minmax(0, 1.08fr); align-items:stretch; gap:clamp(28px, 3.2vw, 48px);}
#featured .feat-showcase-body {min-width:0; align-self:center;}
#featured .feat-showcase-media {position:relative; min-width:0; align-self:stretch; min-height:clamp(320px, 35vw, 504px);}
#featured .feat-showcase-slider {position:absolute; inset:0; display:flex; align-items:center; justify-content:center; width:100%; height:100%; margin:0; padding:0; pointer-events:none;}
#featured .feat-showcase-slider[data-feat-slide="0"] {align-items:flex-start; justify-content:center; padding-top:clamp(0px, 0.2vw, 4px);}
#featured .feat-showcase-slider[data-feat-slide="0"] .feat-showcase-product-img {transform:translateY(clamp(-10px, -1.2vw, -4px));}
#featured .feat-showcase-slider[data-feat-slide="1"] {align-items:flex-start; justify-content:center; padding-top:clamp(0px, 0.2vw, 4px);}
#featured .feat-showcase-slider[data-feat-slide="1"] .feat-showcase-product-img {transform:scale(0.9) translateY(clamp(-10px, -1.2vw, -4px));}
#featured .feat-showcase-slider[data-feat-slide="2"] {align-items:flex-start; justify-content:center; padding-top:clamp(12px, 1.6vw, 24px);}
#featured .feat-showcase-slider[data-feat-slide="2"] .feat-showcase-product-img {transform:scale(0.9) translateY(clamp(8px, 1vw, 16px));}
#featured .feat-showcase-visual.feat-showcase-product {position:relative; display:flex; align-items:center; justify-content:center; flex:0 0 auto; width:auto; max-width:100%; min-height:0; height:auto; aspect-ratio:auto; border:0; border-radius:0; background:transparent; overflow:visible; box-shadow:none; padding:0; margin:0; isolation:isolate; pointer-events:auto;}
#featured .feat-showcase-visual.feat-showcase-product > img,#featured .feat-showcase-visual.feat-showcase-product > .feat-showcase-product-img {position:relative; z-index:1; flex:0 0 auto; align-self:center; inset:auto; display:block; width:auto; max-width:clamp(420px, 42vw, 600px); max-height:clamp(280px, 28vw, 420px); height:auto; margin:0 auto; object-fit:contain; object-position:center center; filter:drop-shadow(0 24px 32px rgba(10, 42, 94, .16)) drop-shadow(0 10px 18px rgba(10, 42, 94, .08)); transition:opacity .22s ease, transform .22s ease;}
#featured .feat-showcase-slider.is-switching .feat-showcase-product-img {opacity:0;}
#featured .feat-showcase-slider .feat-showcase-pagination,#featured .feat-showcase-media .feat-showcase-pagination {position:absolute; top:auto; bottom:0; left:50%; right:auto; transform:translateX(-50%); flex-shrink:0; margin-top:0; margin-bottom:0; padding-top:0; z-index:2; pointer-events:auto;}
#featured .feat-showcase-visual:not(.feat-showcase-product) {position:relative; display:block; width:100%; min-height:clamp(280px, calc(360 / 1440 * 100vw), 420px); aspect-ratio:16 / 9; margin:0; border:1px solid #e2e7ee; border-radius:16px; overflow:hidden; background:#eef1f4; isolation:isolate;}
#featured .feat-showcase-visual:not(.feat-showcase-product) > img,#featured .feat-showcase-visual:not(.feat-showcase-product) > .feat-showcase-img {position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center;}
#featured .feat-showcase-body .section-head-desc {margin-top:28px; max-width:none; text-align:left; font-size:18px; line-height:1.8; color:#686868;}
#featured .feat-showcase-body .eyebrow {color:var(--c-navy, #0A2A5E);}
#featured .feat-showcase-body.head-stack-left .eyebrow {color:var(--c-navy, #0A2A5E);}
#featured .feat-showcase-body h2 {font-size:clamp(38px, 3.35vw, 60px); font-weight:800; color:#242424; line-height:1.23; letter-spacing:-.045em;}
#featured .feat-showcase-body h2 .head-em-point,#featured .feat-showcase-body h2 em {color:var(--c-navy, #0A2A5E); font-style:normal; font-weight:inherit;}
#featured .feat-showcase-body .spec-metrics {display:flex; align-items:flex-start; justify-content:flex-start; flex-wrap:wrap; gap:0; margin:clamp(28px, 3vw, 36px) 0; width:100%;}
#featured .feat-showcase-body .spec-metrics > div {flex:0 1 auto; padding-right:clamp(24px, 2.4vw, 36px); padding-left:0; border-right:1px solid #e2e7ee; text-align:center;}
#featured .feat-showcase-body .spec-metrics > div + div {padding-left:clamp(24px, 2.4vw, 36px);}
#featured .feat-showcase-body .spec-metrics > div:last-child {border-right:0;}
#featured .feat-showcase-body .spec-metrics strong {display:block; color:var(--c-navy, #0A2A5E); font-size:clamp(40px, 3.6vw, 52px); font-weight:700; line-height:1; letter-spacing:-.03em; text-align:center;}
#featured .feat-showcase-body .spec-metrics p {margin:10px 0 0; color:#242424; font-size:15px; font-weight:600; line-height:1.4; text-align:center;}
#featured .feat-showcase-body .button.primary {margin-top:clamp(8px, 1vw, 12px); min-height:58px; padding-inline:clamp(32px, 3.5vw, 44px); border:1px solid var(--c-point, #FBB600); border-radius:var(--radius-control, 12px); background:var(--c-point, #FBB600); color:var(--c-navy-deep, #061B3C); font-weight:650; box-shadow:none; transition:background .22s ease, color .22s ease, border-color .22s ease;}
#featured .feat-showcase-body .button.primary:hover {background:#FFD05B; border-color:#FFD05B; color:var(--c-navy-deep, #061B3C);}
#featured .feat-points {margin:clamp(24px, 3vw, 36px) 0; padding:0; list-style:none;}
#featured .feat-points li {display:grid; grid-template-columns:108px minmax(0, 1fr); gap:16px; padding:16px 0; border-bottom:1px solid #e2e7ee;}
#featured .feat-points li:last-child {border-bottom:0;}
#featured .feat-points strong {color:var(--c-navy, #0A2A5E); font-size:15px; font-weight:700; line-height:1.5;}
#featured .feat-points span {color:#686868; font-size:16px; line-height:1.62;}
#featured .product-stage {position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:clamp(540px, 44vw, 640px);}
#featured .stage-watermark {position:absolute; top:50%; left:50%; z-index:1; width:100%; margin:0; padding:0; font-size:clamp(92px, 8.5vw, 118px); font-weight:850; line-height:1; letter-spacing:-.04em; text-align:center; color:#e4e7ec; white-space:nowrap; pointer-events:none; transform:translate(-50%, -62%);}
#featured .product-stage.is-switching .featured-product,#featured .product-stage.is-switching .product-caption {opacity:0; transition:opacity .18s ease;}
#featured .featured-product,#featured .product-caption {transition:opacity .28s ease .08s;}
#featured .featured-product {position:relative; z-index:2; width:98%; max-width:680px; height:clamp(400px, 34vw, 480px); object-fit:contain; mix-blend-mode:multiply; filter:drop-shadow(0 24px 20px rgba(23, 58, 97, .16));}
#featured .product-caption {position:relative; z-index:2;}
#featured .featured-pagination {display:flex; justify-content:center; gap:10px; margin-top:22px;}
#featured .featured-pagination-btn {width:10px; height:10px; padding:0; border:0; border-radius:50%; background:#C8D1DE; cursor:pointer; transition:background .25s ease;}
#featured .featured-pagination-btn.is-active {background:var(--c-navy, #0A2A5E); transform:none;}
#featured .featured-pagination-btn:focus-visible {outline:2px solid var(--c-point); outline-offset:3px;}
#featured .product-caption h3 {font-size:clamp(28px, 2.2vw, 32px);}
#featured .product-caption p {font-size:16px;}
#featured .spec-metrics {gap:clamp(32px, 3.2vw, 48px); margin:32px 0 0;}
#featured .spec-metrics > div {padding-right:clamp(28px, 2.8vw, 44px);}
#featured .spec-metrics strong {font-size:clamp(46px, 3.8vw, 56px); color:var(--c-navy, #0A2A5E); font-weight:700;}
#featured .spec-metrics strong .count-up {font-size:inherit; font-weight:inherit; letter-spacing:inherit;}
#featured .spec-metrics strong .spec-unit {font-size:clamp(22px, 1.8vw, 26px);}
#featured .spec-metrics p {font-size:15px; margin-top:12px; color:#242424; font-weight:600;}
#featured.r4-cvr .r4-heading {margin-bottom:56px;}
#featured.r4-cvr .r4-heading .eyebrow {display:inline-flex; align-items:center; gap:8px; margin:0 0 24px; font-size:14px; letter-spacing:.075em; line-height:1.5; color:var(--c-navy); justify-content:flex-start;}
#featured.r4-cvr .r4-heading h2 {font-size:clamp(32px, 2.7vw, 50px); font-weight:700; line-height:1.3; letter-spacing:-.035em; margin:0; color:#242424;}
#featured.r4-cvr .r4-heading em {font-weight:inherit; font-style:normal; background:none; color:var(--c-navy);}
#featured.r4-cvr .r4-desc {margin:24px 0 0; font-size:18px; line-height:1.8; color:#686868; max-width:680px;}
#featured.r4-cvr {background:#f1f4f8;}
#featured.r4-cvr .r4-cvr-layout {display:grid; grid-template-columns:1.15fr 1fr; gap:64px; align-items:stretch;}
#featured.r4-cvr .r4-cvr-intro {display:flex; flex-direction:column; align-self:stretch; min-height:100%;}
#featured.r4-cvr .r4-cvr-intro .r4-heading {margin-bottom:0; flex:1;}
#featured.r4-cvr .r4-cvr-intro > .r4-solid-link {margin-top:auto; align-self:flex-start;}
#featured.r4-cvr .r4-recorder {text-align:center; padding:30px 32px; border-radius:16px; background:#fff;}
#featured.r4-cvr .r4-inputs {display:flex; justify-content:center; gap:38px;}
#featured.r4-cvr .r4-inputs span {padding:12px 16px; border:1px solid #d7e0ec; border-radius:8px; font-size:16px; line-height:1.5; color:var(--c-navy); font-weight:600;}
#featured.r4-cvr .r4-connectors {width:54%; height:28px; margin:0 auto 18px; border:1px solid #9fafc3; border-top:0; position:relative;}
#featured.r4-cvr .r4-connectors::after {content:""; position:absolute; height:18px; width:1px; background:#9fafc3; top:100%; left:50%;}
#featured.r4-cvr .r4-recorder > img {max-width:460px;}
#featured.r4-cvr .r4-recorder > p {color:#686868; font-size:16px; line-height:1.6; margin:0;}
#featured.r4-cvr .r4-recorder > p strong {font-size:28px; color:var(--c-navy); margin-right:10px;}
#featured.r4-cvr .r4-recorder-note {display:block; font-size:16px; font-weight:700; line-height:1.7; color:#242424; margin-top:12px;}
#featured.r4-cvr .r4-cvr-benefits {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:0; border-top:1px solid #ccd6e3; margin-top:56px; padding-top:30px;}
#featured.r4-cvr .r4-cvr-benefits article {padding:0 28px; border-left:1px solid #d4deeb;}
#featured.r4-cvr .r4-cvr-benefits article:first-child {padding-left:0; border-left:0;}
#featured.r4-cvr .r4-cvr-benefits .icon {display:block; width:28px; height:28px; stroke:currentColor; stroke-width:1.8; fill:none; color:var(--c-navy); margin-bottom:22px;}
#featured.r4-cvr .r4-cvr-benefits h3 {color:var(--c-navy); font-size:21px; font-weight:650; margin:0; line-height:1.5;}
#featured.r4-cvr .r4-cvr-benefits p {color:#686868; font-size:16px; line-height:1.75; margin:12px 0 0;}
#featured.r4-cvr .r4-solid-link {display:inline-flex; justify-content:center; align-items:center; gap:30px; padding:16px 24px; border-radius:10px; background:var(--c-navy); color:#fff; font-size:16px; font-weight:650; line-height:1.5; text-decoration:none; white-space:nowrap;}
#featured.r4-cvr .r4-solid-link:hover {background:var(--c-navy-mid); color:#fff;}

/* products */
@keyframes prd-marquee {0% { transform:translateX(0); } 100% { transform:translateX(calc(-1 * var(--prd-marquee-distance, 50%))); };}
#products .section-head--center h2 em,#products .section-head--center h2 .head-em-point,#guide .section-head--center h2 em,#guide .section-head--center h2 .head-em-point {color:var(--c-navy, #0A2A5E);}
#products .section-head--center {margin-bottom:40px;}
#products .prd-tabs {display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-bottom:clamp(32px, 4vw, 48px);}
#products .prd-tabs button {min-height:50px; padding:0 clamp(18px, 2vw, 24px); border:1px solid var(--c-border, #e2e7ee); border-radius:100px; background:#fff; color:var(--c-text-secondary, #596371); font-size:18px; font-weight:600; letter-spacing:-.02em; cursor:pointer; transition:.25s;}
#products .prd-tabs button:hover {border-color:var(--c-navy); color:var(--c-navy);}
#products .prd-tabs button.is-active {border-color:var(--c-navy); background:var(--c-navy); color:#fff;}
#products .prd-panel {display:none;}
#products .prd-panel.is-active {display:block;}
#products .prd-panels {width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); overflow:hidden; padding-bottom:8px;}
#products .prd-slider {border-radius:0;}
#products .prd-track {display:flex; align-items:stretch; width:max-content; will-change:transform; animation:prd-marquee var(--prd-marquee-duration, 36s) linear infinite;}
#products .prd-panel:not(.is-active) .prd-track {animation-play-state:paused;}
#products .prd-slider:hover .prd-track {animation-play-state:paused;}
#products .prd-grid {display:flex; flex-direction:row; flex:0 0 auto; gap:24px; align-items:stretch; width:max-content; padding:0 0 1px; margin:0;}
#products .prd-grid--clone {pointer-events:none; margin-left:24px;}
#products .prd-card {border-radius:var(--radius-card); border-color:#E1E5EB; box-shadow:none;}
#products .prd-card:hover {border-color:#B7C6D9; box-shadow:none;}
#products .prd-card-thumb {background-color:var(--c-bg-brand-navy);}
#products .prd-card-thumb span {background:rgba(255, 255, 255, .95); color:var(--c-navy); border-radius:6px; font-size:14px; font-weight:650;}
#products .prd-card-body {display:flex; flex-direction:column; flex:1 1 auto; padding:clamp(24px, 2.8vw, 32px);}
#products .prd-card-body h4 {font-weight:650;}
#products .prd-model {font-weight:600;}
#products .prd-card-body p {order:3; margin-top:var(--space-12, 12px); color:#686868; font-size:16px; line-height:1.65em; min-height:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; word-break:keep-all;}
#products .prd-card-body .chips {order:4; display:flex; flex-wrap:nowrap; align-items:center; gap:6px; margin:auto 0 0; padding:16px 0 0; list-style:none; overflow:hidden;}
#products .prd-card-body .chips li {flex:0 0 auto; display:inline-flex; align-items:center; min-width:0; max-width:100%; padding:7px 12px; border:none; border-radius:6px; background:#F1F4F8; color:#52617A; font-size:14px; font-weight:500; line-height:1.3; letter-spacing:-.01em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; word-break:keep-all; transition:background .2s ease, color .2s ease;}
#products .prd-card-body .chips li::before {display:none;}
#products .prd-card:hover .chips li {background:#F1F4F8; color:#52617A;}
#container .r4-solid-link span[aria-hidden="true"],#products .r4-lineup-links a span[aria-hidden="true"] {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; line-height:1; width:1em; height:1em; font-size:1em; transform:translateY(0.08em);}
#products .r4-lineup-links a span[aria-hidden="true"] {transform:translateY(0.2em);}
#products .r4-lineup-links {display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px;}
#products .r4-lineup-links a {display:inline-flex; align-items:center; gap:10px; padding:10px 18px; border:1px solid #d5deea; border-radius:8px; font-size:16px; font-weight:550; color:var(--c-navy); line-height:1.5; transition:border-color .2s ease, background .2s ease;}
#products .r4-lineup-links a:hover {border-color:#b7c6d9; background:#f8fafc;}
#products .prd-card-body .chips li,#products .prd-card:hover .chips li {background:#F1F4F8; color:#52617A; border-radius:6px; font-size:14px; font-weight:500;}
#products .prd-category-nav {display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 0 64px;}
#products .prd-category-nav button {padding:11px 18px; border:1px solid #d5deea; border-radius:999px; background:#fff; color:var(--c-navy); font-size:15px; font-weight:600; line-height:1.3; cursor:pointer; transition:background .2s, border-color .2s, color .2s;}
#products .prd-category-nav button.is-active,#products .prd-category-nav button[aria-selected="true"] {background:var(--c-navy); border-color:var(--c-navy); color:#fff;}
#products .prd-category-nav button:focus-visible {outline:2px solid var(--c-point, #fbb600); outline-offset:2px;}
#products .prd-cat-desc {margin:0 0 20px; text-align:center; font-size:16px; line-height:1.65; color:#5a6a80;}
#products .prd-panel[hidden] {display:none !important;}
#products.products--showcase .section-head--center {margin-bottom:36px;}
#products.products--showcase .prd-category-nav {margin-bottom:40px;}
#products.products--showcase .prd-panels {width:100%; max-width:100%; margin:0; padding:0; background:transparent; box-sizing:border-box;}
#products.products--showcase .prd-showcase {display:grid; grid-template-columns:minmax(320px, 1fr) minmax(0, 1.15fr); gap:40px; align-items:stretch; min-height:480px;}
#products.products--showcase .prd-showcase-visual {display:flex; align-items:center; justify-content:center; min-height:100%; padding:0;}
#products.products--showcase .prd-showcase-visual img {width:80%; aspect-ratio:1/1; object-fit:contain; object-position:center;}
#products.products--showcase .prd-showcase-grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; padding:0; background:transparent; box-shadow:none;}
#products.products--showcase .prd-showcase-card {display:flex; flex-direction:column; align-items:stretch; min-height:248px; padding:22px 22px 18px; border:1px solid #e8edf3; border-radius:14px; background:#fff; transition:border-color .2s, box-shadow .2s;}
#products.products--showcase .prd-showcase-card:hover {border-color:#d0dced; box-shadow:0 6px 18px rgba(10, 42, 94, .06);}
#products.products--showcase .prd-showcase-card-copy {flex:0 0 auto; min-width:0;}
#products.products--showcase .prd-showcase-card h4 {margin:0 0 10px; font-size:21px; font-weight:700; line-height:1.35; letter-spacing:-.02em; color:#242424;}
#products.products--showcase .prd-showcase-spec {margin:0; font-size:16px; line-height:1.6; color:#686868; word-break:keep-all;}
#products.products--showcase .prd-showcase-spec .prd-model {display:inline-block; margin-top:8px; font-size:15px; font-weight:600; letter-spacing:.02em; color:var(--c-navy, #0a2a5e);}
#products.products--showcase .prd-showcase-card-media {position:relative; flex:0 0 auto; align-self:flex-end; display:flex; flex-direction:column; align-items:center; justify-content:center; width:148px; height:148px; min-height:148px; margin-top:10px; padding:4px; border:0; border-radius:0; background:transparent; box-sizing:border-box; overflow:hidden;}
#products.products--showcase .prd-showcase-card-media.is-ph::before,#products.products--showcase .prd-showcase-card-media.is-broken::before {content:""; position:absolute; top:50%; left:50%; width:34px; height:34px; transform:translate(-50%, -62%); background:linear-gradient(to top right, transparent calc(50% - 1px), #c5ced9 calc(50% - 1px), #c5ced9 calc(50% + 1px), transparent calc(50% + 1px)), linear-gradient(to top left, transparent calc(50% - 1px), #c5ced9 calc(50% - 1px), #c5ced9 calc(50% + 1px), transparent calc(50% + 1px)); opacity:.9; pointer-events:none;}
#products.products--showcase .prd-showcase-ph-label {position:relative; z-index:1; margin-top:16px; font-size:12px; font-weight:650; letter-spacing:.04em; color:#8a97a8;}
#products.products--showcase .prd-showcase-card-media.is-ph .prd-showcase-ph-label,#products.products--showcase .prd-showcase-card-media.is-broken .prd-showcase-ph-label {display:block;}
#products.products--showcase .prd-showcase-card-media.is-broken img {display:none;}
#products.products--showcase .prd-showcase-card-media:not(.is-ph):not(.is-broken) img {display:block; width:100%; height:100%; max-width:none; margin:0; object-fit:contain; object-position:center;}
#products.products--showcase .prd-showcase-card-media:not(.is-ph):not(.is-broken) {background:transparent;}

/* spaces */
#security.environments {background:var(--c-navy-deep, #061B3C); color:#fff;}
#container #security .section-head--center .eyebrow {color:#CAD6E7;}
#security .section-head--center h2,#security .section-head--center h2 em,#security .section-head--center h2 .head-em-point {color:#fff; font-weight:700;}
#security .section-head-desc {color:#C0CCDD;}
#security .section-head--center {margin-bottom:64px;}
#security .environment-mosaic {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:24px 32px; margin-top:0;}
#security .environment-mosaic__col {display:flex; flex-direction:column; gap:24px; min-width:0;}
#security .environment-mosaic__col--offset {padding-top:48px;}
#security .environment-card {min-width:0;}
#security .environment-card__media {position:relative; height:380px; border-radius:var(--radius-card, 16px); overflow:hidden; background:#000; transition:box-shadow .45s ease, transform .45s ease;}
#security .environment-card__media::before {content:''; position:absolute; inset:0; z-index:1; background:rgba(0, 0, 0, .1); opacity:0; transition:opacity .45s ease; pointer-events:none;}
#security .environment-card:hover .environment-card__media::before {opacity:1;}
#security .environment-card:hover .environment-card__media {transform:translateY(-3px); box-shadow:0 10px 25px rgba(0, 0, 0, .16);}
#security .environment-card__media img {display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
#security .environment-card:hover .environment-card__media img {transform:scale(1.04);}
#security .environment-card__overlay {position:absolute; inset:0; z-index:2; background:linear-gradient(180deg, transparent 30%, rgba(3, 15, 34, .35) 60%, rgba(3, 15, 34, .87) 100%); pointer-events:none; transition:background .45s ease;}
#security .environment-card:hover .environment-card__overlay {background:linear-gradient(180deg, transparent 30%, rgba(3, 15, 34, .35) 60%, rgba(3, 15, 34, .87) 100%);}
#security .environment-card__caption {position:absolute; left:0; right:0; bottom:0; z-index:3; display:flex; flex-direction:column; gap:12px; padding:32px 32px 28px;}
#security .environment-card__label,#security .environment-card:hover .environment-card__label {font-size:14px; font-weight:550; letter-spacing:.055em; color:#E1E8F2; line-height:1.2;}
#security .environment-card__title {margin:0; font-size:clamp(26px, 2vw, 32px); font-weight:650; line-height:1.2; letter-spacing:-.02em; color:#fff;}
#security .environment-card__desc {margin:0; font-size:16px; font-weight:400; line-height:1.65; letter-spacing:-.02em; color:rgba(255, 255, 255, .88); word-break:keep-all;}
#security .environment-card__tags {display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; opacity:0; visibility:hidden; max-height:0; overflow:hidden; transition:opacity .45s ease, visibility .45s ease, max-height .45s ease, margin .45s ease;}
#security .environment-card__tags li,#security .environment-card:hover .environment-card__tags li {display:inline-flex; align-items:center; padding:8px 16px; border:1px solid rgba(255, 255, 255, .2); border-radius:6px; background:rgba(255, 255, 255, .13); font-size:14px; font-weight:500; line-height:1.3; letter-spacing:-.01em; color:#fff; white-space:nowrap; transition:color .45s ease, background .45s ease, border-color .45s ease;}
#security .environment-card:hover .environment-card__tags {opacity:1; visibility:visible; max-height:120px; margin:8px 0 0;}
#security .environment-card:hover .environment-card__title,#security .environment-card:hover .environment-card__desc {text-shadow:none;}
#security :focus-visible,#contact .contact-copy :focus-visible {outline-color:var(--c-point);}
#security.r6-spaces {padding:110px 0; scroll-margin-top:100px; word-break:keep-all; background:#f2f5f8;}
#security.r6-spaces .r6-wrap {width:calc(100% - 80px); max-width:1440px; margin:auto;}
#container #security.r6-spaces .r6-heading .eyebrow {display:inline-flex; align-items:center; gap:8px; margin:0 0 22px; font-size:14px; letter-spacing:.1em; line-height:1.5; color:var(--c-navy); justify-content:center;}
#container #security.r6-spaces .r6-heading .eyebrow::before {display:block; flex:0 0 8px; width:8px; height:8px; background:var(--c-point); border-radius:50%;}
#container #security.r6-spaces .r6-heading h2 {font-size:clamp(34px, 3vw, 54px); line-height:1.3; letter-spacing:-.04em; font-weight:700; margin:0; color:#242424;}
#container #security.r6-spaces .r6-heading em {font-style:normal; font-weight:inherit; color:var(--c-navy); background:none;}
#security.r6-spaces .r6-heading-wide {display:block; text-align:center; margin-bottom:48px;}
#security.r6-spaces .r3-intro {font-size:18px; line-height:1.8; color:#686868; margin:24px auto 0; max-width:650px;}
#security.r6-spaces .r6-space-grid {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:24px;}
#security.r6-spaces .r6-space {min-width:0;}
#security.r6-spaces .r6-space-photo {height:auto; aspect-ratio:4 / 3; border-radius:10px; overflow:hidden; position:relative;}
#security.r6-spaces .r6-space-photo > img {width:100%; height:100%; object-fit:cover; transition:transform .5s;}
#security.r6-spaces .r6-space:hover .r6-space-photo > img {transform:scale(1.035);}
#security.r6-spaces .r6-space-index {position:absolute; left:20px; top:20px; font-size:14px; color:#fff; background:rgba(6, 27, 60, .75); padding:6px 10px; border-radius:4px;}
#security.r6-spaces .r6-space-copy {padding-top:25px;}
#security.r6-spaces .r6-space-copy .r3-space-label {color:var(--c-navy); font-size:13px; font-weight:700; letter-spacing:.06em; display:block; margin:0 0 12px; line-height:1.6;}
#container #security.r6-spaces .r6-space-copy h3 {font-size:28px; color:#242424; font-weight:650; letter-spacing:-.03em; line-height:1.4; margin:0 0 15px;}
#security.r6-spaces .r6-space-copy p {color:#686868; font-size:17px; line-height:1.8; margin:0;}

/* package */
#guide.r5-section {padding:112px 0; scroll-margin-top:100px; word-break:keep-all;}
#guide.r5-package {background:#fff;}
#guide .r5-wrap {width:calc(100% - 80px); max-width:1440px; margin:auto;}
#guide .r5-heading .eyebrow {margin:0 0 22px; justify-content:flex-start; font-size:14px; letter-spacing:.1em;}
#guide .r5-heading .eyebrow::before {display:none;}
#guide .r5-heading h2 {margin:0; font-size:clamp(32px, 2.5vw, 44px); font-weight:700; line-height:1.3; letter-spacing:-.04em; color:#242424;}
#guide.r5-package .r5-heading .eyebrow {color:var(--c-point, #fbb600);}
#guide.r5-package .r5-heading h2,#guide.r5-package .r5-heading h2 em {color:#fff;}
#guide.r5-package .r5-heading .r3-intro {margin:24px 0 0; font-size:17px; line-height:1.8; color:#cad5e5; max-width:none;}
#guide .r5-package-layout {display:grid; grid-template-columns:.9fr 1.2fr; gap:64px; align-items:stretch;}
#guide .r5-package-intro {display:flex; flex-direction:column; justify-content:space-between; padding:50px 42px; border-radius:16px; background:var(--c-navy, #0a2a5e);}
#guide .r5-package-foot {display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-top:auto; padding-top:70px;}
#guide .r5-package-brand {flex:1; min-width:0;}
#guide .r5-package-brand img {display:block; width:210px; height:auto;}
#guide .r5-package-brand > span {display:block; margin-top:24px; font-size:14px; line-height:1.7; color:#bdcbe0;}
#guide .r5-package-foot > .r4-solid-link.r5-package-manual {flex-shrink:0; display:inline-flex; justify-content:center; align-items:center; gap:30px; margin:0; padding:16px 24px; border-radius:10px; background:var(--c-point, #fbb600); color:#fff; font-size:16px; font-weight:650; line-height:1.5; text-decoration:none; white-space:nowrap; box-sizing:border-box;}
#guide .r5-package-foot > .r4-solid-link.r5-package-manual span[aria-hidden="true"] {color:#fff;}
#guide .r5-package-foot > .r4-solid-link.r5-package-manual:hover {background:#fff; color:var(--c-navy, #0a2a5e);}
#guide .r5-package-foot > .r4-solid-link.r5-package-manual:hover span[aria-hidden="true"] {color:var(--c-navy, #0a2a5e);}
#guide .r5-package-list {display:flex; flex-direction:column; min-height:100%; border-top:2px solid var(--c-navy, #0a2a5e);}
#guide .r5-package-row {display:grid; grid-template-columns:1fr 60px; flex:1 1 0; gap:14px 22px; align-items:center; align-content:center; padding:28px 24px; border-bottom:1px solid #d7dfe9;}
#guide .r5-package-row > img {grid-column:2; grid-row:1 / 3; width:56px; height:56px; object-fit:contain;}
#guide .r5-package-row h3 {grid-column:1; grid-row:1; margin:0; color:#242424; font-size:25px; font-weight:650; line-height:1.4; letter-spacing:-.03em;}
#guide .r5-package-row > p {grid-column:1; grid-row:2; margin:0; font-size:17px; line-height:1.75; color:#686868;}
#guide.r5-package.r5-package--service {background:#fff;}
#guide.r5-package.r5-package--service .r5-service-head {margin-bottom:56px;}
#guide.r5-package.r5-package--service .r5-service-head--wide {display:grid; grid-template-columns:minmax(0, 1fr) auto; column-gap:48px; row-gap:0; align-items:end;}
#guide.r5-package.r5-package--service .r5-service-head--wide .eyebrow {grid-column:1 / -1; align-self:start;}
#guide.r5-package.r5-package--service .r5-service-head--wide h2 {grid-column:1; grid-row:2;}
#guide.r5-package.r5-package--service .r5-service-head-cta {grid-column:2; grid-row:2; align-self:end; justify-self:end;}
#guide.r5-package.r5-package--service .r5-service-head .eyebrow {display:inline-flex; align-items:center; gap:8px; margin:0 0 24px; font-size:14px; letter-spacing:.075em; line-height:1.5; color:var(--c-navy, #0a2a5e); justify-content:flex-start;}
#guide.r5-package.r5-package--service .r5-service-head h2 {font-size:clamp(32px, 2.7vw, 50px); font-weight:700; line-height:1.3; letter-spacing:-.035em; margin:0; color:#242424;}
#guide.r5-package.r5-package--service .r5-service-head h2 em {display:block; font-weight:inherit; font-style:normal; background:none; color:var(--c-navy, #0a2a5e); white-space:nowrap;}
#guide.r5-package.r5-package--service .r5-service-title-row {display:inline; white-space:nowrap;}
#guide.r5-package.r5-package--service .r5-service-title-row > span {font-weight:700; color:#242424; white-space:nowrap;}
#guide.r5-package.r5-package--service .r5-service-logo {display:inline; width:auto; height:clamp(28px, 2.2vw, 42px); margin-right:12px; vertical-align:middle;}
#guide.r5-package.r5-package--service .r5-service-head-cta > .r4-solid-link.r5-package-manual,#guide.r5-package.r5-package--service .r5-package-foot--service > .r4-solid-link.r5-package-manual {flex-shrink:0; display:inline-flex; justify-content:center; align-items:center; gap:24px; margin:0; padding:14px 22px; border-radius:10px; background:var(--c-navy, #0a2a5e); color:#fff; font-size:15px; font-weight:650; line-height:1.5; text-decoration:none; white-space:nowrap; box-sizing:border-box; border:1px solid var(--c-navy, #0a2a5e); cursor:pointer; transition:background .22s ease, border-color .22s ease, color .22s ease;}
#guide.r5-package.r5-package--service .r5-service-head-cta > .r4-solid-link.r5-package-manual span[aria-hidden="true"],#guide.r5-package.r5-package--service .r5-package-foot--service > .r4-solid-link.r5-package-manual span[aria-hidden="true"] {color:inherit;}
#guide.r5-package.r5-package--service .r5-service-head-cta > .r4-solid-link.r5-package-manual:hover,#guide.r5-package.r5-package--service .r5-package-foot--service > .r4-solid-link.r5-package-manual:hover {background:var(--c-point, #fbb600); border-color:var(--c-point, #fbb600); color:var(--c-navy, #0a2a5e);}
#guide.r5-package.r5-package--service .r5-service-head-cta > .r4-solid-link.r5-package-manual:hover span[aria-hidden="true"],#guide.r5-package.r5-package--service .r5-package-foot--service > .r4-solid-link.r5-package-manual:hover span[aria-hidden="true"] {color:var(--c-navy, #0a2a5e);}
#guide.r5-package.r5-package--service .r5-package-list--six {display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:16px; border-top:0;}
#guide.r5-package .r5-package-list--six {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; border-top:0;}
#guide.r5-package .r5-package-list--six .r5-package-row {display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:0; height:100%; min-height:132px; padding:24px 22px; border:1px solid #e1e7ef; border-radius:14px; background:#fff;}
#guide.r5-package .r5-package-list--six .r5-package-row img {grid-column:unset; grid-row:unset; flex:0 0 auto; width:54px; height:54px;}
#guide.r5-package .r5-package-list--six .r5-package-row h3 {grid-column:unset; grid-row:unset; flex:0 0 auto; margin:auto 0 0; padding-top:16px; font-size:18px; line-height:1.45; color:#242424; font-weight:700;}
#guide.r5-package.r5-package--service .r5-package-list--six .r5-package-row {gap:52px; min-height:200px; padding:22px 18px 24px; border:1px solid #e5e9ef; border-radius:14px; box-shadow:0 4px 18px rgba(10, 42, 94, .05);}
#guide.r5-package.r5-package--service .r5-package-list--six .r5-package-row h3 {padding-top:0; font-size:19px; line-height:1.5; letter-spacing:-.02em;}
#guide.r5-package .r5-package-manual-btn {border:0; cursor:pointer; font:inherit;}

/* contact */
#container .sec-contact {scroll-margin-top:calc(var(--header-height) + 32px);}
.contact {background:var(--c-navy,#0A2A5E);}
.contact-grid {display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center;}
.contact-copy>p:not(.eyebrow) {font-size:16px;margin-top:30px;line-height:1.9;}
.contact-copy h2 {font-size:40px;}
.contact-phone {border-color:rgba(255,255,255,.16);}
.contact-phone {border-top:1px solid rgba(255,255,255,.16); padding-top:30px; margin-top:40px;}
.contact-phone>span {display:block;font-size:14px;color:#647996;}
.contact-phone>a {color:#fff;}
.contact-phone > a {display:flex; align-items:center; gap:25px; font-size:44px; font-weight:750; letter-spacing:-.035em; margin:6px 0;}
.contact-phone .icon {width:27px;height:27px;}
.contact-phone>small {font-size:13px;color:#7789a1;}
.contact-copy .contact-email {font-size:14px!important;}
.inquiry-form {box-shadow:0 15px 50px rgba(0,0,0,.18);}
.inquiry-form {padding:36px 40px; background:#fff; border-radius:12px;}
.form-heading {display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;}
.form-heading h3 {font-size:25px;}
.form-heading>span {font-size:11px;color:#8b94a1;}
.inquiry-form b {color:var(--c-navy);font-weight:500;}
.form-row {display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.inquiry-form label {font-size:14px;}
.inquiry-form label {display:block; margin-bottom:19px; font-weight:600; color:#435169;}
.inquiry-form input:not([type=checkbox]),.inquiry-form textarea {display:block;width:100%;margin-top:8px;background:#f8f9fb;border:1px solid #e5e9ee;border-radius:5px;padding:12px 13px;font-size:14px;outline:none;color:#172332;}
.inquiry-form input:focus,.inquiry-form textarea:focus {border-color:var(--c-navy);box-shadow:0 0 0 2px var(--c-navy)15;}
.inquiry-form input::placeholder,.inquiry-form textarea::placeholder {color:#9ca6b5;font-size:13px;}
.inquiry-form textarea {resize:vertical;min-height:104px;}
.consent {display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.consent label {display:flex;align-items:flex-start;gap:7px;font-size:11px;font-weight:400;}
.consent input {width:16px;height:16px;margin:0;accent-color:var(--c-navy);}
.consent button {white-space:nowrap;border:0;background:none;padding:0;font-size:11px;color:#7d8795;text-decoration:underline;}
.inquiry-form>.button {width:100%;justify-content:center;gap:20px;}
.consent label,.consent button {font-size:12px;}
#contact .inquiry-form>.button.primary:hover {background:var(--c-navy);color:#fff;}
.contact-copy .contact-phone {border-color:rgba(255,255,255,.16);}
.contact-copy .contact-chat-btn {margin-top:20px;padding:14px 24px;border:1px solid var(--c-navy-deep);border-radius:800px;background:#fff;color:var(--c-navy-deep);font-size:15px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;}
.contact-copy .contact-chat-btn:hover {background:var(--c-navy-deep);border-color:var(--c-navy-deep);color:#fff;}
.contact-copy .eyebrow {color:var(--c-point);}
.contact-copy h2,.contact-copy h2 em {color:#fff;}
.contact-copy .section-head-desc {color:rgba(255,255,255,.72);}
#contact .inquiry-form .form-row label,#contact .inquiry-form > label {color:#242424; font-size:16px; font-weight:600;}
#contact .inquiry-form label > b {color:var(--c-navy, #0A2A5E);}
#contact .consent {margin-bottom:28px;}
#contact .consent {display:flex; align-items:center; justify-content:space-between; gap:12px;}
#contact .inquiry-form .consent label {display:inline-flex; align-items:center; gap:8px; flex:1 1 auto; min-width:0; margin:0; font-size:14px; font-weight:400; line-height:1.45; cursor:pointer;}
#contact .consent label input[type=checkbox] {flex-shrink:0; width:18px; height:18px; margin:0 !important; padding:0; vertical-align:middle; align-self:center; accent-color:var(--c-navy-deep, #0A2A5E);}
#contact .consent label span {flex:1 1 auto; min-width:0; font-size:14px; line-height:1.45;}
#contact .consent button {flex-shrink:0; align-self:center; margin:0;}
#contact .inquiry-form input:not([type=checkbox]),#contact .inquiry-form textarea {border:1px solid #E1E5EB; border-radius:var(--radius-small); background:#F8F9FB; color:#242424; font-size:16px; font-weight:400;}
#contact .inquiry-form input:not([type=checkbox])::placeholder,#contact .inquiry-form textarea::placeholder {color:#7A818B; font-weight:400;}
#contact .inquiry-form input:not([type=checkbox]):focus,#contact .inquiry-form input:not([type=checkbox]):focus-visible,#contact .inquiry-form textarea:focus,#contact .inquiry-form textarea:focus-visible {outline:none; box-shadow:none; border-color:#E1E5EB; background:#fff;}
.inquiry-form input[type=checkbox] {accent-color:var(--c-navy-deep);}
.sec-contact .ct-wrap,.sec-contact .ct-form,.sec-contact .ct-side {transform:none !important;}
.section-head--center .eyebrow,.head-stack-left .eyebrow,.spotlight-copy .eyebrow,.contact-copy .eyebrow {margin:0 0 26px; font-size:13px; font-weight:700; letter-spacing:.14em; line-height:1;}
.section-head--center h2,.head-stack-left h2,.head-stack-left .head-stack-title,.contact-copy h2 {margin:0; padding:0; font-size:clamp(38px, 3.35vw, 60px); font-weight:800; color:#242424; line-height:1.23; letter-spacing:-.045em; word-break:keep-all;}
.section-head--center h2 em,.head-stack-left h2 em,.contact-copy h2 em,.section-head--center h2 .head-em-point,.head-stack-left h2 .head-em-point {color:var(--c-navy, #0A2A5E); font-style:normal; font-weight:inherit; background:none;}
.section-head-desc,.section-head .section-head-desc,.head-stack-left .section-head-desc,.head-stack-left > p.section-head-desc,.spotlight-copy .section-head-desc,.contact-copy .section-head-desc {margin:28px 0 0; font-size:18px; line-height:1.8; word-break:keep-all; color:#686868;}
.head-stack-left,.spotlight-copy.head-stack-left,.contact-copy.head-stack-left {display:flex; flex-direction:column; align-items:flex-start; gap:0;}
#contact.contact {background:var(--c-navy-deep);}
#contact .contact-copy .eyebrow {color:#CAD6E7;}
#contact .contact-copy h2,#contact .contact-copy h2 em {color:#fff; font-weight:700;}
#contact .contact-copy .section-head-desc {color:#C0CCDD;}
#contact .contact-phone > a {display:flex; align-items:center; gap:20px;}
#contact .contact-phone > a {font-size:44px; font-weight:750; letter-spacing:-.035em;}
#contact .contact-phone-icon {color:var(--c-navy-deep); background:#fff;}
#contact .contact-phone-icon {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:48px; height:48px; border-radius:50%;}
#contact .contact-phone-icon .icon,#contact .contact-phone-icon svg {display:block; width:22px; height:22px; stroke:var(--c-navy, #0A2A5E); color:var(--c-navy, #0A2A5E);}
#contact .contact-phone-icon path {stroke:var(--c-navy, #0A2A5E);}
#contact .contact-grid > .contact-copy.head-stack-left {display:inline-flex; flex-direction:column; align-items:stretch; justify-self:start; width:auto; max-width:100%;}
#contact .contact-copy .contact-phone {align-self:stretch; width:auto; box-sizing:border-box;}
#contact .inquiry-form {border:1px solid #E5E9EE; border-radius:var(--radius-card); box-shadow:0 12px 35px rgba(0,0,0,.09);}
#contact .inquiry-form {width:100%; max-width:none; min-width:0; box-sizing:border-box; padding:36px 40px; background:#fff;}
#contact .form-heading h3 {font-weight:700;}
#contact .form-heading > span {font-size:14px;}
#contact .form-heading > span > b {color:var(--c-navy, #0A2A5E);}
#contact .consent label b {color:var(--c-navy, #0A2A5E);}
#contact .inquiry-form > .button.primary {border-radius:var(--radius-control); background:var(--c-navy); color:#fff;}
#contact .inquiry-form > .button.primary {margin-top:4px; font-weight:650; box-shadow:none; transition:background .22s ease, color .22s ease, border-color .22s ease;}
#contact .inquiry-form > .button.primary:hover {background:var(--c-navy-mid); color:#fff;}
.integrated-cta .head-stack-left .section-head-desc {color:#b2c6dd; margin-top:0;}
.integrated-cta p:not(.eyebrow) {font-size:16px;color:#b2c6dd;margin-top:14px;}
.integrated-cta .eyebrow {color:#fcb600;}
.integrated-cta .button {flex-shrink:0;}
#container #contact .contact-copy .eyebrow {color:#CAD6E7;}
#contact .contact-grid {display:grid; grid-template-columns:.95fr 1.55fr; gap:80px; align-items:center;}
#contact .contact-phone-icon .icon,#contact .contact-phone-icon svg,#contact .contact-phone-icon path {color:var(--c-navy); stroke:var(--c-navy);}
#contact .consent button,#contact .consent label span {font-size:14px;}
#contact .inquiry-form label > b,#contact .form-heading > span > b,#contact .consent label b {color:var(--c-navy);}
.form-heading>span,.footer-top>div,.footer-top button,.footer-bottom p:not(.footer-statement),.footer-bottom small {font-size:12px;}
#contact .consent .privacy-open {flex-shrink:0; padding:0; border:0; background:none; color:var(--c-navy, #0A2A5E); font-size:14px; font-weight:600; line-height:1.45; text-decoration:underline; text-underline-offset:3px; cursor:pointer; transition:color .2s ease;}
#contact .consent .privacy-open:hover {color:var(--c-navy-mid, #123B7A);}

/* sub */
#contArea {max-width:1440px; margin:0 auto; padding-left:var(--space-container); padding-right:var(--space-container);}
.sub-visual {display:flex; align-items:center; justify-content:center; margin-top:var(--header-height); width:100%; height:300px; background:#eee; text-align:center;}
.lnb-wrap {border-bottom:1px solid var(--c-border, #ddd);}
.sub-title {padding:80px 0; text-align:center;}
.real-cont {min-height:300px; padding-bottom:120px;}
.sub-visual {display:flex; align-items:center; justify-content:center; margin-top:100px; width:100%; height:300px; background:#eee; text-align:center;}
.sub-visual h2 {font-size:48px; line-height:1.3em;}
.lnb-wrap {border-bottom:1px solid #ddd;}
.lnb {max-width:1200px; margin:0 auto;}
.lnb ul {display:flex;}
.lnb ul li {flex:1; border-right:1px solid #ddd;}
.lnb ul li:first-child {border-left:1px solid #ddd;}
.lnb ul li a {display:flex; align-items:center; justify-content:center; width:100%; height:60px; background:#fff; text-align:center;}
#contArea {max-width:1420px; margin:0 auto; padding-left:var(--space-container); padding-right:var(--space-container);}
.sub-title {padding:80px 0; text-align:center;}
.sub-title h2 {font-size:32px; line-height:1.3em;}
.real-cont {min-height:300px; padding-bottom:120px;}

/* footer */
.scroll-top.quick-top {position:fixed; right:24px; bottom:24px; z-index:90; display:flex; align-items:center; justify-content:center; width:56px; height:56px; opacity:0; visibility:hidden;}
.scroll-top.quick-top.is-on,.scroll-top.active {opacity:1; visibility:visible;}
.footer-top .brand-logo {width:215px;height:auto;}
#footer .foot-brand-link img.r4-ci {width:48px; height:auto; object-fit:contain;}
#footer .footer-top .brand-logo {display:block; width:215px; height:auto; object-fit:contain;}
#footer {background:#fff; border-top:1px solid #EEE; color:var(--c-text-primary, #172332); text-align:left;}
#footer {padding:55px 0 25px; margin-bottom:0;}
#footer .copyright {font-size:14px; font-weight:400; line-height:1.3em;}
.footer-top {display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid #e8ecf0; padding-bottom:30px;}
.footer-top .foot-brand-link {display:block; flex-shrink:0; line-height:0;}
.footer-top > div {display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 30px; font-size:14px; color:var(--c-text-secondary, #4a5a6e);}
.footer-top button {border:0;background:none;padding:0;font-size:12px;color:#d1dbe7;}
.footer-top a {font-size:14px; font-weight:500; color:#868686; text-decoration:none; transition:color .2s ease;}
.footer-top a:hover,.footer-top button:hover {color:var(--c-point);}
.footer-bottom {display:flex;justify-content:space-between;padding:32px 0;}
.footer-bottom .footer-info {width:100%; min-width:0;}
.footer-bottom strong {font-size:14px;font-weight:550;}
.footer-meta-grid {display:flex; flex-direction:column; gap:10px; margin:16px 0 0;}
.footer-meta-row {display:flex; flex-wrap:wrap; gap:10px 40px; align-items:baseline;}
.footer-meta-pair {display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:8px; min-width:0;}
.footer-meta-pair dt {margin:0; font-size:13px; font-weight:600; letter-spacing:.02em; color:#242424;}
.footer-meta-pair dd {margin:0; font-size:14px; color:var(--c-text-tertiary, #7a8aa0); line-height:1.65;}
.footer-meta-pair dd a {color:inherit; text-decoration:none; transition:color .2s ease;}
.footer-meta-pair dd a:hover {color:var(--c-point);}
#footer .copyright,.footer-bottom small.copyright {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; width:100%; margin:0; padding-top:24px; border-top:1px solid #e8ecf0; font-size:14px; color:#93a3b5; line-height:1.65;}
#footer .copyright .design-credit {flex:0 0 auto; margin-left:auto; color:inherit; font-size:inherit; text-decoration:none;}
#footer .copyright .design-credit:hover {text-decoration:underline;}
.quick-menu {position:fixed; right:clamp(16px, 2vw, 28px); bottom:clamp(88px, 8vw, 104px); z-index:90; display:flex; flex-direction:column; align-items:flex-end; gap:10px;}
.quick-menu {bottom:clamp(16px, 2vw, 28px);}
.quick-menu .scroll-top.quick-top,.quick-menu .quick-top {position:relative; right:auto; bottom:auto; z-index:auto;}
.quick-pills {display:flex; flex-direction:column; align-items:flex-end; gap:8px; width:auto;}
.quick-pill {border-radius:var(--radius-card); box-shadow:0 5px 18px rgba(10,42,94,.1);}
.quick-pill {display:inline-flex; flex-direction:row; align-items:center; justify-content:center; gap:0; width:56px; height:56px; min-height:56px; padding:0; box-sizing:border-box; border:0; border-radius:16px; font-size:16px; font-weight:600; letter-spacing:-.02em; line-height:1.2; white-space:nowrap; text-decoration:none; cursor:pointer; overflow:hidden; transition:width .35s cubic-bezier(.4, 0, .2, 1), padding .35s cubic-bezier(.4, 0, .2, 1), gap .35s cubic-bezier(.4, 0, .2, 1), box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;}
.quick-pill .quick-txt {display:inline-block; max-width:0; opacity:0; overflow:hidden; transition:max-width .35s cubic-bezier(.4, 0, .2, 1), opacity .22s ease .04s;}
.quick-pill:hover,.quick-pill:focus-visible {transform:none; box-shadow:0 7px 20px rgba(10,42,94,.13);}
.quick-pill:hover,.quick-pill:focus-visible {width:168px; padding:0 16px; gap:10px; justify-content:flex-start;}
.quick-pill:hover .quick-txt,.quick-pill:focus-visible .quick-txt {max-width:124px; opacity:1;}
.quick-pill .quick-ico {display:flex; align-items:center; justify-content:center; width:24px; height:24px; flex:0 0 24px;}
.quick-pill .quick-ico img {display:block; width:24px; height:24px; object-fit:contain;}
.quick-pill-ask .quick-ico img {filter:brightness(0) invert(1);}
.quick-pill-chat .quick-ico img {filter:brightness(0) saturate(100%) invert(13%) sepia(90%) saturate(750%) hue-rotate(182deg) brightness(95%) contrast(105%);}
.quick-pill-chat:hover .quick-ico img,.quick-pill-chat:focus-visible .quick-ico img {filter:brightness(0) saturate(100%) invert(13%) sepia(90%) saturate(750%) hue-rotate(182deg) brightness(95%) contrast(105%);}
.quick-pill-tel .quick-ico img {filter:brightness(0) saturate(100%) invert(13%) sepia(90%) saturate(750%) hue-rotate(182deg) brightness(95%) contrast(105%);}
.quick-pill .quick-ico svg {width:24px; height:24px;}
.quick-pill-ask {background:var(--c-navy); color:#fff;}
.quick-pill-ask .quick-ico {color:#fff;}
.quick-pill-ask:hover,.quick-pill-ask:focus-visible {background:var(--c-navy); color:#fff;}
.quick-pill-chat {background:#fff; color:var(--c-navy); border:1px solid #cfd8e3;}
.quick-pill-chat .quick-ico {color:var(--c-navy);}
.quick-pill-chat:hover,.quick-pill-chat:focus-visible {background:#fff; color:var(--c-navy); border-color:#cfd8e3;}
.quick-pill-tel {background:#f1f4f8; color:var(--c-navy); border:1px solid #dfe5ed;}
.quick-pill-tel .quick-ico {color:var(--c-navy);}
.quick-pill-tel:hover,.quick-pill-tel:focus-visible {background:#f1f4f8; color:var(--c-navy); border-color:#dfe5ed;}
.quick-top {border-radius:var(--radius-card); background:#fff; border:1px solid #DFE5ED; color:var(--c-navy);}
.quick-top {display:flex; align-items:center; justify-content:center; width:56px; height:56px; border-radius:16px; box-shadow:0 5px 18px rgba(10, 42, 94, .1); transform:translateY(8px); cursor:pointer; transition:opacity .3s ease, transform .3s ease, visibility .3s ease, background .2s ease, border-color .2s ease, color .2s ease;}
.quick-top.is-on {opacity:1; visibility:visible; transform:translateY(0);}
.quick-top svg {width:22px; height:22px;}
.quick-top:hover,.quick-top:active,.quick-top:focus-visible {background:#f1f4f8; border-color:#dfe5ed; color:var(--c-navy);}
.footer-top .brand-name {font-size:15px;}
.footer-top>div {display:flex;gap:30px;font-size:12px;}
.footer-bottom p:not(.footer-statement) {color:var(--c-text-tertiary,#7a8aa0);}
.footer-bottom p span {margin:0 12px;color:#455267;}
.footer-bottom small {font-size:10px;color:#677a92;}
.footer-bottom small.copyright {color:#93a3b5;}
.footer-top>div,.footer-top button {color:var(--c-text-secondary,#4a5a6e);}
#footer .footer-top .privacy-open:hover,#footer .footer-top .email-reject-open:hover {color:var(--c-point);}
#footer .footer-bottom {display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:28px; padding:32px 0 0;}
#footer .footer-meta-grid {display:flex; flex-direction:column; gap:10px; margin:16px 0 0;}
#footer .footer-meta-row {display:flex; flex-wrap:wrap; gap:10px 40px; align-items:baseline;}
#footer .footer-meta-pair {display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:8px; min-width:0;}
#footer .footer-meta-pair dt {margin:0; font-size:16px; font-weight:600; color:#242424;}
#footer .footer-meta-pair dd {margin:0; font-size:16px; color:var(--c-text-tertiary, #7a8aa0); line-height:1.65;}
#footer .footer-top > div,#footer .footer-top button,#footer .footer-top a,#footer .footer-bottom p,#footer .footer-bottom small.copyright {font-size:14px;}
#footer .footer-top {display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid #e8ecf0; padding-bottom:30px;}
#footer .footer-top .foot-brand-link {display:flex; align-items:center; gap:18px; flex-shrink:0; line-height:0;}
#footer .footer-top > div {display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:0 20px; font-size:16px; color:#242424;}
#footer .footer-top > div button {font-size:16px; font-weight:600; color:#242424; transition:color .2s ease;}
#footer .r4-footer-support,#footer .r4-footer-notice {border:0; background:none; padding:0; cursor:pointer; font:inherit; font-weight:600; color:#242424;}
#footer .footer-top > div button:hover,#footer .footer-top > div button:focus-visible {color:#242424; opacity:.72;}
#footer .footer-top > div > :not(:first-child) {position:relative; padding-left:20px;}
#footer .footer-top > div > :not(:first-child)::before {content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:1em; background:#d0d8e2;}
#footer .footer-bottom .footer-info {width:100%; min-width:0;}
#footer .footer-bottom strong {display:block; font-size:20px; font-weight:650; color:#242424;}
#footer .footer-meta-pair dd a {color:inherit; text-decoration:none;}
#footer .footer-meta-pair dd a:hover {color:var(--c-point);}
#footer .copyright,#footer .footer-bottom small.copyright {display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; width:100%; margin:0; font-size:14px; padding-top:24px; border-top:1px solid #e8ecf0; color:#93a3b5; line-height:1.65;}
#footer .copyright .copyright-main {flex:0 1 auto;}
.quick-pill-tel,.quick-pill-tel:hover,.quick-pill-tel:focus-visible {background:#F1F4F8; color:var(--c-navy); border:1px solid #DFE5ED;}

/* dialog */
#product-detail>img {height:210px;width:100%;object-fit:contain;margin-bottom:25px;}
#product-detail dl {display:grid; grid-template-columns:1fr 2fr; font-size:14px; border-top:1px solid var(--c-divider); padding-top:18px; gap:10px;}
#product-detail dd {margin:0; color:var(--c-text-muted);}
#product-detail .button {width:100%; margin-top:18px;}
#product-detail > img {height:210px; width:100%; object-fit:contain; margin-bottom:25px;}
#r4-manual-download[hidden] {display:none !important;}
body.legal-dialog-open {overflow:hidden;}
dialog {border:0;border-radius:14px;padding:42px;width:min(540px,calc(100% - 32px));max-height:85vh;color:var(--ink);box-shadow:0 20px 100px #0003;}
dialog::backdrop {background:#10203399;backdrop-filter:blur(5px);}
dialog h2 {font-size:28px;margin-bottom:20px;}
dialog p {font-size:15px;margin-bottom:20px;}
dialog .eyebrow {font-size:12px;}
.dialog-close {position:absolute;right:15px;top:10px;background:none;border:0;font-size:29px;color:#8794a4;}
.dialog-confirm {width:100%;justify-content:center;}
dialog.de1-dialog {position:relative; border:1px solid #E5E9EE; border-radius:var(--radius-card, 16px); padding:36px 36px 32px; width:min(520px, calc(100% - 32px)); max-height:min(85vh, calc(100dvh - 48px)); overflow:visible; color:var(--c-text-primary); box-shadow:0 16px 50px rgba(10, 42, 94, .14);}
dialog.de1-dialog[open] {position:fixed; top:50%; left:50%; right:auto; bottom:auto; margin:0; transform:translate(-50%, -50%);}
dialog.de1-dialog::backdrop {background:rgba(0, 0, 0, .64);}
dialog.de1-dialog .dialog-close {position:absolute; top:-18px; right:-18px; z-index:3; display:flex; align-items:center; justify-content:center; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:#242424; color:#fff; box-shadow:0 2px 6px rgba(12, 26, 42, .45); cursor:pointer; transition:background .2s ease, box-shadow .2s ease;}
dialog.de1-dialog .dialog-close svg {display:block; width:16px; height:16px; stroke:#fff;}
dialog.de1-dialog .dialog-close:hover {background:#1a2430; color:#fff;}
dialog.de1-dialog .dialog-close:focus-visible {outline:none; box-shadow:0 2px 6px rgba(12, 26, 42, .45), 0 0 0 3px rgba(36, 36, 36, .28);}
.de1-dialog--legal .eyebrow {margin:0 0 22px; color:var(--c-navy, #0A2A5E); font-size:13px; font-weight:700; letter-spacing:.14em;}
.de1-dialog--legal h2 {margin:0 0 22px; padding-right:36px; font-size:clamp(26px, 4vw, 32px); font-weight:700; line-height:1.3; letter-spacing:-.03em; color:#242424; word-break:keep-all;}
.de1-dialog--legal .dialog-body p {margin:0 0 12px; font-size:16px; line-height:1.75; color:#686868; word-break:keep-all;}
.de1-dialog--legal .dialog-body p:last-child {margin-bottom:0;}
.de1-dialog--legal .dialog-confirm {display:flex; align-items:center; justify-content:center; width:100%; margin-top:28px; padding:14px 24px; border:0; border-radius:var(--radius-control, 12px); background:var(--c-navy, #0A2A5E); color:#fff; font-size:16px; font-weight:650; line-height:1.2; cursor:pointer; transition:background .22s ease, color .22s ease;}
.de1-dialog--legal .dialog-confirm:hover {background:var(--c-navy-mid, #123B7A); color:#fff;}
dialog#privacy-dialog.de1-dialog {width:min(600px, calc(100% - 32px));}
dialog.de1-dialog--notice {width:min(520px, calc(100% - 32px));}
.de1-dialog--notice .de1-notice-visual {display:block; width:100%; height:auto; max-height:170px; object-fit:contain; margin:18px 0 20px; border-radius:var(--radius-small, 8px); background:#f5f7fa;}
.de1-dialog--notice .de1-notice-link,.de1-dialog--support .de1-notice-link {display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%; margin-top:4px; padding:14px 24px; border-radius:var(--radius-control, 12px); background:var(--c-navy, #0a2a5e); color:#fff; font-size:16px; font-weight:650; line-height:1.5; text-decoration:none; box-sizing:border-box;}
.de1-dialog--notice .de1-notice-link:hover,.de1-dialog--support .de1-notice-link:hover {background:var(--c-navy-mid, #123b7a); color:#fff;}
.de1-dialog--notice .de1-notice-link span[aria-hidden="true"] {transform:translateY(0.08em);}
.de1-dialog--notice .dialog-foot {display:flex; justify-content:flex-start; margin-top:0; padding-top:18px; border-top:1px solid #e5e9ee;}
.de1-dialog--notice .dialog-dismiss {display:inline-flex; align-items:center; gap:8px; margin:0; font-size:14px; line-height:1.6; color:#454545; cursor:pointer;}
.de1-dialog--notice .dialog-dismiss input {width:17px; height:17px; accent-color:var(--c-navy, #0a2a5e);}
dialog.de1-dialog--support {width:min(680px, calc(100% - 32px));}
.de1-dialog--support .de1-support-options {border-top:1px solid #e5e9ee; margin-top:18px;}
.de1-dialog--support .de1-support-options > a,.de1-dialog--support .de1-support-options > div {display:block; padding:20px 0; border-bottom:1px solid #e5e9ee; text-decoration:none; color:inherit;}
.de1-dialog--support .de1-support-options strong {display:block; font-size:18px; font-weight:650; line-height:1.5; color:var(--c-navy, #0a2a5e);}
.de1-dialog--support .de1-support-options span,.de1-dialog--support .de1-support-options p {display:block; margin:10px 0 0; font-size:16px; line-height:1.75; color:#686868;}
.de1-dialog--support .de1-notice-link--download {width:auto; margin-top:14px;}
.de1-dialog--support .de1-support-tel {display:inline-block; margin-top:18px; font-size:16px; font-weight:650; color:var(--c-navy, #0a2a5e); text-decoration:underline; text-underline-offset:3px;}
dialog.de1-dialog {border-radius:var(--radius-card); box-shadow:0 16px 50px rgba(10,42,94,.14);}
.de1-dialog--manual .r4-manual-categories {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; margin-top:16px;}
.de1-dialog--manual [data-manual-item] {display:block; width:100%; padding:14px 16px; border:1px solid #dde5ef; border-radius:10px; background:#f8fafc; text-align:left; font-size:15px; font-weight:650; color:var(--c-navy); cursor:pointer;}
.de1-dialog--manual [data-manual-item]:hover {border-color:#b7c6d9; background:#fff;}
.de1-dialog--manual .r4-manual-viewer {margin-top:12px;}
.de1-dialog--manual .r4-manual-frame {width:100%; height:min(52vh, 420px); border:1px solid #dde5ef; border-radius:10px; background:#f4f6f9;}
.de1-dialog--manual .r4-manual-toolbar {display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; flex-wrap:wrap;}
.de1-dialog--manual .r4-manual-back {border:0; background:none; color:var(--c-navy); font-size:14px; font-weight:600; cursor:pointer; text-decoration:underline;}
dialog.de1-dialog.de1-dialog--manual {box-sizing:border-box; max-width:calc(100% - 32px);}
.de1-dialog--manual .r4-manual-categories[hidden],.de1-dialog--manual .r4-manual-viewer[hidden] {display:none !important;}
.de1-dialog--manual .r4-manual-viewer:not([hidden]) {display:flex; flex-direction:column; min-width:0; max-width:100%; overflow:hidden;}
.de1-dialog--manual .r4-manual-toolbar {min-width:0;}
.de1-dialog--manual .r4-manual-toolbar strong {min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.de1-dialog--manual .r4-manual-frame {display:block; max-width:100%; min-width:0; box-sizing:border-box;}
