@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 

#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:50px}

.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:1500px; padding-left:30px; padding-right:30px; margin:0 auto;}
.contain2 { width:100%; max-width:1260px; padding-left:30px; padding-right:30px; margin:0 auto; }
.contain:after {content:""; display:block; clear:both;}

#container>div { overflow: hidden;}
#ws-wrapper {display:flex; min-height:100vh;}

#ws-header {width:200px; background:#fafafa; box-shadow:0 0 5px rgba(0,0,0,.2);}

.ws-menu .ui {display:block; padding:13px 0; background:#5e31a1; color:#fff; font-size:18px; font-weight:700; line-height:1.5em; letter-spacing:-.03em; text-align:center; border-bottom:2px solid #3c2065;}
.ws-menu h2 {font-family:"Roboto",sans-serif; font-size:15px; color:#fff; line-height:1.3em; padding:7px 0; text-align:center; background:#7952b3; }
.ws-menu ul {display:flex; flex-wrap:wrap;}
.ws-menu ul li {width:100%; border-bottom:1px solid #e5e5e5;}
.ws-menu ul li.w50 {width:50%; border-right:1px solid #e5e5e5;}
.ws-menu ul li.w50:nth-child(2n) {border-right:0;}
.ws-menu ul li a {display:block; color:#333; text-decoration:none; font-size:13px; font-weight:300; line-height:1.4em; letter-spacing:-.04em; padding:5px 5px 5px 11px;}
.ws-menu ul li a:hover,
.ws-menu ul li.active a {background:#eee; color:#653ba4; font-weight:500; padding-left:14px;}

#ws-content {flex:1 1 auto; min-width:0; width:1%; padding:30px;}

.ws-title {display:flex; align-items:center; padding-bottom:15px; margin-bottom:50px; border-bottom:1px solid #ddd;}
.ws-title h2 {flex:1 1 auto; min-width:0; width:1%; font-size:30px; line-height:1.3em; letter-spacing:-.04em;}

.btn-psd-download {display:inline-block; padding:8px 20px; font-family:"Roboto",sans-serif; color:#fff; font-size:16px; font-weight:500; line-height:1.3em; background:#7952b3; border-radius:4px;}
 
.ws-real-cont {max-width:1200px; margin:0 auto;}

/* header */
#header {position:sticky; width:100%; z-index:101; top:0; left:0; right:0; height:100px; transition:.2s; background:#fff; }
#header .contain {position:relative; display:flex; align-items:center; justify-content:space-between; max-width:none; height:100px; padding-left:40px; padding-right:40px; z-index:10;}
#header .contain::after {content:none;}

.sitelogo {position:relative; z-index:2; flex:0 0 auto;}
.sitelogo a {display:block; line-height:0;}
.sitelogo img {display:block; width:auto; height:24px; max-width:none; visibility:visible;}

#gnb {text-align:center; flex:1 1 auto; width:auto; min-width:0; margin-right:160px;}
#gnb>ul {display:flex; justify-content:flex-end; align-items:center; gap:100px;}
#gnb>ul>li {position:relative;}
#gnb>ul>li>a {position:relative; display:flex; align-items:center; flex-direction:column; justify-content:center; width:auto; height:100px; padding:0; font-family:var(--font-sans); font-size:20px; font-weight:500; line-height:1.5em; letter-spacing:-0.02em; color:var(--text-primary);}
#gnb>ul>li>a:before {content:""; display:block; width:0; height:1px; margin:0 auto 6px; background:var(--accent); transition:width .3s ease;}
#gnb>ul>li:hover>a,
#gnb>ul>li.active>a {color:var(--text-primary);}
#gnb>ul>li:hover>a:before,
#gnb>ul>li.active>a:before {width:16px;}

.util {display:flex; align-items:center; gap:10px; flex:0 0 auto;}
.cart-btn {position:relative; display:flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:0; background:transparent; color:#2c2c2c; line-height:0; cursor:pointer;}
.cart-btn .icon {display:flex; width:24px; height:24px;}
.cart-btn img,
.cart-btn svg {width:24px; height:24px; max-width:none; display:block;}
.icon {display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; line-height:0;}
.icon img {display:block; width:100%; height:100%; max-width:none;}
.icon24 {width:24px; height:24px;}
.cart-count {position:absolute; top:-4px; right:-6px; display:none; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:var(--accent); color:var(--text-primary); font-family:var(--font-sans); font-size:10px; font-weight:600; line-height:1em; letter-spacing:0; text-align:center;}
.cart-count[hidden] {display:none;}
.list-icon { width:22px; height:16px; text-align:center; text-indent:-9999em; z-index:50; transition:all 0.5s linear; display: none; position: relative;}
.list-icon span {position:absolute; right:0; top:50%; margin-top:0px; height:2px; background:#121212; left: 0; }
.list-icon span:before,
.list-icon span:after {content:" "; position:absolute; left:0; right:0; height:2px; transition-duration:0.3s, 0.3s; transition-delay:0.3s, 0s; }
.list-icon span:before {top:-8px; transition-property:top, transform; background:#121212; content: "only"; }
.list-icon span:after {bottom:-8px; transition-property:bottom, transform; background:#121212; }

#header.main { position: fixed; background: #fff; border-color:#dddddd; }
#header.main #gnb>ul>li>a { color: var(--text-primary); }
#header.main .list-icon span { background: #121212; }
#header.main .list-icon span::before { background: #121212; }
#header.main .list-icon span::after { background: #121212; }

#header.hover { background: #fff; }
#header.hover #gnb>ul>li>a { color: var(--text-primary); }

#header.move { background: #fff; box-shadow:0 2px 16px rgba(0,0,0,0.04);}
#header.move #gnb>ul>li>a { color: var(--text-primary); }
#header.move .list-icon span { background: #121212; }
#header.move .list-icon span::before { background: #121212; }
#header.move .list-icon span::after { background: #121212; }

.mobile-navigation {display:block; position:fixed; top:0; right:0; width:280px; height:100%; overflow:auto; padding:72px 0 32px; transition:.2s linear; transform:translateX(100%); background:#fff; z-index:102; font-family:var(--font-sans);}
.mobile-navigation .home {display:none;}
.mobile-navigation .nav-menu>ul {margin:0; padding:0; border-top:1px solid #eeeeee;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #eeeeee;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; display:block; padding:18px 24px; color:var(--text-primary); font-family:var(--font-sans); font-size:16px; font-weight:500; letter-spacing:-0.02em; line-height:1.5em;}
.mobile-navigation .nav-menu>ul>li>a:after {content:none;}
.mobile-navigation .nav-menu>ul>li.active>a {color:var(--text-primary); background:transparent; font-weight:600;}
.mobile-navigation .nav-menu>ul>li.active>a:before {content:""; position:absolute; left:24px; bottom:14px; width:16px; height:1px; background:var(--accent);}
.mobile-navigation .nav-menu .submenu {display:none;}
.mobile-navigation .close {position:absolute; top:18px; right:16px; width:28px; height:28px; text-indent:-9999em; overflow:hidden;}
.mobile-navigation .close:before,
.mobile-navigation .close:after {content:""; position:absolute; top:13px; left:2px; width:24px; height:1px; background:var(--text-primary);}
.mobile-navigation .close:before {transform:rotate(45deg);}
.mobile-navigation .close:after {transform:rotate(-45deg);}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:101;}

html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;} 

/* 메인비주얼 (hero 영역) */
.main-visual {position:relative; height:calc(100vh - 158px); min-height:480px; margin:0 40px; border-radius:23px; overflow:hidden; background:#0a1628;}
.main-visual .items {height:100%;}
.main-visual .slick-list,
.main-visual .slick-track,
.main-visual .slick-slide,
.main-visual .slick-slide > div {height:100% !important;}
.main-visual .slick-slide {overflow:hidden;}
.main-visual .item {position:relative; width:100%; height:100%; overflow:hidden;}
.main-visual .item .video-js,
.main-visual .item video {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.main-visual .item iframe {position:absolute; top:50%; left:50%; width:100vw; height:100vh; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%);}
.main-visual .item > img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; transform-origin:center;}
.main-visual .slick-active .item > img {animation:heroKenBurns 5s ease-out forwards;}
@keyframes heroKenBurns {from {transform:scale(1);} to {transform:scale(1.06);}}
.main-visual .item:after {content:""; position:absolute; left:0; top:0; width:100%; height:100%; background:linear-gradient(270deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.34) 100%), linear-gradient(180deg, rgba(0,0,0,0) 31%, rgba(0,0,0,0.2) 78%); z-index:1; pointer-events:none;}
.main-visual .caption {position:absolute; left:0; right:0; top:0; bottom:0; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; padding:80px 80px 112px; pointer-events:none;}
.main-visual .caption .contain {width:100%; max-width:none; margin:0; padding:0;}
.main-visual .caption .txt {display:flex; flex-direction:column; align-items:stretch; width:100%; transform:translateY(16px); opacity:0; transition:opacity .5s ease, transform .55s ease; color:#fff;}
.main-visual .items .slick-active .caption .txt {transform:translateY(0); opacity:1;}
.main-visual .items .reset-animation .caption .txt {transform:translateY(16px); opacity:0; transition:all 0s;}
.main-visual .caption h2 {margin:0 0 18px; font-family:var(--font-sans); font-size:68px; font-weight:700; line-height:1.15em; letter-spacing:-0.02em; color:#fff; text-align:left;}
.main-visual .caption h2 span {font-style:normal; font-weight:700; color:var(--accent);}
.main-visual .caption .txt > p {max-width:720px; margin:0; font-family:var(--font-sans); font-size:20px; font-weight:500; line-height:1.7em; letter-spacing:-0.02em; color:rgba(255,255,255,0.9); text-align:left;}
.main-visual-bar {position:relative; display:flex; align-items:center; width:100%; margin-top:32px; padding:32px 0 0; border-top:1px solid rgba(255,255,255,0.16);}
.main-visual-brand {display:flex; align-items:center; gap:12px; margin:0; min-width:0; font-family:var(--font-sans); font-size:20px; font-weight:600; line-height:1.5em; letter-spacing:-0.02em; color:rgba(255,255,255,0.6); white-space:nowrap;}
.main-visual-pulse {position:relative; flex:0 0 20px; width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,0.16); overflow:visible;}
.main-visual-pulse:before {content:""; position:absolute; left:50%; top:50%; width:12px; height:12px; margin:-6px 0 0 -6px; border-radius:50%; background:radial-gradient(circle, #fff 0 3px, rgba(255,255,255,0.4) 3.5px 6px); z-index:1;}
.main-visual-pulse:after {content:""; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%; border:1px solid rgba(255,255,255,0.4); background:transparent; z-index:0; pointer-events:none; transform-origin:center; animation:heroPulseRipple 3s cubic-bezier(0.22, 1, 0.36, 1) infinite;}
@keyframes heroPulseRipple {0% {transform:scale(1); opacity:0.45;} 100% {transform:scale(1.75); opacity:0;}}
.vs-pagination {position:absolute; right:80px; bottom:32px; z-index:5; display:flex; align-items:center; gap:16px;}
.vs-pagination .pagination {display:flex; align-items:center; gap:6px; margin:0; font-family:var(--font-sans); font-size:20px; font-weight:500; line-height:1.7em; letter-spacing:-0.02em; color:rgba(255,255,255,0.9);}
.vs-pagination .pagination .current {min-width:13px; text-align:right; color:rgba(255,255,255,0.9);}
.vs-pagination .pagination .dot {flex:0 0 5px; width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,0.5);}
.vs-pagination .pagination .total {min-width:13px; color:rgba(255,255,255,0.5);}
.vs-btns {display:flex; align-items:center; gap:8px;}
.main-visual .vs-btns .slick-prev,
.main-visual .vs-btns .slick-next {position:relative; top:auto; right:auto; left:auto; bottom:auto; display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin:0; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,0.16); color:#fff; font-size:0; line-height:0; cursor:pointer; transform:none;}
.main-visual .vs-btns .slick-prev:hover,
.main-visual .vs-btns .slick-next:hover {background:rgba(255,255,255,0.28);}
.main-visual .vs-btns .slick-prev:before,
.main-visual .vs-btns .slick-next:before {content:""; display:block; width:10px; height:10px; border-top:1.5px solid #fff; border-right:1.5px solid #fff;}
.main-visual .vs-btns .slick-prev:before {transform:rotate(-135deg); margin-left:4px;}
.main-visual .vs-btns .slick-next:before {transform:rotate(45deg); margin-right:4px;}

/* 메인 — 브랜드 마퀴 */
.brand-banner {background:var(--white); border-bottom:1px solid #dddddd; padding:16px 0; overflow:hidden;}
.brand-banner-inner {display:flex; width:max-content; animation:marquee 32s linear infinite;}
.brand-banner-track {display:flex; align-items:center; gap:40px; flex-shrink:0; padding-right:40px; font-family:var(--font-serif); font-size:16px; font-weight:400; letter-spacing:-0.32px; line-height:1.625em; color:var(--text-muted); white-space:nowrap;}
.brand-banner-track .sep {letter-spacing:0;}
@keyframes marquee {from {transform:translateX(0);} to {transform:translateX(-50%);}}

/* 메인 — Featured Products */
.featured-figma {--featured-hover:#2c2c2c; padding:150px 240px; background:var(--white);}
.featured-figma-wrap {max-width:1440px; margin:0 auto; display:flex; flex-direction:column; gap:80px;}
.featured-figma .featured-header {text-align:center; margin:0;}
.featured-eyebrow {margin:0 0 8px; font-family:var(--font-sans); font-size:16px; font-weight:400; letter-spacing:-0.32px; line-height:1.625em; color:var(--text-secondary);}
.featured-title-block {display:flex; flex-direction:column; gap:24px;}
.featured-figma .featured-header h2 {margin:0; font-family:var(--font-sans); font-size:50px; font-weight:600; letter-spacing:-0.02em; line-height:1.28em; color:var(--text-primary);}
.featured-figma .featured-lead {margin:0 auto; width:100%; font-family:var(--font-sans); font-size:20px; font-weight:400; letter-spacing:-0.02em; line-height:1.7em; color:var(--text-secondary); white-space:nowrap;}
.featured-catalog {display:flex; flex-direction:column; align-items:center; gap:60px; width:100%;}
.featured-figma .product-showcase-grid {display:grid; grid-template-columns:repeat(4, minmax(0, 342px)); justify-content:center; gap:40px 24px; width:100%;}
.product-card-figma {display:flex; flex-direction:column; width:100%; height:100%; transition:transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1);}
.product-card-figma:hover {transform:translateY(-6px); box-shadow:0 18px 44px rgba(44, 44, 44, 0.1);}
.product-card-media {display:block; position:relative; height:380px; aspect-ratio:342 / 380; background:var(--white); border:1px solid #dddddd; border-bottom:none; overflow:hidden; transition:border-color var(--transition), background var(--transition);}
.product-card-figma:hover .product-card-media {border-color:var(--featured-hover); background:#fafafa;}
.product-card-media img {position:absolute; left:50%; top:5%; transform:translateX(-50%); width:100%; height:90%; object-fit:contain; object-position:center; display:block; transition:transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);}
.product-card-figma:hover .product-card-media img {transform:translateX(-50%) scale(1.06);}
.product-card-info {display:flex; flex:1; flex-direction:column; gap:30px; padding:20px; background:var(--white); border:1px solid #dddddd; transition:border-color var(--transition), background var(--transition);}
.product-card-figma:hover .product-card-info {border-color:var(--featured-hover);}
.product-card-text {display:flex; flex-direction:column; gap:4px; color:inherit;}
.featured-figma .product-card-cat-label {margin:0 0 4px; font-family:var(--font-sans); font-size:12px; font-weight:500; letter-spacing:0.06em; line-height:1.5em; text-transform:uppercase; color:var(--text-muted);}
.featured-figma .product-card-name {margin:0; font-family:var(--font-sans); font-size:22px; font-weight:600; letter-spacing:-0.02em; line-height:1.55em; color:var(--text-primary); display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; min-height:1.55em;}
.featured-figma .product-card-desc {margin:0; font-family:var(--font-sans); font-size:18px; font-weight:400; letter-spacing:-0.02em; line-height:1.56em; color:var(--text-secondary); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:3.12em;}
.btn-add-quote-figma {width:100%; margin-top:auto; padding:10px 12px; border:1px solid #dddddd; background:var(--white); color:var(--text-muted); font-family:var(--font-sans); font-size:16px; font-weight:400; letter-spacing:-0.02em; line-height:1.5em; cursor:pointer; transition:border-color var(--transition), color var(--transition), background var(--transition);}
.btn-add-quote-figma:hover {border-color:var(--featured-hover); background:var(--featured-hover); color:var(--white);}
.product-card-figma:hover .btn-add-quote-figma {border-color:var(--featured-hover);}
.featured-figma .featured-more {margin:0; padding:0; text-align:center;}
.btn-featured-more {display:inline-flex; align-items:center; gap:8px; padding:18px 40px; background:var(--white); border:1px solid #dddddd; color:var(--text-muted); font-family:var(--font-sans); font-size:18px; font-weight:400; letter-spacing:-0.03em; line-height:1.56em; text-transform:lowercase; white-space:nowrap; transition:border-color var(--transition), color var(--transition), background var(--transition), box-shadow var(--transition);}
.btn-featured-more:hover {border-color:var(--featured-hover); background:var(--white); color:var(--featured-hover); box-shadow:0 8px 24px rgba(43, 59, 80, 0.12); opacity:1;}
.btn-featured-more img {width:24px; height:24px; max-width:none; display:block; transition:transform var(--transition), opacity var(--transition);}
.btn-featured-more:hover img {transform:translateX(4px); opacity:1;}

.reveal {opacity:0; transform:translateY(48px); transition:opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);}
.reveal.is-visible {opacity:1; transform:translateY(0);}
.reveal-delay-1 {transition-delay:0.1s;}
.reveal-delay-2 {transition-delay:0.2s;}
.reveal-delay-3 {transition-delay:0.3s;}
.product-card-figma.reveal.is-visible:hover {transform:translateY(-6px);}

.toast {position:fixed; left:50%; bottom:32px; z-index:3000; padding:12px 24px; border-radius:4px; background:#0a1628; color:#fff; font-family:var(--font-sans); font-size:14px; font-weight:400; line-height:1.5em; opacity:0; pointer-events:none; transform:translateX(-50%) translateY(80px); transition:transform 0.35s ease, opacity 0.35s ease;}
.toast.show {opacity:1; transform:translateX(-50%) translateY(0);}

/* 서브 공통 (비주얼, 타이틀 등 전체적인 서브공통레이아웃) */
.sub-wrap {padding:72px 0 56px; background:var(--white); border-bottom:1px solid #dddddd; text-align:center;}
.sub-wrap h4 {margin:0 0 8px; font-family:var(--font-sans); font-size:16px; font-weight:400; line-height:1.625em; letter-spacing:-0.02em; color:var(--text-secondary);}
.sub-wrap h2 {margin:0 0 24px; font-family:var(--font-sans); font-size:50px; font-weight:600; line-height:1.28em; letter-spacing:-0.02em; color:var(--text-primary);}
.sub-wrap p {max-width:640px; margin:0 auto; font-family:var(--font-sans); font-size:18px; font-weight:400; line-height:1.67em; letter-spacing:-0.02em; color:var(--text-secondary);} 

#contArea {max-width:1420px; padding-left:30px; padding-right:30px; margin:0 auto;}
#contArea.wide {max-width:100%; padding-left:0; padding-right:0;}

.sub-title { position: relative; display: none; } 

.real-cont {min-height:300px; padding-bottom: 150px;}
.real-cont2 { padding-bottom: 0; }

/* 견적 카트 */
.cart-overlay {position:fixed; inset:0; background:rgba(0,0,0,0.4); z-index:1999; opacity:0; pointer-events:none; transition:opacity 0.35s ease;}
.cart-overlay.open {opacity:1; pointer-events:auto;}
.cart-panel {position:fixed; top:0; right:-420px; width:420px; max-width:100vw; height:100vh; background:var(--white); z-index:2000; box-shadow:-4px 0 24px rgba(0,0,0,0.15); transition:right 0.35s ease; display:flex; flex-direction:column; overflow:hidden; font-family:var(--font-sans); font-weight:400; letter-spacing:0; color:var(--text-secondary);}
.cart-panel button,
.cart-panel input,
.cart-panel select {font-family:var(--font-sans); font-weight:400; letter-spacing:0;}
.cart-panel.open {right:0;}
.cart-header {display:flex; flex-shrink:0; justify-content:space-between; align-items:center; padding:24px; border-bottom:1px solid #e8ecf1; background:var(--white);}
.cart-header h3 {margin:0; font-family:var(--font-serif); font-size:24px; font-weight:600; line-height:1.3em; letter-spacing:0; color:var(--text-primary);}
.cart-close {display:flex; align-items:center; justify-content:center; border:0; background:none; padding:4px; color:var(--text-primary); line-height:0; cursor:pointer;}
.cart-items {flex:1 1 auto; min-height:0; overflow-y:auto; padding:24px;}
.cart-empty {margin:0; padding:48px 0; text-align:center; font-family:var(--font-sans); font-size:14px; font-weight:400; line-height:1.7em; letter-spacing:0; color:#878787;}
.cart-empty a {color:var(--text-primary); text-decoration:underline;}
.cart-item {display:flex; gap:16px; padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid #e8ecf1;}
.cart-item-img {flex:0 0 64px; width:64px; height:64px; border-radius:4px; overflow:hidden; background:#f5f7fa;}
.cart-item-img img {width:100%; height:100%; max-width:none; object-fit:cover; display:block;}
.cart-item-info {flex:1 1 auto; min-width:0;}
.cart-item-name {margin:0 0 4px; font-family:var(--font-serif); font-size:16px; font-weight:400; line-height:1.4em; letter-spacing:0; color:var(--text-primary);}
.cart-item-meta {margin:0; font-family:var(--font-sans); font-size:12px; font-weight:400; line-height:1.5em; letter-spacing:0; color:#878787;}
.cart-item-remove {margin-top:8px; padding:0; border:0; background:none; font-family:var(--font-sans); font-size:12px; font-weight:400; line-height:1.5em; letter-spacing:0; color:#878787; cursor:pointer;}
.cart-form {flex-shrink:0; padding:24px; border-top:1px solid #e8ecf1; background:#f5f7fa;}
.cart-form .form-group {margin-bottom:16px;}
.cart-form label {display:block; margin-bottom:6px; font-family:var(--font-sans); font-size:11px; font-weight:400; line-height:1.5em; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-secondary);}
.cart-form input[type="text"],
.cart-form select {width:100%; padding:10px 12px; border:1px solid #e8ecf1; border-radius:4px; background:var(--white); font-family:var(--font-sans); font-size:14px; font-weight:400; line-height:1.5em; letter-spacing:0; color:var(--text-primary);}
.cart-form .radio-group {display:flex; flex-wrap:wrap; gap:16px;}
.cart-form .radio-group input { margin-top: 0 !important ;}
.cart-form .radio-group label {display:flex; align-items:center; gap:6px; margin:0; font-family:var(--font-sans); font-size:13px; font-weight:400; line-height:1.5em; letter-spacing:0; text-transform:none; cursor:pointer;}
.cart-form .btn-submit {width:100%; margin-top:8px; padding:14px; border:0; background:#0a1628; color:var(--white); font-family:var(--font-sans); font-size:12px; font-weight:400; line-height:1.5em; letter-spacing:0.12em; text-transform:uppercase; cursor:pointer; transition:opacity var(--transition);}
.cart-form .btn-submit:hover {opacity:0.85;}

/* 푸터 */
#footer.footer-figma {width:100%; background:#081422; color:rgba(255,255,255,0.7); padding:60px 0; border:0;}
#footer.footer-figma .contain {display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:37px; width:100%; max-width:1440px; padding-left:40px; padding-right:40px;}
#footer.footer-figma .contain:after {content:none; display:none;}
.footer-figma-top {display:flex; align-items:flex-start; justify-content:space-between; gap:48px; width:100%;}
.footer-brand-block {display:flex; flex-direction:column; gap:32px; flex:1 1 420px; max-width:480px;}
.footer-brand-head {display:flex; flex-direction:column; gap:16px;}
.footer-logo {display:block; line-height:0;}
.footer-logo img {display:block; width:auto; height:18px; max-width:none;}
.footer-tagline,
.footer-address {margin:0; font-family:var(--font-sans); font-size:16px; font-weight:400; letter-spacing:-0.02em; line-height:1.625em; color:rgba(255,255,255,0.7);}
.footer-nav-group {display:flex; align-items:flex-start; gap:120px; flex:0 0 auto;}
.footer-figma .footer-col h4 {margin:0 0 24px; font-family:var(--font-sans); font-size:16px; font-weight:600; letter-spacing:-0.02em; line-height:1.625em; color:#fff;}
.footer-figma .footer-col ul {margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px;}
.footer-figma .footer-col li,
.footer-figma .footer-col a {font-family:var(--font-sans); font-size:16px; font-weight:400; letter-spacing:-0.02em; line-height:1.625em; color:rgba(255,255,255,0.7);}
.footer-figma .footer-col a:hover {color:#fff; opacity:1;}
.footer-divider {width:100%; height:1px; margin:0; background:rgba(255,255,255,0.2);}
.footer-bottom {display:flex; align-items:center; justify-content:space-between; gap:24px;}
.footer-copyright {margin:0; font-family:var(--font-sans); font-size:15px; font-weight:400; letter-spacing:-0.02em; line-height:1.67em; color:rgba(255,255,255,0.6);}
.footer-credit {margin-left:8px; color:rgba(255,255,255,0.24);}
.footer-legal {display:flex; align-items:center; gap:20px; flex:0 0 auto;}
.footer-legal a {font-family:var(--font-sans); font-size:15px; font-weight:400; letter-spacing:-0.02em; line-height:1.67em; color:rgba(255,255,255,0.6); white-space:nowrap;}
.footer-legal a:hover {color:#fff; opacity:1;}
.footer-legal-sep {display:block; width:1px; height:12px; background:rgba(255,255,255,0.4);}
.chatbot-fab {position:fixed; right:24px; bottom:24px; z-index:150; width:56px; height:56px; border:0; border-radius:50%; background:#081422; display:flex; align-items:center; justify-content:center; cursor:pointer;}
.chatbot-fab img {width:24px; height:24px; max-width:none; display:block;}