@charset "utf-8";
.root_daum_roughmap .wrap_map, .root_daum_roughmap, .direction-map iframe {width:100% !important; height:100% !important;}
.direction-map {position:relative; width:100%; height:420px; margin-top:48px; border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--color-border); background:var(--color-bg-soft);}

/* Sub layout common */
.section--sub-first {padding-top:clamp(40px, calc(60 / var(--inner) * 100vw), 60px);}
.section--flush-y {padding-top:0; padding-bottom:0;}
.biz-grid--sub {margin-top:0;}

/* Cert grid */
.cert-grid {display:grid; grid-template-columns:repeat(4, 1fr); column-gap:24px; row-gap:60px;}
.cert-card {display:flex; flex-direction:column; gap:12px; padding-bottom:0;}
.cert-card__frame {background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);}
.cert-card:hover .cert-card__frame {border-color:var(--color-primary); transform:translateY(-4px); box-shadow:var(--shadow-sm);}
.cert-card__thumb {overflow:hidden; background:#fff; line-height:0;}
.cert-card__thumb img {display:block; width:100%; aspect-ratio:5 / 7; object-fit:cover;}
.cert-card__info {padding:0; text-align:left;}
.cert-card__tag {display:inline-block; margin-bottom:6px; font-size:12px; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:var(--color-primary-dark);}
.cert-card__title {margin:0 0 4px; font-size:18px; font-weight:800; line-height:1.4em; color:var(--color-bg-dark);}
.cert-card__meta {margin:0; font-size:15px; color:var(--color-text-muted);}

/* Map placeholder */
.map-placeholder {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; height:380px; margin-top:48px; padding:48px 24px; text-align:center; background:var(--color-bg-soft); border:1px solid var(--color-border); border-radius:var(--radius-lg);}
.map-placeholder__icon {display:flex; align-items:center; justify-content:center; width:56px; height:56px; border:1px solid rgba(196, 165, 116, 0.45); border-radius:50%; color:var(--color-primary-dark);}
.map-placeholder__icon svg {width:26px; height:26px;}
.map-placeholder__title {margin:0; font-size:18px; font-weight:800; color:var(--color-bg-dark);}
.map-placeholder__desc {margin:0; font-size:14px; color:var(--color-text-muted); line-height:1.65em;}
.map-placeholder__addr {margin:4px 0 0; font-size:15px; font-weight:700; color:var(--color-primary-dark);}

/* Product overview */
.product-overview {display:flex; flex-direction:column; gap:40px;}
.product-overview__intro {display:grid; grid-template-columns:1fr min(432px, 46%); gap:48px; align-items:center;}
.product-overview__head {max-width:none;}
.product-overview__head .section__desc {margin-bottom:0;}
.product-overview__thumb {width:100%; overflow:hidden; border-radius:var(--radius-lg); box-shadow:var(--shadow-md);}
.product-overview__thumb img {display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover;}
.product-overview__points {display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;}
.product-overview__point {padding:24px; background:var(--color-white); border:1px solid var(--color-border); border-radius:var(--radius-md);}
.product-overview__num {display:block; margin-bottom:12px; font-size:13px; font-weight:800; letter-spacing:0.12em; color:var(--color-primary-dark);}
.product-overview__point-title {margin:0 0 10px; font-size:17px; font-weight:800; line-height:1.4em; color:var(--color-bg-dark);}
.product-overview__point-desc {margin:0; font-size:14px; line-height:1.7em; color:var(--color-text-muted);}

/* ALC features grid */
.alc-feat-grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:16px;}
.alc-feat-card {display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:24px; background:#fff; border:1px solid #eee; border-radius:var(--radius-md);}
.alc-feat-card__body {width:100%; min-width:0;}
.alc-feat-card__title {margin:0 0 8px; font-size:17px; font-weight:800; line-height:1.4em; color:var(--color-bg-dark);}
.alc-feat-card__desc {margin:0; font-size:14px; line-height:1.65em; color:var(--color-text-muted);}
.alc-feat-card__icon {flex-shrink:0; display:flex; align-items:center; justify-content:center; width:48px; height:48px; background: #ede7dc; border:1px solid rgba(196, 165, 116, 0.4); border-radius:var(--radius-sm); color:var(--color-primary);}
.alc-feat-card__icon svg {width:24px; height:24px;}

/* Spec table */
.spec-table-wrap {overflow-x:auto; border:1px solid var(--color-border); border-radius:var(--radius-md);}
.spec-table {width:100%; border-collapse:collapse; font-size:14px;}
.spec-table th, .spec-table td {padding:14px 20px; text-align:left; border-bottom:1px solid var(--color-border);}
.spec-table th {background:var(--color-bg-dark); color:var(--color-primary); font-weight:700; white-space:nowrap;}
.spec-table tr:last-child td {border-bottom:0;}
.spec-table td {color:var(--color-text-muted); background:var(--color-white);}
.spec-table tbody td:first-child {font-weight:800; color:var(--color-bg-dark);}
.spec-table tbody td.spec-table__label--primary {color:var(--color-primary-dark);}
.spec-table-note {margin-top:16px; font-size:14px; color:var(--color-text-muted);}

/* Step band (Method) */
.step-band {display:grid; grid-template-columns:repeat(5, 1fr); gap:0; border:1px solid rgba(255, 255, 255, 0.1); border-radius:var(--radius-md); overflow:hidden;}
.step-band__item {padding:32px 20px 28px; background:var(--color-bg-dark); border-right:1px solid rgba(255, 255, 255, 0.08); text-align:center;}
.step-band__item:last-child {border-right:0;}
.step-band__icon {display:flex; align-items:center; justify-content:center; max-width:192px; width: 100%; aspect-ratio:1 / 1; margin:0 auto 16px; border:1px solid rgba(196, 165, 116, 0.35); border-radius:8px; background:var(--color-primary-light); overflow:hidden;}
.step-band__icon img {display:block; width:100%; height:100%; object-fit:contain;}
.step-band__num {display:flex; align-items:center; justify-content:center; width:24px; height:24px; margin:0 auto 10px; border:1.5px solid var(--color-primary); border-radius:50%; font-size:10px; font-weight:800; color:var(--color-primary);}
.step-band__title {margin:0 0 8px; font-size:15px; font-weight:800; color:var(--color-white);}
.step-band__desc {margin:0; font-size:13px; line-height:1.65em; color:rgba(255, 255, 255, 0.6);}

/* Card list (Performance / Gallery) */
.section--perf-list {background:var(--color-bg);}
.card-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(24px, 3vw, 40px);}
.card-list .link-item {display:block; background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg); overflow:hidden; transition:border-color var(--transition), box-shadow var(--transition); text-decoration:none;}
.card-list .link-item:hover {border-color:var(--color-primary); box-shadow:var(--shadow-sm);}
.card-list .link-item .thumb {position:relative; padding-bottom:65%; overflow:hidden; background:var(--color-bg-soft);}
.card-list .link-item .thumb img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform var(--transition);}
.card-list .link-item:hover .thumb img {transform:scale(1.05);}
.card-list .link-item .info {padding:clamp(16px, 2.5vw, 24px);}
.card-list .link-item .info .card-list__region {display:inline-block; margin-bottom:12px; padding:4px 10px; font-size:12px; font-weight:800; letter-spacing:0.06em; color:var(--color-primary-dark); background:var(--color-primary-light); border-radius:var(--radius-sm);}
.card-list .link-item .info .tit {color:var(--color-bg-dark); font-size:clamp(16px, 1.6vw, 20px); font-weight:800; line-height:1.4em; letter-spacing:-0.03em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.card-list .link-item .info .txt {margin-top:12px; color:var(--color-text-muted); font-size:clamp(14px, 1.4vw, 16px); line-height:1.5em; letter-spacing:-0.02em; height:calc(1.5em * 3); overflow:hidden; white-space: normal; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; word-break: break-word;}
.card-list .link-item .info .date {margin-top:14px; color:var(--color-text-muted); font-size:14px; line-height:1.3em;}
