/* 지페 · 내부 페이지 공통 패턴 (hero 변형 · 문장 블록 · 편지 · 계층 · 특허 · 갤러리 등) */

/* ── 페이지 상단 변형 ───────────────────────────────── */
.pg-hero__txt{min-width:0}
.pg-hero__cap{position:absolute;left:16px;top:14px;z-index:2;padding:.25em .8em;border-radius:99px;background:rgba(255,255,255,.88);color:var(--ink2);font-size:12px;font-weight:800}
.pg-hero--night .pg-hero__cap{background:rgba(255,255,255,.14);color:#cbd3e4}
.pg-hero__fee{display:flex;align-items:baseline;gap:.5em;margin-top:clamp(28px,3vw,52px);font-size:clamp(20px,1.8vw,32px);font-weight:800;letter-spacing:-.03em}
.pg-hero__fee b{padding:0 .25em;border-radius:.2em;background:var(--wave);color:var(--ink);font-size:1.3em;line-height:1.1}
.pg-hero--night .pg-hero__fee b{background:none;color:var(--wave);padding:0}
.pg-hero__note{max-width:36em;margin-top:.7em;color:var(--ink2)}
.pg-hero--night .pg-hero__note{color:#aab3c6}
.pg-hero__vis{position:relative;align-self:stretch;display:grid;place-items:end center;min-height:clamp(380px,38vw,700px);padding:clamp(40px,4vw,72px) clamp(20px,3vw,56px) 0;border-radius:var(--r4);background:var(--mist);overflow:hidden}
.pg-hero--mist .pg-hero__vis{background:#fff}
.pg-hero--night .pg-hero__vis{background:#1a1e26}
.pg-hero__vis .dev{width:min(100%,clamp(210px,19vw,340px));margin-bottom:-16%}
.pg-hero--solo .pg-hero__title{max-width:14em;font-size:clamp(40px,5.6vw,108px)}
.pg-hero--night .pg-hero__title,.pg-hero--navy .pg-hero__title{color:#fff}
.pg-hero--night .crumbs a:hover{color:#fff}
.duo{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center;gap:clamp(8px,1vw,16px);width:100%;padding-bottom:clamp(40px,4vw,72px)}
.duo .vgbox{min-width:0}
.duo .mpx{width:100%}
.duo .vg__paper{width:78%}

/* ── 공통 보조 ─────────────────────────────────────── */
.sec__more{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(28px,3vw,48px)}
.sec__fn{max-width:60em;margin-top:1.3em;color:var(--ink2);font-size:14px;line-height:1.65}
.sec__fn a{color:var(--blue);text-decoration:underline;text-underline-offset:.2em}
.sec--night .sec__fn,.sec--navy .sec__fn{color:#aab3c6}
.feat__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.6em}
.feat__note{max-width:34em;margin-top:1.3em;color:var(--ink2);font-size:14px;line-height:1.6}
.feat__vis .vgbox{width:100%}
.feat__vis--night .vgbox{color:var(--ink)}
.feat__vis .dev{align-self:end;margin-bottom:calc(clamp(20px,3vw,56px)*-1 - 10%)}
.feat__vis:has(.dev){align-items:end;padding-bottom:0}
.feat__vis .dev img{max-height:none;border-radius:1.8em}
.cta-band__fn{margin-top:1.4em;color:#aab3c6;font-size:14px}
.tag--ok{background:#e3f5ec;color:#0d7a4d;box-shadow:none}
.val__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,48px);margin-top:clamp(36px,4.6vw,88px)}
.val__list li{padding-top:clamp(18px,2vw,32px);border-top:3px solid var(--ink)}
.val__list b{display:block;font-size:clamp(44px,5.4vw,104px);font-weight:800;letter-spacing:-.055em;line-height:1}
.val__list p{margin-top:1em;color:var(--ink2);font-size:clamp(16px,1.15vw,19px);line-height:1.7}
@media (max-width:1023px){.val__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.val__list{grid-template-columns:minmax(0,1fr)}}

/* ── 문장 블록 · 본문 ───────────────────────────────── */
.statement{max-width:1100px}
.statement--c{margin-inline:auto;text-align:center}
.statement__t{font-size:clamp(28px,3.6vw,70px);font-weight:800;letter-spacing:-.045em;line-height:1.25;text-wrap:balance}
.statement__p{max-width:36em;margin-top:1.3em;color:#b6bfd3;font-size:clamp(17px,1.3vw,22px);line-height:1.65}
.statement--c .statement__p{margin-inline:auto}
.sec--navy .statement .kicker{color:var(--wave)}
.prose{max-width:46em;margin-top:clamp(24px,3vw,48px)}
.prose p{margin:0 0 1em;color:var(--ink2);font-size:clamp(17px,1.25vw,21px);line-height:1.85}
.prose b{color:var(--ink)}
.prose small{color:var(--ink2);font-size:14px;line-height:1.6}
.prose--cols{max-width:none;columns:2;column-gap:clamp(32px,5vw,96px)}
.prose--cols p{break-inside:avoid-column}
.sec__head+.prose{margin-top:0}
@media (max-width:1023px){.prose--cols{columns:1}}

/* ── 대표이사 인사말 ───────────────────────────────── */
.pg-ceo .pg-hero__title{font-size:clamp(34px,4.6vw,88px);max-width:12em}
.letter{max-width:780px;margin:0 auto}
.letter p{margin:0 0 1.5em;color:#2b3340;font-size:clamp(18px,1.35vw,23px);line-height:1.95}
.letter__hello{color:var(--ink)!important;font-weight:800}
.letter__sign{display:flex;flex-direction:column;gap:.3em;margin-top:2.6em!important;padding-top:1.6em;border-top:2px solid var(--ink)}
.letter__sign span{color:var(--ink2);font-size:.85em;font-weight:700}
.letter__sign b{font-size:1.9em;font-weight:800;letter-spacing:.08em;color:var(--ink)}

/* ── 기술: 특허 ────────────────────────────────────── */
.patent{gap:.5em}
.patent h3{font-size:clamp(24px,2.2vw,40px);letter-spacing:-.04em}
.patent__t{color:var(--ink2)!important;font-size:clamp(17px,1.3vw,22px)!important;font-weight:700;line-height:1.5}
.patent .tag{align-self:flex-start}
.kv--sm{margin-top:1em;font-size:clamp(14px,1vw,16px)}
.kv--sm dt,.kv--sm dd{padding:.7em 0}
.kv--sm{grid-template-columns:minmax(5em,.3fr) 1fr}

/* ── 갤러리 · 영상 ─────────────────────────────────── */
.gal{display:flex;gap:clamp(12px,1.4vw,22px);margin-top:clamp(28px,3vw,52px);padding:4px 0 22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.gal__i{flex:0 0 clamp(260px,32vw,540px);margin:0;scroll-snap-align:start}
.gal__i img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r2);background:var(--mist)}
.gal__i figcaption{margin-top:.7em;color:var(--ink2);font-size:14px;font-weight:700}
.vid{max-width:960px;margin:clamp(28px,3vw,56px) auto 0}
.vid video{display:block;width:100%;max-height:70vh;border-radius:var(--r3);background:#000}
.vid p{margin-top:.9em;color:#b6bfd3;font-size:15px;text-align:center}

/* ── 표 · 카드 조정 ────────────────────────────────── */
.sec--night .card--dark{background:#1a1e26!important}
.card ul.ticks{margin-top:.9em}
.card--navy .ticks li,.card--dark .ticks li{color:#e6ebf5}
.card--navy .ticks li::before,.card--dark .ticks li::before{border-color:var(--wave)}
.card--navy .card__k,.card--dark .card__k{color:var(--wave)}
.card--navy .card__more,.card--dark .card__more{color:var(--wave)}
.sec--night .tbl th{color:#9aa4b8}
.sec--night .tbl td,.sec--night .tbl th{border-color:rgba(255,255,255,.14)}
@media print{.gal{display:block}.gal__i{width:48%;display:inline-block}}
