/* Technology: safety-first sequence, site standards panel, legible proof. */
#quality .quality-panel{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,#17144f 0%,#232054 70%,#302c66 100%);color:#fff;padding:38px 40px;box-shadow:0 24px 55px -35px #14085880}
.quality-panel::after{content:"";position:absolute;right:-100px;top:-145px;width:340px;height:340px;border:1px solid #ffffff10;border-radius:50%;pointer-events:none}
.quality-panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.quality-eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:#bdbbd9}.quality-symbol{display:block;width:34px;height:34px;color:#d4d2ed}.quality-symbol svg{width:100%;height:100%}
.quality-panel h3{font-size:clamp(25px,2.4vw,32px);line-height:1.4;letter-spacing:-.035em;margin:0 0 30px;color:#fff;font-weight:750}.quality-checklist{list-style:none;margin:0;padding:0}.quality-checklist li{display:grid;grid-template-columns:34px 1fr;gap:17px;padding:22px 0;border-top:1px solid #ffffff1f}.quality-checklist li:last-child{padding-bottom:0}.quality-step{display:block;font-size:12px;line-height:26px;font-weight:750;color:#b9b6db;letter-spacing:.08em}.quality-checklist h4{font-size:20px;line-height:1.4;margin:0 0 7px;color:#fff;font-weight:700}.quality-checklist p{font-size:16px;line-height:1.75;color:#d6d5e4;margin:0;word-break:keep-all}
#proven .kpi-row{gap:0;background:#fff;border:1px solid #e6e7ef;border-radius:24px;overflow:hidden;margin-top:36px}#proven .kpi{background:transparent;border-radius:0;padding:32px 28px;border-right:1px solid #ececf3;min-width:0}#proven .kpi:last-child{border-right:0}#proven .kpi .l{font-size:16px;color:#626778;margin-bottom:20px;font-weight:600}#proven .kpi .v{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:4px;font-size:clamp(48px,5.2vw,70px);font-weight:800;letter-spacing:-.045em;line-height:1.12;font-variant-numeric:tabular-nums;color:#140858}#proven .kpi .v .kpi-prefix{display:block;flex-basis:100%;font-size:16px;font-weight:650;letter-spacing:0;margin-bottom:6px;color:#626778}#proven .kpi:not(:first-child) .v{padding-top:24px}#proven .kpi .v small{font-size:21px;font-weight:650;color:#e11b22;margin-left:3px;letter-spacing:0}#proven .note{font-size:14px;line-height:1.8;margin-top:20px;color:#747989}
@media(max-width:1100px){#proven .kpi{padding:28px 19px}#proven .kpi .v{font-size:52px}}
@media(max-width:900px){#quality .quality-panel{padding:32px}.quality-panel h3{font-size:29px}#proven .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}#proven .kpi{padding:28px}#proven .kpi:nth-child(2){border-right:0}#proven .kpi:nth-child(-n+2){border-bottom:1px solid #ececf3}#proven .kpi .v{font-size:60px}#proven .kpi:nth-child(n+3) .v{padding-top:0}}
@media(max-width:520px){#quality .quality-panel{padding:27px 23px;border-radius:19px}.quality-panel h3{font-size:25px;margin-bottom:24px}.quality-checklist li{gap:11px;grid-template-columns:28px 1fr;padding:20px 0}.quality-checklist h4{font-size:20px}.quality-checklist p{font-size:16px}#proven .kpi{padding:25px 18px}#proven .kpi .l{font-size:14px;margin-bottom:16px}#proven .kpi .v{font-size:46px}#proven .kpi .v small{font-size:17px}#proven .kpi .v .kpi-prefix{font-size:14px}#proven .note{font-size:13px}}

/* 기술력 상단 과정 영상 */
.sub-hero .visual.tech-film{aspect-ratio:16/9;align-self:center;background:#0a0930}
.sub-hero .visual.tech-film video{width:100%;height:100%;object-fit:cover;display:block}


/* Safety section illustration */
.tp-ill{margin:4px 0 22px;border-radius:18px;overflow:hidden;background:#eef3fb;box-shadow:0 18px 40px -24px rgba(20,8,88,.35)}
.tp-ill img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}

/* 안전 강점 카드: 이미지 배너 */
.tp-cards.tp-cards-media{gap:16px}
.tp-cards-media>div{padding:0;overflow:hidden;border:1px solid #e3e7f1;border-radius:18px;background:#fff;box-shadow:0 14px 34px -26px rgba(20,8,88,.45);transition:transform .35s ease,box-shadow .35s ease;display:flex;flex-direction:column}
.tp-cards-media>div:hover{transform:translateY(-4px);box-shadow:0 22px 44px -24px rgba(20,8,88,.5)}
.tp-cards-media figure{margin:0;position:relative;background:#eef3fb;overflow:hidden}
.tp-cards-media figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease}
.tp-cards-media>div:hover figure img{transform:scale(1.04)}
.tp-cards-media figure::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,rgba(255,255,255,.9),rgba(255,255,255,0))}
.tp-cards-media .tc-body{padding:4px 22px 24px;position:relative}
.tp-cards-media .tc-n{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.08em;color:#e11b22;margin-bottom:6px}
.tp-cards-media b{font-size:18px}
@media(max-width:900px){.tp-cards-media>div{flex-direction:row;align-items:stretch}.tp-cards-media figure{flex:0 0 40%}.tp-cards-media figure img{height:100%;aspect-ratio:auto}.tp-cards-media figure::after{display:none}.tp-cards-media .tc-body{padding:18px 18px 18px}}
@media(max-width:520px){.tp-cards-media>div{flex-direction:column}.tp-cards-media figure{flex:none}.tp-cards-media figure img{aspect-ratio:16/10}}
/* 등록 특허 목록 */
.patent-list{margin:34px 0 8px;padding:26px 28px;border-radius:18px;background:#fff;border:1px solid #e3e7f1}
.patent-list h3{margin:0 0 14px;font-size:19px;color:#140858}
.patent-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 28px}
.patent-list li{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid #eef0f6;font-size:16px;line-height:1.55}
.patent-list .py{flex:0 0 auto;font-weight:800;color:#e11b22;font-size:14px;letter-spacing:.04em}
.patent-list b{font-weight:600;color:#23263a}
@media(max-width:700px){.patent-list ul{grid-template-columns:1fr}.patent-list{padding:22px 20px}}

/* 현장 기반 3D 검토 */
.tp-site-film{margin:24px 0;border:1px solid #e2e7f0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 18px 40px -28px #14085855}
.tp-site-film video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#091837}
.tp-site-film figcaption{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;padding:18px 22px;align-items:center}
.tp-site-film figcaption b{font-size:18px;color:#140858}
.tp-site-film figcaption span{font-size:14px;color:#73798a}
.tp-field-points{list-style:none;margin:24px 0;padding:0;display:grid;gap:0}
.tp-field-points li{padding:18px 0;border-bottom:1px solid #e4e8f1;display:grid;grid-template-columns:190px 1fr;gap:18px}
.tp-field-points b{color:#140858;font-size:18px}
.tp-field-points span{color:#555d6c;font-size:16px;line-height:1.7}
@media(max-width:600px){.tp-field-points li{grid-template-columns:1fr;gap:6px}.tp-site-film figcaption{padding:16px}.tp-site-film figcaption span{line-height:1.6}}

/* 공식 로고: 협력사 및 공공기관 사업 경험 */
.partner-group{margin:26px 0}
.partner-group h3{font-size:18px;color:#140858;margin:0 0 14px}
.partner-logos li{border:1px solid #e0e5ee;border-radius:16px;text-align:center;padding:24px 16px;background:#fff;box-shadow:0 14px 32px -28px #14085866}
.partner-logos .partner-mark{height:78px;margin:0 0 20px;display:flex;align-items:center;justify-content:center}
.partner-mark img{display:block;max-width:100%;width:180px;max-height:64px;object-fit:contain}
.partner-logos b{font-size:17px;letter-spacing:-.5px}
.partner-logos span{font-size:14px;line-height:1.55}
.partner-public{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.partner-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-public{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.partner-logos{grid-template-columns:1fr}.partner-logos li{padding:24px}.partner-mark img{width:200px}.partner-logos b{font-size:18px}.partner-logos span{font-size:15px}}

.partner-mark img[src$="gs-enc.png"]{width:122px}

/* 로고만 표시, 기업/공공기관 구분 없음 */
.partner-logos-only{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:28px 0}
.partner-logos-only li{grid-column:span 2;padding:24px 18px}
.partner-logos-only li:nth-child(4){grid-column:2 / span 2}
.partner-logos-only .partner-mark{height:74px;margin:0}
@media(max-width:600px){.partner-logos-only{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.partner-logos-only li{grid-column:auto;padding:20px 12px}.partner-logos-only li:nth-child(4){grid-column:auto}.partner-logos-only li:last-child{grid-column:1 / -1;max-width:calc(50% - 6px);width:100%;justify-self:center}.partner-logos-only .partner-mark{height:60px}}

.tp-site-model{margin:24px 0;border:1px solid #e2e7f0;border-radius:18px;overflow:hidden;background:white}
.tp-site-model>img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.tp-site-model figcaption{padding:18px 22px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between}
.tp-site-model figcaption b{font-size:18px;color:#140858}
.tp-site-model figcaption span{font-size:14px;color:#73798a;line-height:1.7}
