/* ── SECTION (technology padding) ────────── */
.section{padding:7rem 3.5rem;}

/* PAGE HERO */
.page-hero{padding:11rem 3.5rem 5rem;max-width:1300px;margin:0 auto;}
.page-eyebrow{font-family:'Syne',sans-serif;font-size:.65rem;letter-spacing:.28em;color:var(--red);text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:.6rem;margin-bottom:1.6rem;}
.page-eyebrow::before{content:'';width:24px;height:1px;background:var(--red);}
.page-title{font-family:'Noto Sans KR',sans-serif;font-weight:900;font-size:clamp(2.4rem,4.5vw,4rem);line-height:1.18;margin-bottom:1.4rem;}
.page-subtitle{font-size:1rem;color:rgba(255,255,255,.45);line-height:2;max-width:580px;}
.divider{height:1px;background:rgba(255,255,255,.06);}

/* IMAGE PLACEHOLDER / BAND */
.img-ph{position:relative;background:linear-gradient(135deg,#171717 0%,#0c0c0c 72%);border:1px solid rgba(255,255,255,.07);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.img-ph::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 72% 18%,rgba(192,57,43,.16),transparent 58%);}
.img-ph-tag{position:relative;z-index:1;font-family:'Syne',sans-serif;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.34);text-align:center;padding:0 1.6rem;line-height:1.9;}
.img-ph-tag b{display:block;color:rgba(255,255,255,.55);font-weight:700;margin-bottom:.35rem;letter-spacing:.16em;}
.img-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;display:block;}
.img-ph.has-img .img-ph-tag{display:none;}
.img-ph.has-img::before{display:none;}
.tech-band{max-width:1300px;margin:0 auto;padding:0 3.5rem 5rem;position:relative;}
.tech-band .img-ph{aspect-ratio:21/7;border-radius:2px;}
.tech-band.has-img .img-ph.has-img::before{display:block;z-index:1;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,0) 55%);}
.band-cap{position:absolute;z-index:2;left:3.5rem;bottom:5rem;padding:1.7rem 2.2rem;}
.band-cap .l{font-family:'Syne',sans-serif;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:.5rem;}
.band-cap .t{font-family:'Noto Sans KR',sans-serif;font-size:.92rem;font-weight:500;color:rgba(255,255,255,.85);line-height:1.5;text-shadow:0 1px 16px rgba(0,0,0,.6);}

/* PERFORMANCE BARS */
.perf-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.05);margin-bottom:3rem;}
.perf-cell{background:var(--black-2);padding:3rem;}
.perf-label{font-family:'Syne',sans-serif;font-size:.88rem;letter-spacing:.18em;color:var(--red);text-transform:uppercase;font-weight:700;margin-bottom:1.2rem;}
.perf-num{font-family:'Archivo',sans-serif;font-size:clamp(3.2rem,5.5vw,4rem);font-weight:900;line-height:1;color:var(--white);margin-bottom:.3rem;}
.perf-unit{font-size:1rem;color:rgba(255,255,255,.4);font-weight:400;}
.perf-num-multi{display:flex;align-items:baseline;gap:.2em;flex-wrap:wrap;margin-bottom:.5rem;}
.perf-num-item{font-family:'Archivo',sans-serif;font-size:clamp(2.6rem,4.6vw,3.4rem);font-weight:900;line-height:1;color:var(--white);}
.perf-sep{font-family:'Archivo',sans-serif;font-size:1.6rem;font-weight:700;color:var(--red);opacity:.9;align-self:center;}
.perf-unit-multi{font-size:1rem;color:rgba(255,255,255,.4);font-weight:400;margin-left:.15em;}
.perf-desc{font-size:.95rem;color:rgba(255,255,255,.55);line-height:1.75;}

/* SPEC TABLE */
.spec-table{width:100%;border-collapse:collapse;margin-top:0;}
.spec-table thead tr{border-bottom:2px solid rgba(255,255,255,.12);}
.spec-table th{font-family:'Syne',sans-serif;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:700;text-align:left;padding:1.2rem 1.5rem;background:rgba(255,255,255,.03);}
.spec-table td{font-size:1rem;padding:1.2rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.82);}
.spec-table td:first-child{font-weight:700;color:#fff;}
.spec-table tr:last-child td{border-bottom:none;}
.spec-table tr:hover td{background:rgba(255,255,255,.03);}
.spec-badge{display:inline-block;font-family:'Archivo',sans-serif;font-size:.95rem;font-weight:900;padding:4px 14px;background:var(--red);color:#fff;letter-spacing:.02em;vertical-align:middle;margin-left:.5rem;border-radius:2px;}

/* TEST PROCESS */
.test-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:transparent;padding:0;}
.test-step{background:var(--black-2,#111);overflow:hidden;transition:background .3s;border-radius:2px;border:1px solid rgba(255,255,255,.18);}
.test-step:hover{background:var(--black-3);}
.test-step-vis{height:240px;background:var(--black-3);display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.05);position:relative;overflow:hidden;}
.test-step-vis .img-ph{position:absolute;inset:0;border:none;}
.test-step-vis .img-ph img{object-position:center;}
.test-step-icon{width:60px;height:60px;border:1px solid rgba(192,57,43,.3);border-radius:2px;display:flex;align-items:center;justify-content:center;}
.test-step-icon svg{width:28px;height:28px;stroke:var(--red);}
.test-step-num-bg{position:absolute;bottom:8px;left:14px;font-family:'Archivo',sans-serif;font-size:3.2rem;font-weight:900;color:rgba(255,255,255,.75);line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.8);z-index:1;}
.test-step-body{padding:1.6rem 1.8rem;}
.step-num{font-family:'Archivo',sans-serif;font-size:1rem;letter-spacing:.12em;color:var(--red);font-weight:700;margin-bottom:.6rem;}
.step-name{font-weight:700;font-size:1.3rem;margin-bottom:.5rem;color:var(--white);}
.step-desc{font-size:.95rem;color:rgba(255,255,255,.55);line-height:1.75;}

/* CERT SUMMARY + GROUPED LIST */
.cert-summary-bar{display:flex;align-items:center;gap:0;margin:0 auto 3rem;max-width:420px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.22);border-radius:2px;}
.cert-summary-stat{flex:1;padding:1.6rem 2rem;text-align:center;border-right:1px solid rgba(255,255,255,.07);}
.cert-summary-stat:last-child{border-right:none;}
.cert-summary-stat .s-num{font-family:'Archivo',sans-serif;font-size:2.6rem;font-weight:900;color:#fff;line-height:1;}
.cert-summary-stat .s-label{font-family:'Syne',sans-serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-top:.5rem;}

.cert-group{margin-bottom:2.4rem;}
.cert-group:last-child{margin-bottom:0;}
.cert-group-header{display:flex;align-items:baseline;gap:.9rem;margin-bottom:1rem;padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.1);}
.cert-group-title{font-weight:700;font-size:1.1rem;color:#fff;}
.cert-group-count{font-family:'Archivo',sans-serif;font-size:.7rem;font-weight:700;color:var(--red);border:1px solid rgba(192,57,43,.4);padding:2px 10px;border-radius:20px;}
.cert-group-scope{font-size:.76rem;color:rgba(255,255,255,.3);margin-left:auto;}
.cert-mini-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.05);}
.cert-mini-item{background:var(--black-2);padding:1.1rem 1.4rem;transition:background .25s;}
.cert-mini-item:hover{background:var(--black-3);}
.cert-mini-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.35rem;}
.cert-mini-name{font-weight:700;font-size:.92rem;color:#fff;font-family:'Archivo',sans-serif;letter-spacing:.02em;}
.cert-mini-duration{font-family:'Archivo',sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.01em;padding:5px 12px;background:var(--red);color:#fff;border-radius:2px;white-space:nowrap;}
.cert-mini-code{font-size:.74rem;color:rgba(255,255,255,.32);font-family:'Syne',sans-serif;letter-spacing:.03em;margin-bottom:.3rem;}
.cert-mini-frame{font-size:.74rem;color:rgba(255,255,255,.42);}
@media(max-width:640px){.cert-mini-list{grid-template-columns:1fr}.cert-group-header{flex-wrap:wrap}.cert-group-scope{margin-left:0}}
.cert-badge{font-family:'Syne',sans-serif;font-size:.58rem;font-weight:700;padding:4px 12px;background:var(--red);color:#fff;letter-spacing:.08em;white-space:nowrap;}

/* TECH CTA (image background) */
.tech-cta{position:relative;overflow:hidden;padding:5.5rem 3.5rem;text-align:center;}
.tech-cta .cta-bg{position:absolute;inset:0;z-index:0;}
.tech-cta .cta-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.4);}
.tech-cta .cta-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(10,10,10,.9),rgba(10,10,10,.55));}
.tech-cta-inner{position:relative;z-index:1;max-width:760px;margin:0 auto;}
.tech-cta .cta-tag{font-family:'Syne',sans-serif;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:1rem;}
.tech-cta h2{font-size:2rem;line-height:1.3;margin-bottom:1rem;color:#fff;}
.tech-cta p{color:rgba(255,255,255,.7);margin-bottom:2rem;line-height:1.6;}
.tech-cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.tech-cta-btns a{font-family:'Syne',sans-serif;font-size:.82rem;letter-spacing:.04em;padding:.95rem 2rem;border-radius:2px;text-decoration:none;transition:.25s;}
.tech-cta-btns .primary{background:var(--red);color:#fff;}
.tech-cta-btns .primary:hover{background:#d62f3e;}
.tech-cta-btns .ghost{border:1px solid rgba(255,255,255,.35);color:#fff;}
.tech-cta-btns .ghost:hover{background:rgba(255,255,255,.08);}

@media(max-width:768px){
  .page-hero{padding:8rem 1.5rem 3.5rem}
  .section{padding:4rem 1.5rem}
  .perf-grid,.test-steps,.cert-grid{grid-template-columns:1fr}
  .tech-band{padding:0 1.5rem 3rem}
  .band-cap{left:1.5rem;bottom:1.5rem}
  .spec-table-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .spec-table{white-space:nowrap;}
  /* 표가 더 있다는 걸 알려주는 은은한 그림자 페이드 — 오른쪽 끝까지 스크롤하면
     사라진다(스크롤 위치를 감시하는 JS는 base.css의 공용 스크립트에서 처리). */
  .spec-table-wrap::after{
    content:'';position:absolute;top:0;right:0;bottom:0;width:28px;
    background:linear-gradient(to right,transparent,var(--black-2));
    pointer-events:none;transition:opacity .2s;
  }
  .spec-table-wrap.at-end::after{opacity:0;}
}
