/* Figma review sections 413–415, 2026-09-21. Overrides earlier review values. */
@font-face{font-family:'Permanent Marker';src:url('../fonts/PermanentMarker-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.why h2{font-family:'Permanent Marker',cursive;font-weight:400}
.site-header{position:sticky;top:0;transition:transform .25s ease}
.site-header.is-scroll-hidden{transform:translateY(-100%)}
.site-header:focus-within{transform:translateY(0)}
.cta,.page-home .cta,.page-capabilities .cta{min-height:0;margin-block:80px}
.cta-inner{padding:80px}
.cta .actions{margin-top:48px}
.metric-card,.metric-card:hover{background:#080a0f}
.metric-card:hover .metrics>div{background:#131821}
.metric-card:hover{border:1px solid #68fcf0}
.partner-logo img{max-width:none;max-height:none}
.partner-logo img[alt=AWS]{width:84px;height:51px}
.partner-logo img[alt=Snowflake]{width:150px;height:36px}
.partner-logo img[alt="현대자동차"]{width:180px;height:26px}
.partner-logo img[alt="CJ 올리브네트웍스"]{width:160px;height:45px}
.partner-logo img[alt="광주과학기술원"]{width:186px;height:47px}
.partner-logo img[alt="파라과이 정부"]{width:160px;height:66px}
.partner-logo img[alt=Seerslab]{width:150px;height:26px}
.company-intro p{font:var(--type-reading-body-lg)}
.mission-cards article,.achievements .featured{position:relative;isolation:isolate;overflow:hidden;background:#131821}
.mission-cards article::before,.achievements .featured::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--hero-image) center/cover;opacity:.16;transition:opacity .2s}
.achievements .featured::before{background-image:url('../images/about/About-company-achievements-card-img-first.jpg')}
.mission-cards article:hover::before,.achievements .featured:hover::before{opacity:.08}
.mission-cards article{padding:40px}
.mission-cards .eyebrow{background:var(--gradient);background-clip:text;color:transparent;margin-bottom:16px}
.mission-cards p:last-child,.achievements p{color:#fff}
.achievements article{padding:40px;transition:background-color .2s}
.achievements article:not(.featured):hover{background:#222830}
.history-panels{min-width:0;align-items:stretch;height:494px}
.history-panel{min-width:0;flex:1;padding:40px;border:1px solid #222830;overflow:auto;min-height:0}
.history-panel[aria-hidden=true]{flex:0 0 23px;padding:0;border:0;overflow:hidden}
.history-layout [role=tablist]{gap:16px}
.history-layout [role=tab]{min-height:52px;padding:10px 24px}
.timeline{border:0;padding-left:52px}
.timeline li::before{left:-52px;top:0;width:20px;height:20px;border:1px solid #fff;background:transparent;z-index:1}
.timeline li:not(:last-child)::after{content:'';position:absolute;left:-42px;top:20px;bottom:0;border-left:1px solid #6e727b}
.timeline li:hover::before{background:#68fcf0}
.timeline li:hover p{color:#68fcf0}
.framework-card{color:inherit;background:#080a0f;min-height:420px;transition:background .2s,border-color .2s}
.framework-card .tags{padding-top:64px}
.framework-card:hover,.framework-card:focus-visible{background:#0b0e13;border-color:#68fcf0}
.tags{gap:12px}
.tags span{background:#131821;padding:10px 24px;min-height:44px;display:inline-flex;align-items:center}
.capability-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.capability-panels:has(.capability-panel:nth-child(1)[open]){grid-template-columns:minmax(0,678fr) minmax(0,327fr) minmax(0,327fr)}
.capability-panels:has(.capability-panel:nth-child(2)[open]){grid-template-columns:minmax(0,327fr) minmax(0,678fr) minmax(0,327fr)}
.capability-panels:has(.capability-panel:nth-child(3)[open]){grid-template-columns:minmax(0,327fr) minmax(0,327fr) minmax(0,678fr)}
.capability-panel{min-height:446px;background:linear-gradient(#080a0f99,#080a0f99),var(--hero-image) center/cover;scroll-margin-top:96px}
.capability-panel[open]{flex:2.0734}
.capability-panel summary{gap:16px}
.capability-panel summary .icon{width:40px;height:40px;margin-top:80px}
.capability-panel[open] summary .icon{display:none}
.capability-panel>div>p:first-child{margin-top:16px;color:#9fa3aa}
.capability-panel>div{margin-top:0}
.capability-panel .capability-outcome{color:#68fcf0;margin-top:80px}
.capability-panel .tags{padding-top:0;margin-top:24px}
.modular-section .diagram{object-position:left center}
.solution-section .section-heading{margin-bottom:0}
.solution-section .differentiator{grid-template-columns:561fr 678fr;gap:clamp(40px,7.34vw,141px)}
.solution-section .differentiator h3{background:var(--gradient);background-clip:text;color:transparent;margin-bottom:24px}
.solution-section .diagram{margin:0;height:420px}
.solution-section .keymessage{margin-top:55px;padding-left:24px;border-left:8px solid #0ad7c6;min-height:60px;display:flex;flex-direction:column;justify-content:center}
.solution-section .keymessage .eyebrow{color:#0ad7c6;margin-bottom:4px}
.solution-section .customizations{margin-top:60px}
.solution-section .customizations article{padding:32px;border-radius:16px}
.solution-section .customizations h3{margin-bottom:16px}
.page-cases .card-description{-webkit-line-clamp:2}
.partner-cards{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:60px}
.partner-card{padding:0;gap:0;overflow:hidden}
.partner-card-logo{height:160px;align-self:stretch;display:grid;place-items:center;background:#131821}
.partner-card-logo img{margin:0;max-width:calc(100% - 24px)}
.partner-card-logo img[alt=AWS]{width:84px;height:51px}
.partner-card-logo img[alt=Snowflake]{width:204px;height:49px}
.partner-card-logo img[alt="광주과학기술원"]{width:230px;height:58px}
.partner-card-logo img[alt="파라과이 정부"]{width:160px;height:66px}
.partner-card-logo img[alt="CJ 올리브네트웍스"]{width:220px;height:62px}
.partner-card-logo img[alt="현대자동차"]{width:222px;height:32px}
.partner-card-logo img[alt=Seerslab]{width:150px;height:26px}
.partner-card-info{padding:32px;display:flex;flex-direction:column;gap:20px;align-items:center;width:100%;text-align:center}
.partner-card .tag{width:100%;min-height:52px;padding:10px 12px;background:#131821;border:0;display:grid;place-items:center}
.form-note,.consent-required{color:#fd9393}
.consent-optional{color:#6e727b}
.agreement-row label{font:var(--type-body-md);gap:8px;align-items:center;color:#fff}
.agreement-body{background:#131821;color:#6e727b;border:0;padding:12px;font:400 13px/20px Pretendard,Arial,sans-serif}
/* Native checkbox background avoids replaced-element pseudo rendering differences. */
.agreement input[type=checkbox]::before{content:none}
.agreement input[type=checkbox]:checked{background:#68fcf0 url('../images/common/icons/check.svg') center/16px 16px no-repeat}
@media(min-width:1280px){.achievements{grid-auto-rows:260px}.history-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(min-width:768px) and (max-width:1279px){.partner-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .cta,.page-home .cta,.page-capabilities .cta{margin-block:32px;min-height:0}
 .cta-inner,.page-home .cta-inner{padding:32px}
 .cta .actions,.page-home .cta .actions{flex-direction:column;align-items:stretch;gap:16px;margin-top:40px}
 .cta .button{width:100%;min-height:44px}
 .company-intro p{font:var(--type-reading-title-sm)}
 .mission-cards article{padding:24px}.achievements article{padding:20px}
 .history-panels{height:auto;min-height:420px}.history-panel{padding:24px}.history-panel[aria-hidden=true]{display:none}
 .history-layout [role=tablist]{gap:8px}.history-layout [role=tab]{padding:8px 10px;min-height:40px}
 .timeline{padding-left:32px}.timeline li::before{left:-32px}.timeline li:not(:last-child)::after{left:-22px}
 .framework-card{min-height:0}.framework-card .tags{padding-top:12px}
 .capability-panels,.capability-panels:has(.capability-panel[open]){grid-template-columns:1fr}
 .capability-panel{min-height:150px}.capability-panel[open]{min-height:340px}.capability-panel summary .icon{margin-top:24px}
 .capability-panel .capability-outcome{margin-top:32px}
 .solution-section .section-heading{margin-bottom:32px}.solution-section .differentiator{grid-template-columns:1fr;gap:32px}
 .solution-section .diagram{height:auto}.solution-section .keymessage{margin-top:24px}.solution-section .customizations{margin-top:32px}
 .solution-section .customizations article{padding:24px}
 .partner-cards{grid-template-columns:1fr;row-gap:24px}
}


/* 2026-09-22 PC interaction pass: scroll reveal, richer hover states, and page-specific motion. */
.floating-contact{right:44px;bottom:44px}
.reveal-item{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}
.reveal-item.is-visible{opacity:1;transform:translateY(0)}
.home-slider{isolation:isolate;background:#080a0f;min-height:680px}
.home-slider .slide{position:absolute;inset:0;width:100%;opacity:0;transform:translateX(100%);pointer-events:none;z-index:0;transition:transform .72s cubic-bezier(.77,0,.18,1),opacity .42s ease}
.home-slider .slide.is-active{position:relative;opacity:1;transform:translateX(0);pointer-events:auto;z-index:2}
.home-slider .slide.is-leaving{opacity:1;transform:translateX(-10%);z-index:1}
.slide .eyebrow,.slide h1,.slide .hero-description,.slide .actions{opacity:0;transform:translateX(-28px);transition:opacity .62s ease,transform .62s cubic-bezier(.22,1,.36,1)}
.slide .actions{transform:translateY(28px)}
.slide.is-active .eyebrow{opacity:1;transform:translateX(0);transition-delay:.18s}
.slide.is-active h1{opacity:1;transform:translateX(0);transition-delay:.26s}
.slide.is-active .hero-description{opacity:1;transform:translateX(0);transition-delay:.34s}
.slide.is-active .actions{opacity:1;transform:translateY(0);transition-delay:.44s}
.crsn>div h2,.crsn>div p{filter:blur(40px);opacity:0;transition:filter .9s ease,opacity .9s ease}
.crsn.is-crsn-visible>div h2,.crsn.is-crsn-visible>div p{filter:blur(0);opacity:1}
.crsn.is-crsn-visible>div p{transition-delay:.16s}
.mission-cards article::before,.achievements .featured::before{transform:scale(1);transition:opacity .2s ease,transform .45s ease;transform-origin:center}
.mission-cards article:hover::before,.achievements .featured:hover::before{opacity:.08;transform:scale(1.12)}
.history-panel{transition:flex-basis .45s cubic-bezier(.22,1,.36,1),flex-grow .45s cubic-bezier(.22,1,.36,1),padding .35s ease,border-color .25s ease,background-color .25s ease}
.history-panel-content{opacity:1;transform:translateY(0);transition:opacity .32s ease .14s,transform .32s ease .14s;min-width:420px}
.history-panel[aria-hidden=true] .history-panel-content{opacity:0;transform:translateY(16px);pointer-events:none}
.history-panel[aria-hidden=true]{cursor:pointer;background:#10141d}
.history-panel[aria-hidden=true]:hover{background:#131821;border-color:#68fcf0}
.framework-card{position:relative;overflow:hidden;isolation:isolate}
.framework-card::before{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,#111620,#080a0f);opacity:.16;transform:scale(1);transition:transform .45s ease,opacity .25s ease}
.framework-card:hover::before,.framework-card:focus-visible::before{transform:scale(1.12);opacity:.2}
.framework-card>*{position:relative;z-index:1}
.capability-panels{transition:grid-template-columns .45s cubic-bezier(.22,1,.36,1)}
.capability-panel{overflow:hidden;transition:border-color .2s ease,background-size .45s ease,filter .2s ease}
.capability-panel:hover{border-color:#68fcf0;background-size:112% auto}
.capability-panel:not([open])>div{display:none}
.benefits{gap:60px}
.benefits>div{transition-delay:calc(var(--reveal-delay,0ms) + 80ms)}
.modular-section .differentiator>div:first-child{display:flex;flex-direction:column;gap:60px}
.modular-section .diagram{margin-top:0}
.agreement{padding-block:8px}
.agreement+.agreement{margin-top:0}
.agreement-row{min-height:24px}
.agreement-body{margin-top:8px}
@media(max-width:767px){.floating-contact{right:20px;bottom:20px}.home-slider{min-height:416px}.home-slider .slide{transition:none}.reveal-item{transition-duration:.5s}.benefits{gap:32px}.modular-section .differentiator>div:first-child{gap:32px}}
@media(prefers-reduced-motion:reduce){.reveal-item,.slide .eyebrow,.slide h1,.slide .hero-description,.slide .actions,.home-slider .slide,.crsn>div h2,.crsn>div p{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.home-slider .slide:not(.is-active){opacity:0!important}}


/* 2026-09-22 QA follow-up fixes. */
.slider-arrow,.slider-dots{z-index:10}
.slider-arrow{pointer-events:auto}
.achievements .featured{background:#131821!important;position:relative;isolation:isolate;overflow:hidden}
.achievements .featured::before{z-index:0;background:url('../images/about/About-company-achievements-card-img-first.jpg') center/cover no-repeat;opacity:.16;transform:scale(1)}
.achievements .featured>*{position:relative;z-index:1}
.achievements .featured:hover::before{opacity:.08;transform:scale(1.12)}
.history-panel{transition:flex-basis .56s cubic-bezier(.22,1,.36,1),flex-grow .56s cubic-bezier(.22,1,.36,1),padding .46s ease,border-color .3s ease,background-color .3s ease}
.history-panel-content{min-width:0;width:100%;opacity:1;transform:translateY(0);transition:opacity .42s ease .22s,transform .42s ease .22s}
.history-panel[aria-hidden=true] .history-panel-content{opacity:0;transform:translateY(20px);pointer-events:none}
.history-panel[aria-hidden=true]{cursor:pointer}
.capability-panel{background-size:100% auto;transition:border-color .2s ease,background-size .45s ease,background-position .45s ease}
.capability-panel:hover,.capability-panel.is-hovered{border-color:#68fcf0;background-size:112% auto}
.capability-panel:not([open]){cursor:pointer}
.capability-panel:not([open])>div{display:none!important}
.capability-panel[open]>div{display:block}

/* 2026-09-22 QA follow-up reinforcement: prevent history horizontal scroll and pin form agreement spacing. */
.history-panel{overflow-x:hidden;overflow-y:auto}
.newsletter .agreement,.contact .agreement{padding-block:8px}
.newsletter .agreement+.agreement,.contact .agreement+.agreement{margin-top:0}
.newsletter .agreement-row,.contact .agreement-row{min-height:24px}
.newsletter .agreement-body,.contact .agreement-body{margin-top:8px}

/* 2026-09-22 QA follow-up D: history sequencing, location icons, capability image fit, and form spacing. */
.history-panel{overflow:hidden}
.history-panel-content{transition:opacity .32s ease .36s,transform .32s ease .36s}
.history-panel[aria-hidden=true] .history-panel-content{transition:opacity .18s ease,transform .18s ease;opacity:0;transform:translateY(20px);pointer-events:none}
.location-info{display:flex;flex-direction:column;gap:16px}
.location-info h3{margin-bottom:8px}
.location-info-item{display:flex;align-items:flex-start;gap:12px;color:#e5e6e9}
.location-info-item a{color:inherit}
.location-info-item a:hover{color:#68fcf0}
.location-info-icon{width:24px;height:24px;flex:0 0 24px;background:#68fcf0;display:inline-block;mask-position:center;mask-size:24px 24px;mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:24px 24px;-webkit-mask-repeat:no-repeat}
.location-info-icon.map-pin{mask-image:url('../images/common/icons/map-pin.svg');-webkit-mask-image:url('../images/common/icons/map-pin.svg')}
.location-info-icon.phone{mask-image:url('../images/common/icons/phone.svg');-webkit-mask-image:url('../images/common/icons/phone.svg')}
.location-info-icon.mail{mask-image:url('../images/common/icons/mail.svg');-webkit-mask-image:url('../images/common/icons/mail.svg')}
.capability-panel{background-repeat:no-repeat;background-position:center;background-size:cover,auto 100%;transition:border-color .2s ease,background-size .45s ease,background-position .45s ease,filter .2s ease}
.capability-panel:hover,.capability-panel.is-hovered{border-color:#68fcf0;background-size:cover,auto 112%}
.capability-panel:not([open]) summary{min-height:382px;height:100%;display:flex;flex-direction:column;align-items:flex-start}
.capability-panel:not([open]) summary .icon{margin-top:auto}
.newsletter .inquiry-form .field-error:empty,.contact .inquiry-form .field-error:empty{display:none;min-height:0;margin:0}
.newsletter .agreement,.contact .agreement{padding-block:0}
.newsletter .agreement+.agreement,.contact .agreement+.agreement{margin-top:16px}
.newsletter .agreement-row,.contact .agreement-row{min-height:24px}
.newsletter .agreement-body,.contact .agreement-body{margin-top:8px;padding:12px}
@media(max-width:767px){.capability-panel:not([open]) summary{min-height:102px}.capability-panel:not([open]) summary .icon{margin-top:auto}.location-info{gap:12px}}

/* 2026-09-22 QA follow-up E: visible inline location icons and 24px agreement controls. */
.location-info-icon{width:24px;height:24px;flex:0 0 24px;color:#68fcf0;background:none;display:block;mask-image:none;-webkit-mask-image:none}
.newsletter .agreement-toggle,.contact .agreement-toggle{width:24px;height:24px}
.newsletter .agreement-toggle .icon,.contact .agreement-toggle .icon{width:24px;height:24px}
.newsletter .agreement-row,.contact .agreement-row{align-items:flex-start}
.newsletter .agreement-row label,.contact .agreement-row label{min-height:24px}

/* 2026-09-22 QA follow-up F: newsletter input gap and accordion chevron size. */
.newsletter .form-grid{gap:16px}
.newsletter .agreement-toggle,.contact .agreement-toggle{width:24px;height:24px;min-width:24px;min-height:24px;padding:0}
.newsletter .agreement-toggle .icon,.contact .agreement-toggle .icon{width:24px;height:24px;min-width:24px;min-height:24px}

/* 2026-09-22 QA follow-up G: accordion chevron icon subtle color. */
.newsletter .agreement-toggle .icon,.contact .agreement-toggle .icon{background:var(--homepage-text-tertiary);filter:none;object-fit:initial;mask:url('../images/common/icons/chevron-down.svg') center/24px 24px no-repeat;-webkit-mask:url('../images/common/icons/chevron-down.svg') center/24px 24px no-repeat}

/* 2026-09-22 QA follow-up H: privacy policy tables and rich text structure. */
.privacy-copy{max-width:1380px;margin:0 auto;color:var(--homepage-text-secondary)}
.privacy-header,.privacy-section{display:flex;flex-direction:column;gap:24px}
.privacy-section+.privacy-section{margin-top:40px}
.privacy-copy h1{margin-bottom:0;font-size:32px;line-height:40px;font-weight:700;color:var(--homepage-text-primary)}
.privacy-copy h2{margin:0;font-size:20px;line-height:28px;font-weight:600;color:var(--homepage-text-primary)}
.privacy-copy p,.privacy-copy li{font-size:16px;line-height:24px;color:var(--homepage-text-secondary)}
.privacy-copy p{margin:0}
.privacy-copy strong{font-weight:700;color:var(--homepage-text-primary)}
.privacy-copy ol,.privacy-copy ul{margin:0;padding-left:24px;color:var(--homepage-text-secondary)}
.privacy-copy li+li{margin-top:0}
.privacy-table-wrap{width:100%;overflow-x:auto}
.privacy-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:24px}
.privacy-table th,.privacy-table td{border-bottom:1px solid var(--homepage-border-strong);padding:12px;vertical-align:middle;color:var(--homepage-text-secondary);font-weight:400;text-align:left;word-break:keep-all;overflow-wrap:anywhere}
.privacy-table thead th{background:var(--homepage-surface-default);color:var(--homepage-text-tertiary);font-weight:600;text-align:center}
.privacy-table tbody th{width:32.17%;text-align:center}
.privacy-table tbody td{width:67.83%}
@media(max-width:767px){.page-privacy .section{padding-block:40px}.privacy-copy{max-width:none}.privacy-header,.privacy-section{gap:16px}.privacy-section+.privacy-section{margin-top:32px}.privacy-copy h1{font-size:28px;line-height:36px;font-weight:600}.privacy-copy h2{font-size:20px;line-height:28px}.privacy-copy p,.privacy-copy li{font-size:14px;line-height:20px}.privacy-copy ol,.privacy-copy ul{padding-left:21px}.privacy-table{min-width:350px;font-size:14px;line-height:20px}.privacy-table th,.privacy-table td{padding:12px}.privacy-table thead th:first-child,.privacy-table tbody th{width:79px}.privacy-table thead th:last-child,.privacy-table tbody td{width:271px}.privacy-table tbody th{text-align:left}}

/* 2026-09-22 QA follow-up I: privacy header to first list spacing. */
.privacy-header+.privacy-section{margin-top:40px}
@media(max-width:767px){.privacy-header+.privacy-section{margin-top:32px}}

/* 2026-09-22 QA follow-up J: restore agreement chevron with icon/subtle color. */
.newsletter .agreement-toggle,
.contact .agreement-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--homepage-text-tertiary)}
.newsletter .agreement-toggle>.icon,
.contact .agreement-toggle>.icon{opacity:0}
.newsletter .agreement-toggle::after,
.contact .agreement-toggle::after{content:"";display:block;width:24px;height:24px;background:var(--homepage-text-tertiary);mask:url('../images/common/icons/chevron-down.svg') center/24px 24px no-repeat;-webkit-mask:url('../images/common/icons/chevron-down.svg') center/24px 24px no-repeat}
.newsletter .agreement-toggle[aria-expanded="true"]::after,
.contact .agreement-toggle[aria-expanded="true"]::after{mask-image:url('../images/common/icons/chevron-up.svg');-webkit-mask-image:url('../images/common/icons/chevron-up.svg')}

/* 2026-09-22 QA follow-up K: show agreement chevron without CSS mask dependency. */
.newsletter .agreement-row,
.contact .agreement-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.newsletter .agreement-row label,
.contact .agreement-row label{flex:1 1 auto;min-width:0}
.newsletter .agreement-toggle,
.contact .agreement-toggle{position:relative;flex:0 0 24px;width:24px;height:24px;min-width:24px;min-height:24px;margin-left:auto;padding:0;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;appearance:none;overflow:visible}
.newsletter .agreement-toggle>.icon,
.contact .agreement-toggle>.icon{display:none!important}
.newsletter .agreement-toggle::after,
.contact .agreement-toggle::after{content:"";display:block;width:24px;height:24px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239FA3AA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E") center/24px 24px no-repeat;mask:none;-webkit-mask:none;opacity:1;filter:none}
.newsletter .agreement-toggle[aria-expanded="true"]::after,
.contact .agreement-toggle[aria-expanded="true"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%239FA3AA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6 -6l6 6'/%3E%3C/svg%3E");mask:none;-webkit-mask:none}

/* 2026-09-22 QA follow-up L: floating contact hover expansion. */
.floating-contact{position:fixed;right:44px;bottom:44px;width:56px;height:56px;display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 15px;overflow:hidden;border:1px solid var(--homepage-border-strong,var(--color-gray-700));border-radius:9999px;background:var(--homepage-surface-default,var(--color-gray-900));color:var(--homepage-text-primary,#fff);box-shadow:0 8px 24px #0004;z-index:80;transition:width .32s cubic-bezier(.22,1,.36,1),border-color .2s ease,background-color .2s ease,box-shadow .2s ease;will-change:width}
.floating-contact::before{content:"문의하기";flex:0 0 auto;width:70px;font:600 20px/28px Pretendard,Arial,sans-serif;color:var(--homepage-text-primary,#fff);white-space:nowrap;opacity:0;transform:translateX(10px);transition:opacity .2s ease,transform .32s cubic-bezier(.22,1,.36,1)}
.floating-contact .icon{flex:0 0 24px;width:24px;height:24px;filter:none;transition:transform .32s cubic-bezier(.22,1,.36,1)}
.floating-contact:hover,.floating-contact:focus-visible{width:138px;border-color:var(--homepage-border-strong,var(--color-gray-700));background:var(--homepage-surface-default,var(--color-gray-900));box-shadow:0 12px 32px #0006}
.floating-contact:hover::before,.floating-contact:focus-visible::before{opacity:1;transform:translateX(0)}
@media(max-width:767px){.floating-contact{right:20px;bottom:20px;width:52px;height:52px;padding:0 14px}.floating-contact:hover,.floating-contact:focus-visible{width:52px}.floating-contact::before{display:none}.floating-contact .icon{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.floating-contact,.floating-contact::before,.floating-contact .icon{transition:none}}

/* 2026-09-22 QA follow-up M: floating contact type and left padding adjustment. */
.floating-contact{padding:0 15px 0 24px}
.floating-contact::before{width:56px;font:var(--type-title-sm)}

/* 2026-09-22 QA follow-up N: floating contact icon size and vertical alignment. */
.floating-contact{padding:0 15px;align-items:center;box-sizing:border-box}
.floating-contact:hover,.floating-contact:focus-visible{padding-left:24px;padding-right:15px}
.floating-contact::before{display:flex;align-items:center;height:24px;line-height:24px}
.floating-contact .icon{display:block;width:24px!important;height:24px!important;min-width:24px;min-height:24px;max-width:none;max-height:none;object-fit:contain;align-self:center}
@media(max-width:767px){.floating-contact,.floating-contact:hover,.floating-contact:focus-visible{padding:0 14px}.floating-contact .icon{width:24px!important;height:24px!important}}

/* 2026-09-22 QA follow-up O: floating contact icon color states. */
.floating-contact .icon{display:none!important}
.floating-contact::after{content:"";display:block;flex:0 0 24px;width:24px;height:24px;background:var(--homepage-brand-default,var(--color-teal-300));mask:url('../images/common/icons/mail-opened.svg') center/24px 24px no-repeat;-webkit-mask:url('../images/common/icons/mail-opened.svg') center/24px 24px no-repeat;transition:background-color .2s ease}
.floating-contact:hover::after,.floating-contact:focus-visible::after{background:var(--homepage-text-primary,#fff)}

/* 2026-09-22 QA follow-up P: stable floating contact icon rendering. */
.floating-contact::after{content:"";display:block;flex:0 0 24px;width:24px;height:24px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2368FCF0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9L12 15L21 9L12 3L3 9Z'/%3E%3Cpath d='M21 9V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V9'/%3E%3Cpath d='M3 19L9 13'/%3E%3Cpath d='M15 13L21 19'/%3E%3C/svg%3E") center/24px 24px no-repeat;mask:none!important;-webkit-mask:none!important;opacity:1;filter:none;transition:background-image .2s ease}
.floating-contact:hover::after,.floating-contact:focus-visible::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9L12 15L21 9L12 3L3 9Z'/%3E%3Cpath d='M21 9V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V9'/%3E%3Cpath d='M3 19L9 13'/%3E%3Cpath d='M15 13L21 19'/%3E%3C/svg%3E")}

/* 2026-09-22 QA follow-up Q: keep floating contact hover icon background transparent. */
.floating-contact:hover::after,
.floating-contact:focus-visible::after{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9L12 15L21 9L12 3L3 9Z'/%3E%3Cpath d='M21 9V19C21 19.5304 20.7893 20.0391 20.4142 20.4142C20.0391 20.7893 19.5304 21 19 21H5C4.46957 21 3.96086 20.7893 3.58579 20.4142C3.21071 20.0391 3 19.5304 3 19V9'/%3E%3Cpath d='M3 19L9 13'/%3E%3Cpath d='M15 13L21 19'/%3E%3C/svg%3E") center/24px 24px no-repeat!important}

/* 2026-09-22 QA follow-up R: detail page back button actions. */
.page-case-detail .detail-actions,
.page-press-detail .detail-actions{gap:20px}
@media(max-width:767px){.page-case-detail .detail-actions,.page-press-detail .detail-actions{flex-direction:column;align-items:center;justify-content:center;gap:20px}.page-case-detail .detail-actions .button,.page-press-detail .detail-actions .button{width:auto}}

/* 2026-09-22 QA follow-up S: stack capability core detail list on mobile. */
@media(max-width:767px){
  .page-capabilities .capability-panels,
  .page-capabilities .capability-panels:has(.capability-panel[open]){display:flex;flex-direction:column;grid-template-columns:none;gap:16px}
  .page-capabilities .capability-panel{width:100%;min-height:150px;flex:initial}
  .page-capabilities .capability-panel:not([open]) summary{min-height:102px}
  .page-capabilities .capability-panel[open]{min-height:340px}
}

/* Keep the card background tied to its container throughout open/close transitions. */
@media(max-width:767px){
  .page-capabilities .capability-panel,
  .page-capabilities .capability-panel[open],
  .page-capabilities .capability-panel.is-pinned,
  .page-capabilities .capability-panel.is-hovered{background-size:cover,cover}
}

/* Keep framework step numbers intact when translated titles wrap on mobile. */
@media(max-width:767px){
  .page-capabilities .framework-title span{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .page-capabilities .framework-title h3{
    min-width:0;
  }
}

/* QA 12: 모바일 플로팅 문의 버튼 위치 */
@media (max-width: 767px) {
  .floating-contact {
    right: 20px;
    bottom: 60px;
  }
}

/* QA EN 3: 영문 플로팅 버튼 문구 */
html[lang="en"] .floating-contact::before {
  content: "Contact Us";
  width: 90px;
}

@media (min-width: 768px) {
  html[lang="en"] .floating-contact:hover,
  html[lang="en"] .floating-contact:focus-visible {
    width: 175px;
  }
}

/* Framework: 번호와 제목 줄바꿈 안정화 */
@media (min-width: 768px) {
  .page-capabilities .framework-title span {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .page-capabilities .framework-title h3 {
    min-width: 0;
  }
}

/* QA 14: Capability Framework 01, 02, 03 번호 너비 고정 */
.framework-title > span {
  flex: 0 0 36px;
  width: 36px;
  min-width: 36px;
  white-space: nowrap;
}

.framework-title > h3 {
  min-width: 0;
}

/* QA EN-01: 모바일 영문 개인정보처리방침 본문 표시 */
@media (max-width: 767px) {
  html[lang="en"] .page-privacy .reveal-item {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
    transition: none !important;
  }
}




/* 영문 개인정보처리방침 - 모바일 표 정렬 */
@media (max-width: 767px) {
  html[lang="en"] .privacy-copy table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: collapse;
  }

  html[lang="en"] .privacy-copy th,
  html[lang="en"] .privacy-copy td {
    box-sizing: border-box;
    padding: 12px 10px;
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    vertical-align: middle;
    font-size: 13px;
    line-height: 1.5;
  }

  html[lang="en"] .privacy-copy th:first-child,
  html[lang="en"] .privacy-copy td:first-child {
    width: 42%;
    min-width: 0;
  }

  html[lang="en"] .privacy-copy th:nth-child(2),
  html[lang="en"] .privacy-copy td:nth-child(2) {
    width: 58%;
    min-width: 0;
  }
}
