@charset "utf-8";

/* GVS page content */
.main-hero {--hero-point:var(--gvs-accent-light); --hero-action:#176fae;}
.eyebrow {display:flex; align-items:center; gap:10px; margin-bottom:32px; color:var(--hero-point); font-size:12px; font-weight:800; letter-spacing:.2em;}
.eyebrow-line {width:24px; height:1px; background:currentColor;}
.hero-copy h2 {color:#fff; font-size:clamp(50px,4.3vw,78px); font-weight:800; line-height:1.23; letter-spacing:-.068em;}
.hero-copy h2 em {font-style:normal; color:var(--hero-point);}
.hero-lead {max-width:510px; margin-top:35px; color:rgba(255,255,255,.7); font-size:16px; line-height:1.85; word-break:keep-all;}
.hero-actions {display:flex; align-items:center; gap:30px; margin-top:52px;}
.btn-primary {display:inline-flex; align-items:center; justify-content:space-between; gap:44px; padding:18px 22px; color:#fff; background:var(--hero-action); font-size:14px; font-weight:800;}
.btn-primary:hover {background:#fff; color:var(--gvs-ink);}
.btn-primary span {font-size:19px; line-height:1;}
.btn-text {display:inline-flex; gap:16px; align-items:center; padding:16px 0; color:#fff; border-bottom:1px solid rgba(255,255,255,.5); font-size:14px; font-weight:700;}
.btn-text:hover {color:var(--hero-point);}
.hero-index {display:flex; justify-content:space-between; align-items:center; margin-top:100px; color:rgba(255,255,255,.66); font-size:10px; font-weight:800; letter-spacing:.14em;}
.hero-slide-controls {position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(16px,2.4vw,48px); pointer-events:none;}
.hero-slide-controls button {display:flex; align-items:center; justify-content:center; width:68px; height:68px; border:1px solid rgba(255,255,255,.9); border-radius:50%; background:rgba(5,25,43,.32); box-shadow:0 6px 24px rgba(0,0,0,.18); color:#fff; font-size:32px; line-height:1; cursor:pointer; pointer-events:auto; transition:background .2s,color .2s,border-color .2s,transform .2s;}
.hero-slide-controls button:hover,.hero-slide-controls button:focus-visible {background:var(--hero-action); border-color:var(--hero-point); color:#fff; transform:scale(1.06);}
.section-kicker {margin-bottom:23px; color:var(--gvs-blue); font-size:12px; font-weight:850; letter-spacing:.19em;}
.intro-content h2 {font-size:clamp(32px,3.3vw,53px); font-weight:800; line-height:1.42; letter-spacing:-.055em;}
.intro-content h2 span {color:var(--gvs-blue);}
.intro-content>p:not(.section-kicker) {max-width:760px; margin-top:34px; color:#5e6f7d; font-size:17px; line-height:1.9; word-break:keep-all;}
.intro-media {position:relative; align-self:stretch; min-height:470px; margin:0; overflow:hidden; background:#dcecf1;}
.intro-media img {display:block; width:100%; height:100%; min-height:470px; object-fit:cover;}
.intro-media figcaption {position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column; gap:8px; padding:64px 24px 24px; background:linear-gradient(transparent,rgba(5,28,48,.83)); color:#fff; font-size:15px; font-weight:750;}
.intro-media figcaption span {color:var(--gvs-accent-light); font-size:10px; letter-spacing:.17em;}
.arrow-link {display:inline-flex; gap:52px; align-items:center; margin-top:35px; padding-bottom:12px; border-bottom:1px solid var(--gvs-ink); color:var(--gvs-ink); font-size:14px; font-weight:750;}
.arrow-link span {font-size:21px; color:var(--gvs-blue);}
.section-heading h2 {font-size:clamp(38px,3.6vw,58px); font-weight:800; line-height:1.28; letter-spacing:-.06em;}
.section-intro {color:#617382; font-size:15px; line-height:1.8; word-break:keep-all;}
.service-list {border-top:2px solid var(--gvs-ink);}
.service-row {display:grid; grid-template-columns:45px 64px minmax(0,1fr) 150px 30px; gap:22px; align-items:center; min-height:136px; padding:25px 18px; border-bottom:1px solid #cbdce4; transition:background .2s,padding .2s;}
.service-row:hover {background:#e7f1f5; padding-left:28px;}
.service-number {align-self:start; padding-top:7px; color:var(--gvs-blue); font-size:13px; font-weight:800;}
.service-icon {display:block; width:64px; height:64px; padding:12px; background:#fff; border:1px solid #c9dce5;}
.service-row h3 {font-size:clamp(23px,2.4vw,34px); font-weight:750; letter-spacing:-.04em;}
.service-row p {margin-top:8px; color:#70808c; font-size:14px;}
.service-tag {color:#899ba7; font-size:11px; font-weight:800; letter-spacing:.14em;}
.service-arrow {font-size:28px; font-weight:300; color:var(--gvs-blue);}
.approach-heading .section-aside {margin-bottom:100px; color:var(--gvs-accent-light);}
.approach-heading .section-kicker {color:var(--gvs-accent-light);}
.approach-heading h2 {font-size:clamp(39px,3.4vw,55px); font-weight:800; line-height:1.32; letter-spacing:-.06em;}
.approach-heading>p:not(.section-kicker) {max-width:425px; margin-top:31px; color:rgba(255,255,255,.66); font-size:16px; line-height:1.85;}
.approach-icon {display:block; width:132px; height:132px; margin-top:35px; opacity:.8;}
.approach-steps {display:grid; grid-template-columns:1fr 1fr; list-style:none; margin:0; padding:0;}
.approach-steps li {min-height:238px; padding:35px; border-top:1px solid rgba(255,255,255,.28); border-left:1px solid rgba(255,255,255,.28); background:rgba(5,25,43,.45); transition:background .25s,color .25s;}
.approach-steps li:nth-child(even) {border-right:1px solid rgba(255,255,255,.28);}
.approach-steps li:nth-child(n+3) {border-bottom:1px solid rgba(255,255,255,.28);}
.approach-steps li>span {color:var(--gvs-accent-light); font-size:11px; font-weight:800; letter-spacing:.13em;}
.approach-steps strong {display:block; margin-top:44px; font-size:22px; letter-spacing:-.04em;}
.approach-steps p {margin-top:10px; color:rgba(255,255,255,.58); font-size:13px; line-height:1.7;}
.approach-steps li:hover {background:#e8f3f5; color:var(--gvs-ink);}
.approach-steps li:hover>span {color:var(--gvs-blue);}
.approach-steps li:hover p {color:#526b7b;}
.update-panel {position:relative; min-height:360px; padding:44px; background:#dcecf1;}
.update-panel-light {background:#eff4f5;}
.update-icon {position:absolute; top:32px; right:40px; width:76px; height:76px; opacity:.88;}
.update-type {color:var(--gvs-blue); font-size:11px; font-weight:850; letter-spacing:.15em;}
.update-panel h3 {margin-top:72px; font-size:35px; font-weight:800; letter-spacing:-.05em;}
.update-panel p {max-width:430px; margin-top:17px; color:#526b7b; font-size:15px; line-height:1.8;}
.update-link {display:inline-flex; justify-content:space-between; align-items:center; gap:32px; min-width:174px; margin-top:30px; padding:12px 0; border-bottom:1px solid var(--gvs-ink); color:var(--gvs-ink); font-size:14px; font-weight:800;}
.update-link span {color:var(--gvs-blue); font-size:20px; line-height:1;}
.update-link:hover {color:var(--gvs-blue); border-color:var(--gvs-blue);}
.contact-grid .section-kicker {margin-bottom:26px;}
.contact-icon {display:block; width:66px; height:66px; margin-bottom:26px;}
.contact-grid h2,.contact-grid h3 {font-size:clamp(39px,3.3vw,54px); font-weight:800; line-height:1.25; letter-spacing:-.06em;}
.contact-intro {max-width:500px; margin-top:28px; color:#536d7a; font-size:16px; line-height:1.8;}
.contact-secondary .section-kicker {color:var(--gvs-accent-light);}
.contact-secondary h3 {max-width:550px;}
.contact-secondary .contact-intro {color:#b7d0d8;}
.contact-action {display:flex; justify-content:space-between; align-items:center; width:100%; max-width:460px; margin-top:auto; padding:16px 0; border-top:1px solid currentColor; border-bottom:1px solid currentColor; color:var(--gvs-ink); font-size:clamp(18px,1.6vw,24px); font-weight:800; letter-spacing:-.04em;}
.contact-action span {color:var(--gvs-blue); font-size:26px; line-height:1;}
.contact-action:hover {color:var(--gvs-blue);}
.contact-secondary .contact-action {color:#fff;}
.contact-secondary .contact-action span {color:var(--gvs-accent-light);}
.contact-secondary .contact-action:hover {color:var(--gvs-accent-light);}
.greeting-layout {display:grid; grid-template-columns:35% 65%; gap:0; border-top:1px solid var(--gvs-line);}
.greeting-aside {display:flex; flex-direction:column; align-items:flex-start; min-height:640px; padding:48px 12% 40px 38px; color:#fff; background:linear-gradient(90deg,rgba(5,39,67,.90),rgba(9,91,150,.70)),url('../images/main/intro.webp') center/cover no-repeat;}
.greeting-aside>span {font-size:11px; font-weight:800; letter-spacing:.16em;}
.greeting-aside strong {margin-top:110px; font-size:clamp(25px,2.2vw,35px); line-height:1.48; letter-spacing:-.05em;}
.greeting-rule {flex:1; width:1px; min-height:110px; margin:40px 0 25px; background:rgba(255,255,255,.5);}
.greeting-copy {padding:50px 0 20px 10%;}
.greeting-overline {color:var(--gvs-blue); font-size:11px; font-weight:800; letter-spacing:.17em;}
.greeting-copy h3 {margin:22px 0 45px; font-size:clamp(30px,2.6vw,42px); font-weight:800; line-height:1.4; letter-spacing:-.055em;}
.greeting-copy>p:not(.greeting-overline) {margin:0 0 21px; color:#425768; font-size:16px; line-height:2; word-break:keep-all;}
.greeting-copy .greeting-sign {margin-top:50px!important; color:var(--gvs-ink)!important; font-weight:800;}
.business-intro {max-width:850px; margin-bottom:70px;}
.business-intro h3,.location-intro h3 {font-size:clamp(32px,3vw,48px); line-height:1.35; letter-spacing:-.05em;}
.business-intro>p:last-child,.location-intro>p:last-child {margin-top:25px; color:#526b7b; font-size:17px; line-height:1.8; word-break:keep-all;}
.business-list {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--gvs-line); border-left:1px solid var(--gvs-line);}
.business-list section {min-height:260px; padding:45px; border-right:1px solid var(--gvs-line); border-bottom:1px solid var(--gvs-line); scroll-margin-top:120px;}
.business-list section span,.location-contact span {display:block; color:var(--gvs-blue); font-size:11px; font-weight:800; letter-spacing:.16em;}
.business-list h4 {margin-top:58px; font-size:clamp(22px,2vw,32px); letter-spacing:-.04em;}
.business-list p {margin-top:12px; color:#526b7b; font-size:15px; line-height:1.75;}
.location-intro {max-width:760px; margin-bottom:70px;}
.location-contact {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;}
.location-contact div {padding:35px; background:#edf5f7;}
.location-contact a {display:inline-block; margin-top:25px; color:var(--gvs-ink); font-size:clamp(18px,2vw,28px); font-weight:750; overflow-wrap:anywhere;}
@media(max-width:700px){.business-list,.location-contact {grid-template-columns:1fr;}.business-list section {min-height:210px;padding:30px;}.business-list h4 {margin-top:40px;}}
.policy-note {max-width:900px; padding:55px 65px; background:#f1f6f8; border-left:3px solid var(--gvs-blue);}
.policy-overline {color:var(--gvs-blue); font-size:11px; font-weight:850; letter-spacing:.17em;}
.policy-note h3 {margin:22px 0 28px; font-size:clamp(27px,3vw,38px); font-weight:800; letter-spacing:-.045em;}
.policy-note p:not(.policy-overline) {margin-top:17px; color:#4d6573; font-size:16px; line-height:1.9; word-break:keep-all;}
.policy-note a {color:var(--gvs-blue); font-weight:750; text-decoration:underline;}
.board-tab {margin-bottom:var(--space-40); border-bottom:1px solid var(--gvs-line);}
.board-tab .list {display:flex; flex-wrap:nowrap; gap:0; margin:0; padding:0; list-style:none; overflow-x:auto;}
.board-tab .list li {flex:0 0 auto;}
.board-tab .list button {display:block; min-width:160px; padding:0 var(--space-30); border:0; border-bottom:3px solid transparent; background:none; color:#526b7b; font-size:var(--font-size-16); font-weight:700; line-height:56px; cursor:pointer; white-space:nowrap;}
.board-tab .list li.active button {border-bottom-color:var(--gvs-blue); color:var(--gvs-blue);}
.board-tabpanel.is-off {display:none;}
/* doc.css는 디자인페이지 스타일을 정의합니다. */

/* 확정 2차 — 전체 서브페이지 */
.service-overview {display:grid; grid-template-columns:1.08fr 1fr; gap:65px; align-items:center;}
.service-overview-copy h3 {font-size:clamp(32px,3vw,46px); line-height:1.4; letter-spacing:-.055em; font-weight:800;}
.service-overview-copy>p:last-child {max-width:650px; margin-top:28px; color:#526b7b; font-size:17px; line-height:1.95; word-break:keep-all;}
.service-overview-media {position:relative; height:345px; margin:0; overflow:hidden; background:var(--gvs-ink);}
.service-overview-media img {display:block; width:100%; height:100%; object-fit:cover;}
.service-overview-media:after {content:""; position:absolute; inset:0; background:linear-gradient(transparent 30%,rgba(5,25,43,.86));}
.service-overview-media figcaption {position:absolute; z-index:1; bottom:30px; left:32px; right:25px; color:#fff;}
.service-overview-media figcaption span {display:block; margin-bottom:12px; color:var(--gvs-accent-light); font-size:10px; font-weight:800; letter-spacing:.16em;}
.service-overview-media figcaption strong {font-size:23px; font-weight:750; line-height:1.4;}
.sub-content-section {margin-top:110px;}
.sub-section-head {display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-bottom:38px;}
.sub-section-head .section-kicker {margin-bottom:18px;}
.sub-section-head h3 {font-size:clamp(29px,2.7vw,40px); font-weight:800; letter-spacing:-.05em; line-height:1.4;}
.sub-section-head>p {max-width:430px; color:#617382; font-size:15px; line-height:1.9; word-break:keep-all;}
.expertise-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--gvs-line); border-left:1px solid var(--gvs-line);}
.expertise-grid article {position:relative; min-height:190px; padding:34px 35px 32px 105px; border-right:1px solid var(--gvs-line); border-bottom:1px solid var(--gvs-line); background:#f5f8fa;}
.expertise-grid article:last-child:nth-child(odd) {grid-column:1/-1;}
.expertise-icon {position:absolute; left:32px; top:34px; color:var(--gvs-blue);}
.expertise-icon svg {width:40px; height:40px;}
.expertise-grid h4 {margin-top:5px; font-size:21px; font-weight:750; line-height:1.5; letter-spacing:-.025em;}
.expertise-grid p {margin-top:14px; color:#617382; font-size:15px; line-height:1.8; word-break:keep-all;}
.process-list {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:0; padding:0; list-style:none; counter-reset:process;}
.process-list>li {position:relative; min-width:0; min-height:240px; padding:30px; border:1px solid var(--gvs-line); border-top:3px solid var(--gvs-blue); background:#fff;}
.process-number {color:var(--gvs-blue); font-size:12px; font-weight:850; letter-spacing:.12em;}
.process-icon {position:absolute; right:27px; top:24px; color:var(--gvs-blue);}
.process-icon svg {width:32px; height:32px;}
.process-list h4 {margin-top:45px; font-size:21px; font-weight:800; line-height:1.5; letter-spacing:-.04em; overflow-wrap:break-word;}
.process-list p {margin-top:14px; color:#617382; font-size:14px; line-height:1.85; word-break:keep-all;}
.process-list>li:not(:last-child):after {content:"→"; position:absolute; z-index:1; right:-18px; top:50%; width:18px; color:var(--gvs-blue); font-size:19px; line-height:1;}
.process-list>li:nth-child(3n):after {display:none;}
.process-seven {grid-template-columns:repeat(4,minmax(0,1fr));}
.process-seven>li {padding:25px;}
.process-seven h4 {font-size:19px;}
.process-seven>li:nth-child(3n):after {display:block;}
.process-seven>li:nth-child(4n):after {display:none;}
.calibration-columns {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px;}
.calibration-columns>section {padding:35px; background:#f1f6f8;}
.calibration-heading {padding:5px 0 30px; border-bottom:1px solid #ccdce6;}
.calibration-heading>span {color:var(--gvs-blue); font-size:11px; font-weight:800; letter-spacing:.14em;}
.calibration-heading h4 {margin-top:18px; font-size:32px; font-weight:800; letter-spacing:-.04em;}
.calibration-heading p {margin-top:16px; color:#617382; font-size:15px; line-height:1.8;}
.process-vertical {display:block; margin-top:30px;}
.process-vertical>li {min-height:145px; margin-top:20px; padding:25px 65px 25px 72px; border-top:1px solid var(--gvs-line);}
.process-vertical .process-number {position:absolute; left:25px; top:30px;}
.process-vertical .process-icon {right:22px; top:28px;}
.process-vertical .process-icon svg {width:26px; height:26px;}
.process-vertical h4 {margin-top:0; font-size:19px;}
.process-vertical p {margin-top:9px;}
.process-vertical>li:not(:last-child):after,.process-vertical>li:nth-child(3n):after {content:"↓"; display:block; top:auto; bottom:-19px; right:50%; font-size:18px;}
.qualification-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--gvs-line); border-left:1px solid var(--gvs-line);}
.qualification-grid article {position:relative; padding:28px 26px 24px; border-bottom:1px solid var(--gvs-line); border-right:1px solid var(--gvs-line);}
.qualification-grid article>span {display:inline-flex; align-items:center; min-height:34px; color:var(--gvs-blue); font-size:24px; font-weight:800; letter-spacing:-.03em;}
.qualification-grid h4 {margin-top:18px; color:var(--gvs-ink); font-size:18px; font-weight:750; line-height:1.45; transition:opacity .2s ease;}
.qualification-grid p {margin-top:12px; color:#617382; font-size:13px; line-height:1.8;}
.qualification-grid article {cursor:pointer; transition:background-color .2s ease;}
.qualification-grid article > p:not(.qual-desc) {transition:opacity .2s ease;}
.qualification-grid .qual-desc {position:absolute; left:26px; right:26px; top:70px; bottom:22px; margin:0; max-height:none; overflow:hidden; opacity:0; color:#fff; font-size:14px; line-height:1.65; word-break:keep-all; transition:opacity .2s ease;}
.qualification-grid article:hover,
.qualification-grid article:focus-within {background:var(--gvs-blue);}
.qualification-grid article:hover > span,
.qualification-grid article:focus-within > span,
.qualification-grid article:hover h4,
.qualification-grid article:focus-within h4,
.qualification-grid article:hover p,
.qualification-grid article:focus-within p {color:#fff;}
.qualification-grid article:hover h4,
.qualification-grid article:focus-within h4,
.qualification-grid article:hover > p:not(.qual-desc),
.qualification-grid article:focus-within > p:not(.qual-desc) {opacity:0;}
.qualification-grid article:hover .qual-desc,
.qualification-grid article:focus-within .qual-desc {opacity:1;}

.document-system {display:grid; grid-template-columns:1.3fr 1fr; gap:65px; align-items:center; padding:45px; background:#edf5f8;}
.document-system ol {display:flex; flex-direction:column; align-items:center; gap:9px; margin:0; padding:0; list-style:none;}
.document-system li {display:flex; flex-direction:column; align-items:center; gap:8px; width:100%; padding:22px 15px; background:#0b2034; color:#fff; text-align:center;}
.document-system li:nth-child(1) {width:45%; background:#106eb5;}
.document-system li:nth-child(2) {width:63%; background:#155b93;}
.document-system li:nth-child(3) {width:81%; background:#10436d;}
.document-system strong {font-size:19px; line-height:1.4;}
.document-system li span {color:#d0e6f5; font-size:12px; line-height:1.6;}
.document-system h4 {font-size:30px; font-weight:800; line-height:1.45; letter-spacing:-.045em;}
.document-system>div>p:last-child {margin-top:24px; color:#617382; font-size:15px; line-height:1.9;}
.facility-promise {margin-top:100px; padding:65px; color:#fff; background:linear-gradient(90deg,rgba(5,25,43,.94),rgba(5,25,43,.72)),url('../images/main/approach-bg.webp') center/cover;}
.facility-promise .section-kicker {color:var(--gvs-accent-light);}
.facility-promise h3 {font-size:clamp(29px,2.7vw,40px); font-weight:800; line-height:1.5; letter-spacing:-.04em;}
.facility-promise em {color:var(--gvs-accent-light); font-style:normal;}
.facility-promise>p:last-child {margin-top:25px; color:#c1d8e7; font-size:16px; line-height:1.9;}
.service-inquiry {display:flex; align-items:center; justify-content:space-between; gap:50px; margin-top:100px; padding:50px 55px; color:#fff; background:var(--gvs-ink);}
.service-inquiry .section-kicker {color:var(--gvs-accent-light); font-size:10px;}
.service-inquiry h3 {font-size:clamp(27px,2.6vw,36px); font-weight:800; line-height:1.4; letter-spacing:-.05em;}
.service-inquiry p:last-child {margin-top:20px; color:#abc3d4; font-size:14px;}
.service-inquiry>a {display:flex; flex:0 0 220px; align-items:center; justify-content:space-between; gap:30px; padding:20px 0; border-top:1px solid #7896ac; border-bottom:1px solid #7896ac; color:#fff; font-size:16px; font-weight:750;}
.service-inquiry>a span {color:var(--gvs-accent-light); font-size:24px;}
.service-inquiry>a:hover {color:var(--gvs-accent-light);}
.organization-intro {margin-bottom:65px;}
.organization-chart {padding:55px 35px 45px; border-top:1px solid var(--gvs-line); background:#f4f8fa;}
.organization-ceo {position:relative; width:270px; margin:0 auto; padding:30px; color:#fff; background:var(--gvs-blue); text-align:center;}
.organization-ceo>span {font-size:11px; font-weight:800; letter-spacing:.16em;}
.organization-ceo h3 {margin-top:16px; font-size:29px; font-weight:800;}
.organization-ceo:after {content:""; position:absolute; top:100%; left:50%; height:45px; width:1px; background:#91adbf;}
.organization-branches {position:relative; display:grid; grid-template-columns:1fr 2fr; gap:55px; margin:90px 75px 0;}
.organization-branches:before {content:""; position:absolute; top:-45px; left:calc((100% - 55px)/6); right:calc((100% - 55px)/3); height:1px; background:#91adbf;}
.organization-branch {position:relative; padding:28px 15px; border:1px solid #a7bdcc; background:#fff; text-align:center;}
.organization-branch:before {content:""; position:absolute; top:-45px; left:50%; width:1px; height:45px; background:#91adbf;}
.organization-branch>span {color:var(--gvs-blue); font-size:10px; font-weight:800; letter-spacing:.12em;}
.organization-branch h4 {margin-top:15px; font-size:23px; font-weight:800; letter-spacing:-.035em;}
.organization-technical {border-color:var(--gvs-ink); background:var(--gvs-ink); color:#fff;}
.organization-technical>span {color:var(--gvs-accent-light);}
.organization-specialties {position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin-top:80px;}
.organization-specialties:before {content:""; position:absolute; left:calc((100% - 56px)/10); right:calc((100% - 56px)/10); top:-28px; height:1px; background:#91adbf;}
.organization-specialties:after {content:""; position:absolute; left:calc(66.666667% - 6.666667px); top:-80px; width:1px; height:52px; background:#91adbf;}
.organization-specialties article {position:relative; padding:25px 18px; border:1px solid #c9dae4; background:#fff; text-align:center;}
.organization-specialties article:before {content:""; position:absolute; left:50%; top:-28px; width:1px; height:28px; background:#91adbf;}
.organization-specialties article>span {display:block; color:var(--gvs-blue);}
.organization-specialties svg {width:36px; height:36px;}
.organization-specialties h4 {min-height:58px; margin-top:22px; font-size:17px; font-weight:750; line-height:1.6; overflow-wrap:break-word;}
.organization-specialties p {margin-top:13px; color:#6c8190; font-size:12px; line-height:1.7;}
.organization-note {margin-top:23px; color:#7d95a4; text-align:right; font-size:10px; font-weight:750; letter-spacing:.16em;}
.business-detail-link {display:flex; justify-content:space-between; gap:20px; margin-bottom:15px; color:var(--gvs-blue); font-size:13px; font-weight:800;}

/* 오시는길 — 확정 시안의 블루·선형 레이아웃 */
.location-page-intro {margin-bottom:50px;}
.location-map-top {display:flex; align-items:center; justify-content:space-between; gap:25px; padding:20px 0; border-top:2px solid var(--gvs-ink);}
.location-map-top>span {color:var(--gvs-blue); font-size:11px; font-weight:800; letter-spacing:.17em;}
.location-map-top>a {display:flex; align-items:center; gap:30px; color:var(--gvs-ink); font-size:14px; font-weight:750;}
.location-map-top>a>span {color:var(--gvs-blue); font-size:22px;}
.location-map-top>a[hidden] {display:none;}
.location-guide-map {position:relative; height:480px; border:1px solid var(--gvs-line); overflow:hidden; background:#edf3f7;}
.location-map-canvas {position:absolute; inset:0; width:100%; height:100%;}
.location-map-placeholder {position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:30px; background:#edf3f7; color:#526e80; font-size:16px; font-weight:700;}
.location-map-placeholder[hidden] {display:none;}
.location-map-card {display:flex; align-items:center; flex-direction:column; width:330px; padding:30px; border:1px solid rgba(255,255,255,.45); background:var(--gvs-ink); color:#fff; text-align:center; box-shadow:0 10px 35px rgba(11,32,52,.13);}
.location-map-card>svg {width:44px; height:44px; margin-bottom:18px; color:var(--gvs-accent-light);}
.location-map-card>span {color:var(--gvs-accent-light); font-size:9px; font-weight:750; letter-spacing:.17em;}
.location-map-card>strong {margin-top:14px; font-size:24px; font-weight:800; letter-spacing:-.04em;}
.location-map-card>p {margin-top:15px; color:#bad0df; font-size:14px; line-height:1.8;}
.location-map-card>a {display:flex; justify-content:space-between; align-items:center; align-self:stretch; gap:20px; margin-top:24px; padding-top:17px; border-top:1px solid #557187; color:#fff; font-size:16px; font-weight:750;}
.location-map-card>a>span {color:var(--gvs-accent-light); font-size:20px;}
.location-map-preview {position:absolute; left:20px; bottom:16px; right:20px; color:#526e80; font-size:10px; font-weight:650; text-align:right; letter-spacing:.03em;}
.location-details {display:grid; grid-template-columns:1.05fr 1fr; gap:65px; margin-top:40px;}
.location-address-panel {position:relative; padding:40px; background:#eff5f8;}
.location-detail-icon {position:absolute; right:35px; top:35px; color:var(--gvs-blue);}
.location-detail-icon svg {width:38px; height:38px;}
.location-address-panel .section-kicker {margin-bottom:32px; font-size:10px;}
.location-address-panel h3 {font-size:27px; font-weight:800; letter-spacing:-.045em;}
.location-address-panel address {margin-top:23px; color:#415e70; font-size:17px; font-style:normal; line-height:1.8; word-break:keep-all;}
.location-address-note {margin-top:20px; color:#6a8190; font-size:13px; line-height:1.8;}
.location-contact-rows {display:flex; flex-direction:column; justify-content:center; border-top:1px solid var(--gvs-line);}
.location-contact-rows>div {display:grid; grid-template-columns:135px minmax(0,1fr); gap:20px; padding:29px 0; border-bottom:1px solid var(--gvs-line);}
.location-contact-rows dt {color:var(--gvs-blue); font-size:10px; font-weight:800; letter-spacing:.13em;}
.location-contact-rows dt>span {display:block; margin-top:9px; color:#6b8190; font-size:12px; font-weight:400; letter-spacing:0;}
.location-contact-rows dd {color:var(--gvs-ink); font-size:21px; font-weight:750; line-height:1.4; overflow-wrap:anywhere;}
.location-contact-rows dd>a {display:flex; align-items:center; justify-content:space-between; gap:15px; color:inherit;}
.location-contact-rows dd>a>span {color:var(--gvs-blue); font-size:21px;}
.location-contact-rows dd>a:hover {color:var(--gvs-blue);}
.location-contact-rows small {display:block; margin-top:8px; color:#7b8e9a; font-size:11px; font-weight:400;}
.location-visit-section {margin-top:90px;}
.location-visit-grid {display:grid; grid-template-columns:1fr 1fr; gap:25px;}
.location-visit-grid article {padding:35px; border:1px solid var(--gvs-line); border-top:3px solid var(--gvs-blue);}
.location-visit-grid article>span {color:var(--gvs-blue); font-size:10px; font-weight:800; letter-spacing:.12em;}
.location-visit-grid h4 {margin-top:30px; font-size:23px; font-weight:800; letter-spacing:-.04em;}
.location-visit-grid p {margin-top:18px; color:#617382; font-size:14px; line-height:1.9; word-break:keep-all;}
.lab-equipment-photo {margin:0; width:100%;}
.lab-equipment-photo img {display:block; width:100%; max-width:none; height:auto;}
