
      :root {
        --navy: #001A5C;
        --blue: #002078;
        --pale: #BFCCEC;
        --wash: #EEF1F8;
        --soft: #F7F9FD;
        --white: #fff;
        --ink: #18202D;
        --muted: #616B7C;
        --line: #D3DAEA;
        --font: 'Noto Sans KR','Malgun Gothic',sans-serif;
        --gutter: clamp(24px,6.25vw,120px);
        --section-space: clamp(80px,9vw,160px);
        --header-height: 90px;
        --ease-draw: cubic-bezier(.77,0,.175,1);
      }
      * {
        box-sizing: border-box;
      }
      html {
        scroll-behavior: smooth;
        scroll-padding-top: calc(var(--header-height) + 24px);
      }
      body {
        margin: 0;
        background: var(--white);
        color: var(--ink);
        font-family: var(--font);
        font-size: 18px;
        line-height: 1.75;
        word-break: keep-all;
        overflow-wrap: break-word;
      }
      button,input,select,textarea {
        font: inherit;
      }
      button,a,input,select,textarea {
        -webkit-tap-highlight-color: transparent;
      }
      a {
        color: inherit;
        text-decoration: none;
      }
      button {
        cursor: pointer;
      }
      button:disabled {
        cursor: default;
      }
      button {
        color: inherit;
      }
      h1,h2,h3,p {
        margin: 0;
      }
      h1,h2,h3 {
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: -.055em;
      }
      p {
        color: var(--muted);
      }
      h2 {
        font-size: clamp(34px,3.5vw,60px);
        color: var(--navy);
      }
      h3 {
        font-size: 28px;
      }
      a:focus-visible,button:focus-visible,summary:focus-visible {
        outline: 3px solid #769be3;
        outline-offset: 6px;
      }
      input:focus-visible,select:focus-visible,textarea:focus-visible {
        outline: 2px solid var(--blue);
        outline-offset: 3px;
      }
      ::selection {
        background: var(--pale);
        color: var(--navy);
      }
      [hidden] {
        display: none!important;
      }
      .container {
        max-width: 1680px;
        margin: auto;
        padding: 0 var(--gutter);
      }
      .section {
        padding: var(--section-space) 0;
        scroll-margin-top: 20px;
      }
      .eyebrow {
        font-size: 14px;
        letter-spacing: .13em;
        font-weight: 700;
        color: var(--blue);
        margin-bottom: 24px;
      }
      .small-label {
        font-size: 15px;
        color: var(--blue);
        font-weight: 700;
      }
      .split {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9%;
      }
      .section-heading {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 40px;
        margin-bottom: 72px;
      }
      .section-heading>p {
        max-width: 360px;
        margin-bottom: 5px;
      }
      .muted-blue {
        color: #657ba7;
      }
      .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
      }
      .skip-link {
        position: fixed;
        top: -100px;
        left: 24px;
        background: #fff;
        padding: 12px 24px;
        z-index: 200;
      }
      .skip-link:focus {
        top: 12px;
      }
      .intro {
        position: fixed;
        inset: 0;
        z-index: 300;
        background: var(--navy);
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: opacity .6s ease,visibility .6s;
      }
      .intro.is-leaving {
        opacity: 0;
        visibility: hidden;
      }
      .intro-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 22px;
        width: min(320px,70vw);
      }
      .intro-mark {
        font-size: 44px;
        font-weight: 850;
        letter-spacing: -.035em;
        line-height: 1;
        animation: intro-mark .9s ease both;
      }
      .intro-bar {
        display: block;
        width: 100%;
        height: 2px;
        background: #ffffff30;
        overflow: hidden;
      }
      .intro-fill {
        display: block;
        height: 100%;
        width: 0;
        background: #fff;
        transition: width .18s linear;
      }
      .intro-pct {
        font-size: 12px;
        letter-spacing: .14em;
        color: var(--pale);
      }
      @keyframes intro-mark {
        from {
          opacity: 0;
          transform: translateY(14px);
        }
        to {
          opacity: 1;
          transform: none;
        }
      }
      .header {
        height: var(--header-height);
        position: fixed;
        z-index: 50;
        top: 0;
        left: 0;
        width: 100%;
        color: var(--white);
        border-bottom: 1px solid #ffffff30;
        transition: background .3s,color .3s,box-shadow .3s;
      }
      .header.solid,.header.menu-open {
        background: #fffffff5;
        color: var(--navy);
        border-bottom: 1px solid var(--line);
        backdrop-filter: blur(12px);
      }
      .header-inner {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 36px;
      }
      .wordmark {
        font-size: 30px;
        font-weight: 850;
        line-height: 1;
        letter-spacing: -.035em;
        display: inline-flex;
        align-items: center;
        gap: 17px;
        white-space: nowrap;
      }
      .wordmark span {
        font-size: 14px;
        letter-spacing: -.04em;
        font-weight: 500;
        border-left: 1px solid currentColor;
        padding-left: 17px;
      }
      .header nav {
        display: flex;
        align-items: center;
        gap: clamp(18px,2.2vw,40px);
        font-size: 16px;
        font-weight: 600;
      }
      .header nav a {
        padding: 12px 0;
        position: relative;
      }
      .header nav a:after {
        content: '';
        position: absolute;
        height: 2px;
        background: currentColor;
        bottom: 3px;
        left: 0;
        right: 100%;
        transition: right .2s;
      }
      .header nav a:hover:after {
        right: 0;
      }
      .nav-contact {
        border: 1px solid #ffffff80;
        padding: 8px 20px!important;
        border-radius: 0;
      }
      .solid .nav-contact {
        border-color: var(--line);
      }
      .menu-toggle {
        display: none;
        background: none;
        border: 0;
        font-size: 16px;
      }
      .hero {
        min-height: 700px;
        height: 100svh;
        position: relative;
        background: var(--navy);
        color: white;
        overflow: hidden;
      }
      .hero-visual,.hero-shade {
        position: absolute;
        inset: 0;
      }
      .hero-visual {
        overflow: hidden;
      }
      .hero-visual img {
        height: 100%;
        width: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
        transform: scale(1.035);
        animation: hero-breathe 14s ease-out both;
      }
      .hero-shade {
        background: linear-gradient(90deg,rgba(0,13,47,.62),rgba(0,13,47,.22) 70%),linear-gradient(0deg,rgba(0,17,57,.68),transparent 80%);
      }
      .hero-content {
        position: relative;
        z-index: 1;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding-top: 150px;
        padding-bottom: 30px;
      }
      .hero-eyebrow {
        color: #e1e8f7;
        font-size: 16px;
        font-weight: 500;
        letter-spacing: .08em;
        margin-bottom: 26px;
      }
      .hero h1 {
        font-size: clamp(42px,4.85vw,82px);
        font-weight: 650;
        line-height: 1.35;
        letter-spacing: -.06em;
        text-shadow: 0 2px 25px #00113630;
      }
      .hero h1 .line {
        display: inline-block;
      }
      .hero h1 .ch {
        display: inline-block;
        opacity: 0;
        transform: translateY(.45em) rotate(3deg);
        animation: ch-in .7s cubic-bezier(.22,.61,.36,1) both;
        animation-delay: calc(.35s + var(--n) * 38ms);
      }
      .intro-done .hero h1 .ch {
        animation-play-state: running;
      }
      .hero h1 .ch {
        animation-play-state: paused;
      }
      .motion-off .hero h1 .ch {
        opacity: 1;
        transform: none;
      }
      @keyframes ch-in {
        to {
          opacity: 1;
          transform: none;
        }
      }
      .hero-description {
        max-width: 610px;
        margin-top: 30px;
        color: #f1f4fa;
        font-size: 18px;
        line-height: 1.85;
      }
      .actions {
        display: flex;
        gap: 38px;
        align-items: center;
        flex-wrap: wrap;
        margin-top: 26px;
      }
      .text-link {
        display: inline-flex;
        align-items: center;
        gap: 26px;
        font-weight: 600;
        font-size: 16px;
        color: var(--blue);
        min-height: 44px;
      }
      .text-link>span[aria-hidden] {
        font-size: 24px;
        transition: transform .2s;
      }
      .text-link:hover>span[aria-hidden] {
        transform: translate(3px,-3px);
      }
      .on-dark {
        color: white;
      }
      .info-li {
        list-style: none;
        margin: 34px 0 0;
        padding: 0;
        display: flex;
        gap: 16px 48px;
        flex-wrap: wrap;
      }
      .info-li li {
        display: flex;
        flex-direction: column;
        gap: 6px;
      }
      .info-li .type {
        font-size: 12px;
        letter-spacing: .14em;
        color: #c6d1ea;
        text-transform: uppercase;
      }
      .info-li .val {
        font-size: 16px;
        font-weight: 600;
        color: #fff;
        letter-spacing: -.02em;
      }
      .hero-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-top: 1px solid #ffffff50;
        margin-top: 40px;
        padding-top: 20px;
        font-size: 12px;
        letter-spacing: .08em;
      }
      .hero-footer>a {
        display: flex;
        align-items: center;
        gap: 30px;
      }
      .scroll-arrow {
        font-size: 40px;
        font-weight: 300;
        line-height: 1;
      }
      .hero-line {
        display: block;
        width: 100px;
        height: 2px;
        background: #fff;
      }
      .about {
        padding-top: 145px;
        padding-bottom: 145px;
      }
      .about-copy {
        padding-top: 40px;
      }
      .about-copy .large-copy {
        font-size: clamp(24px,2.2vw,34px);
        line-height: 1.5;
        color: var(--navy);
        font-weight: 500;
        margin-bottom: 30px;
        letter-spacing: -.035em;
      }
      .about-copy>p+p {
        margin-top: 18px;
      }
      .goal {
        background: var(--soft);
      }
      .goal .split {
        align-items: center;
      }
      .goal-text {
        font-size: clamp(26px,2.6vw,42px);
        line-height: 1.65;
        color: #6f7b93;
        font-weight: 500;
        letter-spacing: -.045em;
      }
      .goal-text em {
        font-style: normal;
        color: var(--navy);
        font-weight: 700;
      }
      .goal-figure {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 320px;
      }
      .illust {
        position: relative;
      }
      .illust[data-illust="discs"] {
        width: min(340px,70vw);
        aspect-ratio: 1;
      }
      .disc {
        position: absolute;
        border-radius: 50%;
        border: 2px solid var(--navy);
        border-color: var(--navy) var(--navy) transparent transparent;
        transition: transform 2s var(--ease-draw);
      }
      .disc.back-draw {
        inset: 0;
        transform: rotate(0deg);
        transition-duration: 1.4s;
        transition-delay: .6s;
      }
      .disc.midi-draw {
        inset: 13%;
        transform: rotate(-45deg);
        border-color: var(--pale) var(--pale) transparent transparent;
        transition-duration: 1.2s;
        transition-delay: .8s;
      }
      .disc.front-draw {
        inset: 26%;
        transform: rotate(-45deg);
        transition-duration: 2s;
      }
      .disc.front-draw:after {
        content: '';
        position: absolute;
        left: 50%;
        top: 50%;
        width: 10px;
        height: 10px;
        margin: -5px;
        border-radius: 50%;
        background: var(--navy);
      }
      .illust.draw .back-draw {
        transform: rotate(90deg);
      }
      .illust.draw .midi-draw,.illust.draw .front-draw {
        transform: rotate(135deg);
      }
      .process-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 0;
        border-top: 1px solid var(--navy);
      }
      .process-step {
        position: relative;
        padding: 40px 32px 40px 0;
      }
      .process-step+.process-step {
        padding-left: 32px;
        border-left: 1px solid var(--line);
      }
      .step-line {
        position: absolute;
        top: -1px;
        left: 0;
        height: 3px;
        width: 0;
        background: var(--navy);
        transition: width 1.2s var(--ease-draw) var(--delay,0ms);
      }
      .process-step+.process-step .step-line {
        left: 32px;
      }
      .reveal-visible .step-line,.process-step.reveal-visible .step-line {
        width: 56px;
      }
      .step-num {
        font-size: 13px;
        letter-spacing: .12em;
        color: var(--blue);
        font-weight: 700;
        margin-bottom: 22px;
      }
      .process-step h3 {
        font-size: 26px;
        color: var(--navy);
        margin-bottom: 6px;
        letter-spacing: -.04em;
      }
      .step-en {
        font-size: 13px;
        color: #7184a6;
        letter-spacing: .02em;
        margin-bottom: 18px;
      }
      .step-txt {
        font-size: 16px;
        line-height: 1.85;
      }
      .items {
        background: var(--wash);
      }
      .items-layout {
        display: grid;
        grid-template-columns: 1fr 1.6fr;
        gap: 8%;
        align-items: start;
      }
      .items-sticky {
        position: sticky;
        top: 130px;
      }
      .items-intro {
        margin-top: 26px;
        font-size: 16px;
        max-width: 400px;
      }
      .items-count {
        margin-top: 34px;
        font-size: 14px;
        color: var(--muted);
      }
      .items-count strong {
        font-size: 44px;
        color: var(--navy);
        letter-spacing: -.04em;
        margin-right: 6px;
        font-weight: 700;
      }
      .items-sticky .text-link {
        margin-top: 22px;
      }
      .items-grid {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(auto-fill,minmax(150px,1fr));
        gap: 12px;
      }
      .items-grid li {
        background: #fff;
        border: 1px solid var(--line);
        padding: 22px 12px 18px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        text-align: center;
        font-size: 14px;
        font-weight: 600;
        color: var(--navy);
        line-height: 1.4;
        transition: border-color .2s,transform .2s;
      }
      .items-grid li:hover {
        border-color: var(--navy);
        transform: translateY(-2px);
      }
      .items-grid img {
        width: 64px;
        height: 64px;
        object-fit: contain;
      }
      .audience-grid {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        border-top: 1px solid var(--navy);
      }
      .audience-item {
        padding: 35px 28px 12px 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
      }
      .audience-item+.audience-item {
        padding-left: 28px;
        border-left: 1px solid var(--line);
      }
      .audience-item h3 {
        font-size: clamp(23px,1.9vw,30px);
        color: var(--navy);
        margin: 34px 0 22px;
        line-height: 1.5;
      }
      .audience-item>p {
        font-size: 16px;
        margin-bottom: 32px;
        line-height: 1.9;
      }
      .audience-item .text-link {
        margin-top: auto;
      }
      .relationship {
        background: var(--soft);
      }
      .relationship-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
      }
      .relationship-grid article {
        padding: 54px 48px;
      }
      .company-block {
        background: var(--navy);
        color: white;
      }
      .company-block .small-label {
        color: var(--pale);
      }
      .relationship-grid h3 {
        font-size: 44px;
        margin: 22px 0;
      }
      .company-block p {
        color: #dce4f5;
      }
      .relationship-grid .text-link {
        margin-top: 26px;
      }
      .service-block {
        background: var(--wash);
      }
      .service-block h3 {
        color: var(--navy);
      }
      .service-block small {
        display: block;
        font-size: 13px;
        color: var(--muted);
        margin-top: 5px;
      }
      .family-logos {
        display: flex;
        gap: 26px;
        align-items: center;
        flex-wrap: wrap;
        margin-top: 30px;
        padding-top: 24px;
        border-top: 1px solid var(--line);
      }
      .family-logos img {
        height: 22px;
        width: auto;
        filter: grayscale(1) brightness(.35);
        opacity: .8;
        transition: filter .2s,opacity .2s;
      }
      .family-logos a:hover img {
        filter: none;
        opacity: 1;
      }
      .business-list {
        border-top: 1px solid var(--navy);
      }
      .business-row {
        display: grid;
        grid-template-columns: 1fr 1.15fr auto;
        align-items: center;
        gap: 25px;
        border-bottom: 1px solid var(--line);
        padding: 30px 0;
        transition: background .25s,padding .25s;
      }
      .business-row:hover {
        background: var(--soft);
        padding-left: 20px;
        padding-right: 20px;
      }
      .business-name {
        display: flex;
        align-items: center;
        gap: 26px;
      }
      .business-icon {
        width: 64px;
        height: 64px;
        flex: none;
        display: grid;
        place-items: center;
        background: var(--wash);
        border: 1px solid var(--line);
      }
      .business-icon img {
        width: 48px;
        height: 48px;
        object-fit: contain;
      }
      .business-icon-text {
        font-size: 24px;
        font-weight: 800;
        color: var(--navy);
      }
      .business-number {
        font-size: 14px;
        color: #7184a6;
      }
      .business-name h3 {
        font-size: 37px;
        color: var(--navy);
      }
      .business-row>p {
        font-size: 16px;
      }
      .business-open {
        border: 0;
        background: none;
        display: flex;
        align-items: center;
        gap: 24px;
        padding: 10px 0;
        font-size: 14px;
      }
      .round-arrow {
        border: 1px solid #bac7de;
        width: 50px;
        height: 50px;
        border-radius: 50%;
        display: grid;
        place-items: center;
        font-size: 24px;
        color: var(--navy);
        transition: background .25s,color .25s;
      }
      .business-open:hover .round-arrow {
        background: var(--navy);
        color: white;
      }
      .partners {
        background: var(--navy);
        color: white;
        overflow: hidden;
      }
      .partners h2,.partners h3 {
        color: white;
      }
      .partners .eyebrow {
        color: var(--pale);
      }
      .partners .section-heading>p {
        color: #ccd7ec;
      }
      .logo-wall {
        display: flex;
        gap: 16px;
        overflow: hidden;
        padding: 6px 0 60px;
        mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
      }
      .logo-track {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        gap: 16px;
        flex: none;
        animation: logo-scroll 60s linear infinite;
      }
      .logo-wall:hover .logo-track {
        animation-play-state: paused;
      }
      .logo-track li {
        flex: none;
        width: 190px;
        height: 78px;
        background: #fff;
        display: grid;
        place-items: center;
        border-radius: 2px;
      }
      .logo-track img {
        width: 130px;
        height: 51px;
        object-fit: contain;
      }
      @keyframes logo-scroll {
        to {
          transform: translateX(calc(-100% - 16px));
        }
      }
      .brand-row {
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: 50px;
        padding: 40px 0;
        border-top: 1px solid #ffffff35;
      }
      .brand-row h3 {
        font-size: 23px;
      }
      .brand-row p {
        color: var(--pale);
        font-size: 14px;
        margin-top: 8px;
      }
      .brand-row ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 16px 40px;
        font-size: 24px;
        letter-spacing: -.035em;
        font-weight: 600;
      }
      .source-note {
        color: #b5c4e0;
        font-size: 13px;
        border-top: 1px solid #ffffff35;
        padding-top: 24px;
        margin-top: 8px;
      }
      .identity {
        background: var(--wash);
      }
      .identity-grid {
        display: grid;
        grid-template-columns: 1.2fr 1fr;
        gap: 70px;
      }
      .identity-block>.small-label {
        display: block;
        border-bottom: 1px solid var(--navy);
        padding-bottom: 14px;
        margin-bottom: 8px;
      }
      .typo-list {
        list-style: none;
        margin: 0;
        padding: 0;
      }
      .typo-list li {
        padding: 28px 0;
        border-bottom: 1px solid var(--line);
        display: grid;
        grid-template-columns: 140px 1fr;
        gap: 24px;
      }
      .typo-list .util {
        display: flex;
        flex-direction: column;
        gap: 4px;
        font-size: 13px;
        color: var(--muted);
      }
      .typo-list .util span:first-child {
        color: var(--navy);
        font-weight: 600;
      }
      .typo-list strong {
        display: block;
        font-size: 31px;
        color: var(--navy);
        letter-spacing: -.05em;
        line-height: 1.35;
        margin-bottom: 14px;
      }
      .typo-list p {
        font-size: 15px;
        line-height: 1.8;
      }
      .latin {
        letter-spacing: .02em;
      }
      .typo-list strong.latin {
        letter-spacing: -.02em;
        font-weight: 850;
      }
      .identity-note {
        font-size: 16px;
        margin: 26px 0 30px;
        line-height: 1.85;
      }
      .box-color {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(5,1fr);
      }
      .box-color li {
        background: var(--swatch);
        aspect-ratio: 1/1.35;
        padding: 16px 12px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        gap: 2px;
        color: #fff;
        font-size: 12px;
        letter-spacing: .02em;
      }
      .box-color li.light {
        color: var(--navy);
      }
      .box-color li strong {
        font-size: 14px;
      }
      .guide-intro {
        margin-top: 26px;
        font-size: 17px;
      }
      .faq-list {
        border-top: 1px solid var(--navy);
      }
      details {
        border-bottom: 1px solid var(--line);
      }
      summary {
        list-style: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 26px;
        padding: 24px 0;
        font-size: 19px;
        color: var(--navy);
        cursor: pointer;
      }
      summary::-webkit-details-marker {
        display: none;
      }
      summary>span {
        font-size: 25px;
        font-weight: 400;
      }
      details[open] summary>span {
        transform: rotate(45deg);
      }
      details>p {
        font-size: 16px;
        line-height: 1.9;
        padding: 0 35px 28px 0;
      }
      .contact {
        background: var(--wash);
      }
      .contact-copy>p:not(.eyebrow) {
        margin-top: 27px;
        font-size: 17px;
      }
      .contact-info {
        margin: 40px 0 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 18px 30px;
        border-top: 1px solid var(--line);
        padding-top: 28px;
      }
      .contact-info div {
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .contact-info dt {
        font-size: 13px;
        color: var(--muted);
        letter-spacing: .02em;
      }
      .contact-info dd {
        margin: 0;
        font-size: 16px;
        font-weight: 600;
        color: var(--navy);
      }
      .contact-info a {
        text-decoration: underline;
        text-underline-offset: 5px;
        text-decoration-thickness: 1px;
      }
      .demo-note {
        margin-top: 40px;
        display: flex;
        gap: 18px;
        align-items: flex-start;
      }
      .demo-note>span {
        font-size: 12px;
        border: 1px solid #acbbd5;
        padding: 3px 7px;
        color: var(--navy);
        line-height: 1.5;
      }
      .demo-note>p {
        font-size: 13px;
        line-height: 1.9;
      }
      .form-panel {
        background: white;
        padding: 40px;
      }
      .field {
        margin-bottom: 18px;
      }
      label {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 15px;
        font-weight: 600;
        color: var(--navy);
        margin-bottom: 8px;
      }
      label>span {
        font-size: 12px;
        color: var(--muted);
        font-weight: 400;
      }
      input,select,textarea {
        width: 100%;
        max-width: 100%;
        border: 1px solid var(--line);
        background: var(--soft);
        border-radius: 0;
        padding: 12px 14px;
        color: var(--ink);
        font-size: 16px;
        min-height: 50px;
      }
      textarea {
        resize: vertical;
        min-height: 115px;
      }
      .form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 18px;
      }
      .field-error {
        color: #a32437;
        font-size: 13px;
        margin-top: 5px;
        line-height: 1.5;
      }
      .field-error:empty {
        display: none;
      }
      [aria-invalid="true"] {
        border-color: #a32437;
      }
      .form-notice {
        font-size: 13px;
        margin: 2px 0 20px;
      }
      .button {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        padding: 15px 23px;
        border: 1px solid transparent;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.5;
        border-radius: 0;
        min-height: 54px;
        transition: background .2s;
      }
      .button>span {
        font-size: 23px;
        line-height: 1;
      }
      .primary {
        background: var(--navy);
        color: white;
      }
      .primary:hover {
        background: var(--blue);
      }
      form .button {
        width: 100%;
      }
      .form-success {
        min-height: 440px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column;
      }
      .success-mark {
        font-size: 32px;
        color: var(--navy);
        margin-bottom: 20px;
      }
      .form-success h3 {
        font-size: 34px;
        color: var(--navy);
      }
      .form-success p:not(.eyebrow) {
        font-size: 16px;
        margin-top: 22px;
      }
      .form-success .button {
        margin-top: 35px;
      }
      .footer {
        background: var(--navy);
        color: white;
        padding: 65px 0 25px;
      }
      .footer-top {
        display: grid;
        grid-template-columns: 1.2fr 1fr 1fr;
        gap: 45px;
        padding-bottom: 45px;
      }
      .footer-slogan {
        font-size: 24px;
        color: var(--pale);
        letter-spacing: -.04em;
        line-height: 1.5;
        margin-top: 26px;
      }
      .footer-contact p {
        color: #dce4f5;
        font-size: 14px;
        line-height: 1.8;
      }
      .footer-phone a {
        font-size: 30px;
        font-weight: 700;
        letter-spacing: -.03em;
        color: #fff;
        line-height: 1.2;
        display: inline-block;
        margin-bottom: 8px;
      }
      .sns-list {
        display: flex;
        gap: 10px;
        margin-top: 22px;
        flex-wrap: wrap;
      }
      .sns-list a {
        width: 40px;
        height: 40px;
        border: 1px solid #ffffff40;
        display: grid;
        place-items: center;
        border-radius: 50%;
        transition: background .2s;
      }
      .sns-list a:hover {
        background: #ffffff20;
      }
      .sns-list img {
        width: 18px;
        height: 18px;
        filter: brightness(0) invert(1);
      }
      .sns-text {
        font-size: 10px;
        letter-spacing: .06em;
        font-weight: 700;
      }
      .footer-family {
        display: flex;
        flex-direction: column;
        gap: 14px;
        align-items: flex-start;
      }
      .footer-family .small-label {
        color: var(--pale);
        margin-bottom: 6px;
      }
      .footer-family img {
        height: 20px;
        width: auto;
        filter: brightness(0) invert(1);
        opacity: .75;
        transition: opacity .2s;
      }
      .footer-family a:hover img {
        opacity: 1;
      }
      .footer-legal {
        border-top: 1px solid #ffffff30;
        padding: 22px 0 0;
        display: flex;
        flex-wrap: wrap;
        gap: 8px 26px;
        font-size: 13px;
        color: #bfcae0;
      }
      .footer-legal span:first-child {
        color: #fff;
        font-weight: 600;
      }
      .footer-bottom {
        display: flex;
        justify-content: space-between;
        gap: 25px;
        padding-top: 22px;
        font-size: 13px;
        color: #bfcae0;
      }
      .footer-bottom a {
        color: white;
      }
      .top-btn {
        position: fixed;
        right: 28px;
        bottom: 28px;
        z-index: 40;
        width: 64px;
        height: 64px;
        border-radius: 50%;
        border: 1px solid var(--navy);
        background: #fffffff2;
        color: var(--navy);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 10px;
        letter-spacing: .12em;
        font-weight: 700;
        line-height: 1.2;
        box-shadow: 0 8px 24px #001a5c22;
        transition: background .2s,color .2s;
      }
      .top-btn span:first-child {
        font-size: 20px;
        line-height: 1;
      }
      .top-btn:hover {
        background: var(--navy);
        color: #fff;
      }
      dialog {
        border: 0;
        padding: 0;
        max-width: 600px;
        width: calc(100% - 40px);
        max-height: calc(100svh - 48px);
        color: var(--ink);
      }
      dialog::backdrop {
        background: #00102bbc;
        backdrop-filter: blur(5px);
      }
      .dialog-inner {
        padding: 58px 45px 45px;
      }
      .dialog-close {
        position: absolute;
        right: 18px;
        top: 12px;
        border: 0;
        background: none;
        font-size: 34px;
        width: 44px;
        height: 44px;
      }
      .dialog-inner h2 {
        font-size: 42px;
        margin-bottom: 25px;
      }
      .dialog-inner>p:not(.eyebrow) {
        font-size: 17px;
      }
      .dialog-note {
        background: var(--wash);
        padding: 20px 22px;
        margin: 30px 0;
      }
      .dialog-note strong {
        font-size: 14px;
        color: var(--navy);
      }
      .dialog-note p {
        font-size: 14px;
        margin-top: 6px;
      }
      .dialog-inner>.button {
        width: 100%;
      }
      .noscript-notice {
        background: var(--wash);
        color: var(--navy);
        padding: 20px;
        text-align: center;
        font-size: 14px;
      }
      [data-reveal] {
        opacity: 0;
        transition: opacity .8s ease,transform .9s cubic-bezier(.22,.61,.36,1);
        transition-delay: var(--delay,0ms);
      }
      [data-reveal="up"] {
        transform: translateY(36px);
      }
      [data-reveal="left"] {
        transform: translateX(56px);
      }
      [data-reveal="right"] {
        transform: translateX(-56px);
      }
      [data-reveal="zoom"] {
        transform: scale(.93);
      }
      [data-reveal].reveal-visible {
        opacity: 1;
        transform: none;
      }
      .motion-off * {
        animation: none!important;
        transition: none!important;
        scroll-behavior: auto!important;
      }
      .motion-off [data-reveal] {
        opacity: 1;
        transform: none;
      }
      .motion-off .hero-visual img {
        transform: none!important;
      }
      .motion-off .items-sticky {
        position: static;
      }
      .motion-off {
        scroll-behavior: auto;
      }
      .motion-off .step-line {
        width: 56px;
      }
      .motion-off .logo-track {
        animation: none!important;
      }
      .motion-off .logo-wall {
        flex-wrap: wrap;
        mask-image: none;
      }
      .motion-off .logo-track {
        flex-wrap: wrap;
      }
      .motion-off .logo-track[aria-hidden] {
        display: none;
      }
      @keyframes hero-breathe {
        from {
          transform: scale(1.09);
        }
        to {
          transform: scale(1.035);
        }
      }
      @media(min-width:1800px) {
        .hero {
          min-height: 900px;
        }
        .hero-content {
          padding-bottom: 35px;
        }
        .hero-footer {
          margin-top: 60px;
        }
        .hero-description {
          max-width: 650px;
        }
      }
      @media(max-width:1150px) {
        :root {
          --gutter: 40px;
          --header-height: 80px;
        }
        .header nav {
          gap: 18px;
          font-size: 14px;
        }
        .wordmark {
          font-size: 27px;
        }
        .wordmark span {
          display: none;
        }
        .hero {
          min-height: 800px;
        }
        .split {
          gap: 6%;
        }
        .section-heading {
          margin-bottom: 50px;
        }
        .audience-grid {
          grid-template-columns: 1fr 1fr;
        }
        .audience-item {
          padding: 30px!important;
          min-height: 315px;
          border-bottom: 1px solid var(--line);
        }
        .audience-item:nth-child(3) {
          border-left: 0;
        }
        .process-list {
          grid-template-columns: 1fr 1fr;
        }
        .process-step {
          padding: 30px 24px 30px 0;
        }
        .process-step+.process-step {
          padding-left: 24px;
        }
        .process-step:nth-child(3) {
          border-left: 0;
          padding-left: 0;
        }
        .process-step:nth-child(3) .step-line {
          left: 0;
        }
        .process-step:nth-child(n+3) {
          border-top: 1px solid var(--line);
        }
        .items-layout {
          grid-template-columns: 1fr;
          gap: 40px;
        }
        .items-sticky {
          position: static;
        }
        .identity-grid {
          grid-template-columns: 1fr;
          gap: 50px;
        }
        .business-row {
          grid-template-columns: 1fr 1.15fr auto;
        }
        .business-open>span:first-child {
          display: none;
        }
        .business-name {
          gap: 18px;
        }
        .business-name h3 {
          font-size: 32px;
        }
        .business-icon {
          width: 54px;
          height: 54px;
        }
        .business-icon img {
          width: 40px;
          height: 40px;
        }
        .relationship-grid article {
          padding: 40px 30px;
        }
        .brand-row {
          gap: 35px;
        }
        .brand-row ul {
          font-size: 22px;
          gap: 14px 28px;
        }
        .form-panel {
          padding: 30px;
        }
        .form-row {
          grid-template-columns: 1fr;
          gap: 0;
        }
        .footer-top {
          grid-template-columns: 1fr 1fr;
        }
        .footer-slogan {
          font-size: 21px;
        }
      }
      @media(max-width:760px) {
        :root {
          --gutter: 24px;
          --header-height: 72px;
          --section-space: 80px;
        }
        body {
          font-size: 16px;
        }
        h2 {
          font-size: 35px;
          line-height: 1.4;
        }
        .eyebrow {
          font-size: 12px;
          margin-bottom: 20px;
        }
        .header-inner {
          gap: 20px;
        }
        .wordmark {
          font-size: 27px;
        }
        .wordmark span {
          display: block;
          font-size: 12px;
          padding-left: 12px;
        }
        .wordmark {
          gap: 12px;
        }
        .menu-toggle {
          display: flex;
          align-items: center;
          gap: 15px;
          padding: 10px 0;
        }
        .menu-toggle span {
          font-size: 25px;
        }
        .header nav {
          display: none;
          position: absolute;
          top: 72px;
          left: 0;
          right: 0;
          background: white;
          color: var(--navy);
          padding: 20px 24px 28px;
          box-shadow: 0 15px 20px #001A5C15;
          align-items: stretch;
          gap: 5px;
          font-size: 18px;
        }
        .header.menu-open nav {
          display: flex;
          flex-direction: column;
        }
        .header nav a {
          padding: 12px 0;
        }
        .header nav .nav-contact {
          border-color: var(--line);
          margin-top: 8px;
          text-align: center;
        }
        .header nav a:after {
          display: none;
        }
        .hero {
          height: 100svh;
          min-height: 760px;
          max-height: 1000px;
        }
        .hero-content {
          padding-top: 130px;
          padding-bottom: 24px;
        }
        .hero-eyebrow {
          font-size: 13px;
          letter-spacing: .045em;
          margin-bottom: 22px;
        }
        .hero h1 {
          font-size: clamp(34px,5.8vw,44px);
          line-height: 1.5;
          letter-spacing: -.065em;
        }
        .hero-description {
          font-size: 16px;
          line-height: 1.8;
          margin-top: 23px;
          max-width: 420px;
        }
        .hero-visual img {
          object-position: 61% center;
        }
        .hero-shade {
          background: linear-gradient(0deg,rgba(0,14,49,.9),rgba(0,14,49,.35) 75%);
        }
        .actions {
          gap: 15px 26px;
          margin-top: 22px;
        }
        .text-link {
          font-size: 14px;
          gap: 14px;
        }
        .info-li {
          margin-top: 24px;
          gap: 12px 28px;
        }
        .info-li li:nth-child(2) {
          display: none;
        }
        .info-li .val {
          font-size: 14px;
        }
        .hero-footer {
          margin-top: 30px;
          padding-top: 20px;
        }
        .hero-footer>a {
          gap: 15px;
        }
        .hero-footer>a>span:first-child {
          display: none;
        }
        .hero-line {
          width: 50px;
        }
        .scroll-arrow {
          font-size: 35px;
        }
        .intro-mark {
          font-size: 34px;
        }
        .split {
          grid-template-columns: 1fr;
          gap: 36px;
        }
        .about {
          padding: 85px 0;
        }
        .about-copy {
          padding-top: 0;
        }
        .about-copy .large-copy {
          font-size: 26px;
        }
        .about-copy>p {
          font-size: 16px;
        }
        .goal-text {
          font-size: 24px;
        }
        .goal-figure {
          min-height: 0;
        }
        .illust[data-illust="discs"] {
          width: 220px;
        }
        .section-heading {
          display: block;
          margin-bottom: 40px;
        }
        .section-heading>p {
          margin-top: 24px;
          font-size: 16px;
        }
        .process-list {
          grid-template-columns: 1fr;
        }
        .process-step,.process-step+.process-step {
          padding: 26px 0;
          border-left: 0;
          border-top: 1px solid var(--line);
        }
        .process-step:first-child {
          border-top: 0;
        }
        .process-step+.process-step .step-line {
          left: 0;
        }
        .process-step h3 {
          font-size: 23px;
        }
        .items-grid {
          grid-template-columns: repeat(3,1fr);
          gap: 8px;
        }
        .items-grid li {
          padding: 16px 6px 14px;
          font-size: 12px;
          gap: 8px;
        }
        .items-grid img {
          width: 48px;
          height: 48px;
        }
        .items-count strong {
          font-size: 36px;
        }
        .audience-grid {
          grid-template-columns: 1fr;
        }
        .audience-item,.audience-item+.audience-item {
          padding: 28px 0!important;
          border-left: 0;
          min-height: 0;
        }
        .audience-item h3 {
          margin: 18px 0 13px;
          font-size: 27px;
        }
        .audience-item h3 br {
          display: initial;
        }
        .audience-item>p {
          margin-bottom: 15px;
          max-width: 430px;
        }
        .audience-item .text-link {
          font-size: 15px;
        }
        .relationship-grid {
          grid-template-columns: 1fr;
        }
        .relationship-grid article {
          padding: 35px 28px;
        }
        .relationship-grid h3 {
          font-size: 34px;
        }
        .relationship-grid p {
          font-size: 16px;
        }
        .family-logos {
          gap: 18px;
        }
        .family-logos img {
          height: 18px;
        }
        .business-row {
          grid-template-columns: 1fr auto;
          gap: 12px;
          padding: 24px 0;
        }
        .business-row>p {
          grid-row: 2;
          grid-column: 1;
          font-size: 14px;
        }
        .business-name {
          gap: 14px;
        }
        .business-name h3 {
          font-size: 28px;
        }
        .business-icon {
          width: 46px;
          height: 46px;
        }
        .business-icon img {
          width: 34px;
          height: 34px;
        }
        .business-icon-text {
          font-size: 20px;
        }
        .business-open {
          grid-column: 2;
          grid-row: 1 / 3;
        }
        .round-arrow {
          width: 44px;
          height: 44px;
        }
        .business-row:hover {
          padding-left: 8px;
          padding-right: 8px;
        }
        .logo-track {
          gap: 10px;
          animation-duration: 45s;
        }
        .logo-wall {
          gap: 10px;
          padding-bottom: 40px;
        }
        .logo-track li {
          width: 140px;
          height: 60px;
        }
        .logo-track img {
          width: 100px;
          height: 40px;
        }
        .brand-row {
          grid-template-columns: 1fr;
          gap: 22px;
          padding: 28px 0;
        }
        .brand-row ul {
          font-size: 20px;
          gap: 12px 22px;
        }
        .brand-row h3 {
          font-size: 21px;
        }
        .source-note {
          font-size: 12px;
          line-height: 1.9;
        }
        .typo-list li {
          grid-template-columns: 1fr;
          gap: 12px;
        }
        .typo-list .util {
          flex-direction: row;
          gap: 12px;
        }
        .typo-list strong {
          font-size: 26px;
        }
        .box-color {
          grid-template-columns: repeat(3,1fr);
        }
        .box-color li {
          aspect-ratio: 1/1.1;
          font-size: 11px;
        }
        .guide-intro {
          font-size: 16px;
        }
        .faq-list summary {
          font-size: 17px;
          gap: 20px;
          padding: 22px 0;
        }
        .faq-list details>p {
          font-size: 15px;
        }
        .contact-copy>p:not(.eyebrow) {
          font-size: 16px;
        }
        .contact-info {
          grid-template-columns: 1fr;
          gap: 14px;
          margin-top: 30px;
        }
        .demo-note {
          margin-top: 28px;
          gap: 12px;
        }
        .form-panel {
          padding: 25px 20px;
        }
        .form-row {
          grid-template-columns: 1fr;
        }
        .contact .split {
          gap: 35px;
        }
        .form-panel label {
          font-size: 14px;
        }
        .form-notice {
          font-size: 12px;
        }
        .top-btn {
          right: 16px;
          bottom: 16px;
          width: 52px;
          height: 52px;
          font-size: 9px;
        }
        .top-btn span:first-child {
          font-size: 17px;
        }
        .footer {
          padding-top: 45px;
        }
        .footer-top {
          grid-template-columns: 1fr;
          gap: 30px;
          padding-bottom: 35px;
        }
        .footer-slogan {
          font-size: 21px;
          margin-top: 18px;
        }
        .footer-phone a {
          font-size: 26px;
        }
        .footer .wordmark span {
          display: none;
        }
        .footer-legal {
          font-size: 12px;
          gap: 6px 18px;
        }
        .footer-bottom {
          align-items: flex-start;
          font-size: 11px;
          gap: 15px;
        }
        .footer-bottom a {
          white-space: nowrap;
        }
        .dialog-inner {
          padding: 55px 25px 30px;
        }
        .dialog-inner h2 {
          font-size: 36px;
        }
        .dialog-inner>p:not(.eyebrow) {
          font-size: 16px;
        }
        .dialog-note {
          padding: 18px;
          margin: 25px 0;
        }
        .form-success h3 {
          font-size: 30px;
        }
      }
      @media(prefers-reduced-motion:reduce) {
        html {
          scroll-behavior: auto;
        }
        *,*::before,*::after {
          animation: none!important;
          transition: none!important;
          scroll-behavior: auto!important;
        }
        .hero-visual img {
          transform: none!important;
        }
        [data-reveal] {
          opacity: 1;
          transform: none;
        }
        .hero h1 .ch {
          opacity: 1;
          transform: none;
        }
        .step-line {
          width: 56px;
        }
        .logo-wall {
          flex-wrap: wrap;
          mask-image: none;
        }
        .logo-track {
          flex-wrap: wrap;
        }
        .logo-track[aria-hidden] {
          display: none;
        }
        .intro {
          display: none;
        }
      }
      @media print {
        .header,.actions,.hero-footer,.business-open,#contact,dialog,.top-btn,.illust,.intro,.logo-track[aria-hidden] {
          display: none!important;
        }
        .hero {
          min-height: 0;
          height: auto;
          padding: 40px 0;
          background: var(--navy);
          print-color-adjust: exact;
        }
        .hero-visual {
          display: none;
        }
        .hero-content {
          padding-top: 30px;
        }
        .section {
          padding: 40px 0;
          break-inside: avoid;
        }
        .section-heading {
          margin-bottom: 30px;
        }
        [data-reveal] {
          opacity: 1;
          transform: none;
        }
        .hero h1 .ch {
          opacity: 1;
          transform: none;
        }
        .logo-wall {
          flex-wrap: wrap;
          mask-image: none;
        }
        .logo-track {
          flex-wrap: wrap;
          animation: none;
        }
        .footer,.box-color li,.partners {
          print-color-adjust: exact;
        }
      }
      /* ── v4: 다중 페이지 공통 ───────────────────────────── */
      main {
        overflow-x: clip;
      }
      .header nav a[aria-current="page"]:after {
        right: 0;
      }
      .header nav a.nav-contact[aria-current="page"] {
        background: #ffffff1f;
      }
      .solid .nav-contact[aria-current="page"],.menu-open .nav-contact[aria-current="page"] {
        background: var(--wash);
      }
      .header nav a.nav-contact:after {
        display: none;
      }
      .page-hero {
        background: var(--navy);
        color: #fff;
        padding: calc(var(--header-height) + clamp(56px,6vw,110px)) 0 clamp(48px,5vw,80px);
        position: relative;
        overflow: hidden;
      }
      .page-hero:after {
        content: '';
        position: absolute;
        right: -8%;
        top: -30%;
        width: min(640px,60vw);
        aspect-ratio: 1;
        border-radius: 50%;
        border: 1px solid #ffffff1c;
        box-shadow: 0 0 0 70px #ffffff06,0 0 0 140px #ffffff04;
        pointer-events: none;
      }
      .page-hero .container {
        position: relative;
        z-index: 1;
      }
      .page-hero .eyebrow {
        color: var(--pale);
        margin-bottom: 16px;
      }
      .page-hero h1 {
        font-size: clamp(40px,4.4vw,72px);
        letter-spacing: -.055em;
        line-height: 1.2;
      }
      .page-lead {
        color: #dce4f5;
        font-size: clamp(16px,1.2vw,19px);
        margin-top: 20px;
        max-width: 640px;
      }
      .breadcrumb {
        display: flex;
        gap: 10px;
        font-size: 13px;
        color: #bfcae0;
        margin-bottom: 36px;
      }
      .breadcrumb a {
        text-decoration: underline;
        text-underline-offset: 4px;
        text-decoration-color: #ffffff60;
      }
      .breadcrumb [aria-current] {
        color: #fff;
      }
      .page-toc {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 40px;
        padding-top: 24px;
        border-top: 1px solid #ffffff30;
      }
      .page-toc a {
        font-size: 14px;
        font-weight: 600;
        padding: 8px 16px;
        border: 1px solid #ffffff40;
        border-radius: 999px;
        transition: background .2s;
      }
      .page-toc a:hover {
        background: #ffffff1a;
      }
      .motion-toggle {
        background: none;
        border: 1px solid #ffffff40;
        color: #bfcae0;
        font-size: 12px;
        padding: 6px 14px;
        border-radius: 999px;
      }
      .motion-toggle:hover:not(:disabled) {
        color: #fff;
        border-color: #ffffff80;
      }
      .hero-footer {
        justify-content: space-between;
      }
      /* 홈 */
      .page-index .about {
        padding-bottom: clamp(70px,7vw,120px);
      }
      .about-copy .text-link {
        margin-top: 30px;
      }
      .stats-band {
        background: var(--wash);
        padding: clamp(56px,5vw,90px) 0;
      }
      .stats {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(4,1fr);
        border-top: 1px solid var(--navy);
      }
      .stats li+li {
        border-left: 1px solid var(--line);
      }
      .stats a {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 32px 28px 28px;
        height: 100%;
        position: relative;
        transition: background .2s;
      }
      .stats li:first-child a {
        padding-left: 0;
      }
      .stats a:hover {
        background: #fff;
      }
      .stat-num {
        font-size: 16px;
        font-weight: 600;
        color: var(--navy);
      }
      .stat-num strong {
        font-size: clamp(44px,4vw,64px);
        letter-spacing: -.04em;
        line-height: 1;
        margin-right: 6px;
        font-weight: 700;
      }
      .stat-desc {
        font-size: 14px;
        color: var(--muted);
        line-height: 1.6;
      }
      .stat-arrow {
        position: absolute;
        right: 24px;
        top: 30px;
        font-size: 22px;
        color: var(--navy);
        transition: transform .2s;
      }
      .stats a:hover .stat-arrow {
        transform: translate(3px,-3px);
      }
      .cta-band {
        background: var(--wash);
        padding: clamp(64px,6vw,110px) 0;
      }
      .cta-band .container {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        gap: 32px;
        flex-wrap: wrap;
      }
      .cta-band h2 {
        font-size: clamp(30px,3vw,48px);
      }
      .cta-band p:not(.eyebrow) {
        margin-top: 14px;
        font-size: 16px;
      }
      .cta-band p a {
        color: var(--navy);
        font-weight: 700;
      }
      .cta-band .button {
        min-width: 220px;
      }
      /* 회사소개 */
      .fact-list {
        margin: 40px 0 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 18px 30px;
        border-top: 1px solid var(--line);
        padding-top: 28px;
      }
      .fact-list div {
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .fact-list dt {
        font-size: 13px;
        color: var(--muted);
      }
      .fact-list dd {
        margin: 0;
        font-size: 16px;
        font-weight: 600;
        color: var(--navy);
        line-height: 1.6;
      }
      .work-outcomes {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-top: 64px;
        background: var(--navy);
        color: #fff;
      }
      .work-outcomes>div {
        padding: 32px 36px;
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .work-outcomes>div+div {
        border-left: 1px solid #ffffff30;
      }
      .work-outcomes span {
        font-size: 14px;
        color: var(--pale);
      }
      .work-outcomes strong {
        font-size: clamp(20px,1.8vw,26px);
        font-weight: 600;
        letter-spacing: -.04em;
      }
      /* 하위 페이지 끝: 다음 페이지 한 곳만 안내 */
      .next-page {
        padding: 0;
      }
      .next-page a {
        display: grid;
        grid-template-columns: auto 1fr auto;
        grid-template-areas: "label title arrow" "label lead arrow";
        align-items: center;
        gap: 6px 48px;
        padding: 48px 0;
        border-top: 1px solid var(--navy);
        border-bottom: 1px solid var(--line);
      }
      .next-label {
        grid-area: label;
        font-size: 13px;
        letter-spacing: .1em;
        color: var(--blue);
        font-weight: 700;
      }
      .next-page strong {
        grid-area: title;
        font-size: clamp(26px,2.4vw,38px);
        color: var(--navy);
        letter-spacing: -.05em;
        line-height: 1.3;
      }
      .next-lead {
        grid-area: lead;
        font-size: 15px;
        color: var(--muted);
      }
      .next-page .round-arrow {
        grid-area: arrow;
      }
      .next-page a:hover .round-arrow {
        background: var(--navy);
        color: #fff;
      }
      .page-partners .next-page,.page-items .next-page,.page-company .next-page,.page-business .next-page {
        margin-top: 0;
      }
      /* 제휴 브랜드: 남색 머리와 본문 경계 */
      .page-partners .partners {
        border-top: 1px solid #ffffff25;
      }
      @media(max-width:1150px) {
        .stats {
          grid-template-columns: 1fr 1fr;
        }
        .stats li:nth-child(3) {
          border-left: 0;
        }
        .stats li:nth-child(n+3) {
          border-top: 1px solid var(--line);
        }
        .stats li:nth-child(3) a {
          padding-left: 0;
        }
      }
      @media(max-width:760px) {
        .page-hero {
          padding-top: calc(var(--header-height) + 44px);
        }
        .breadcrumb {
          margin-bottom: 24px;
        }
        .page-toc {
          margin-top: 28px;
          padding-top: 18px;
        }
        .page-toc a {
          font-size: 13px;
          padding: 6px 12px;
        }
        .stats a {
          padding: 22px 14px 20px;
        }
        .stats li:nth-child(odd) a {
          padding-left: 0;
        }
        .stat-arrow {
          right: 10px;
          top: 22px;
          font-size: 18px;
        }
        .fact-list {
          grid-template-columns: 1fr;
        }
        .work-outcomes {
          grid-template-columns: 1fr;
          margin-top: 40px;
        }
        .work-outcomes>div {
          padding: 24px;
        }
        .work-outcomes>div+div {
          border-left: 0;
          border-top: 1px solid #ffffff30;
        }
        .next-page a {
          grid-template-columns: 1fr auto;
          grid-template-areas: "label arrow" "title arrow" "lead arrow";
          gap: 4px 20px;
          padding: 36px 0;
        }
        .cta-band .button {
          width: 100%;
        }
        .footer-bottom {
          flex-direction: column;
          align-items: flex-start;
        }
      }
      /* 제휴 로고: 흰 박스 없이 흰색 로고만 흐르게 */
      .logo-track li {
        background: none;
        width: 170px;
        height: 70px;
        border-radius: 0;
      }
      .logo-track img {
        width: 150px;
        height: 59px;
        opacity: .85;
        transition: opacity .2s;
      }
      .logo-track li:hover img {
        opacity: 1;
      }
      .logo-wall,.logo-track {
        gap: 28px;
      }
      @keyframes logo-scroll {
        to {
          transform: translateX(calc(-100% - 28px));
        }
      }
      /* ── v5: 문의 양식 동의 ── */
      .consent {
        margin-top: 6px;
      }
      .check {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 10px;
        font-weight: 600;
        cursor: pointer;
      }
      .check input {
        width: 20px;
        height: 20px;
        min-height: 0;
        flex: none;
        margin: 3px 0 0;
        padding: 0;
        accent-color: var(--navy);
      }
      .check em {
        font-style: normal;
        font-size: 12px;
        color: var(--muted);
        font-weight: 400;
        margin-left: 4px;
      }
      .consent-text {
        font-size: 13px;
        line-height: 1.7;
        margin: 6px 0 0 30px;
      }
      .consent-text a {
        color: var(--navy);
        text-decoration: underline;
        text-underline-offset: 3px;
      }
      .footer-privacy {
        color: #fff;
        font-weight: 700;
      }
      /* 개인정보처리방침 */
      .policy .container {
        max-width: 960px;
      }
      .policy h2 {
        font-size: clamp(26px,2.4vw,36px);
        margin: 36px 0 14px;
      }
      .policy h3 {
        font-size: 20px;
        color: var(--navy);
        margin: 24px 0 8px;
      }
      .policy p,.policy li {
        font-size: 16px;
        line-height: 1.9;
        color: var(--ink);
      }
      .policy table {
        width: 100%;
        border-collapse: collapse;
        font-size: 15px;
        margin: 12px 0;
      }
      .policy th,.policy td {
        border: 1px solid var(--line);
        padding: 10px 12px;
        text-align: left;
        vertical-align: top;
      }
      .policy th {
        background: var(--wash);
        color: var(--navy);
      }
      .policy-pending {
        border-top: 1px solid var(--navy);
        padding-top: 36px;
      }
      .policy-pending h2 {
        margin: 14px 0 18px;
      }
      .policy-pending p {
        color: var(--muted);
      }
      .policy-pending a {
        color: var(--navy);
        font-weight: 700;
      }
      /* ── v5: 다크모드 대응 ──
         이 사이트는 남색·흰색 대비가 브랜드 기준이라 밝은 화면으로 고정합니다.
         color-scheme: light only 는 Chrome·Edge·Samsung Internet의 자동 어둡게(강제 반전)를 막고,
         입력칸·선택 목록·체크박스·스크롤바 같은 기본 컨트롤도 밝은 모양으로 그리게 합니다. */
      :root {
        color-scheme: light only;
      }
      html {
        background: var(--white);
      }
      input,select,textarea {
        background-color: var(--soft);
        color: var(--ink);
        -webkit-text-fill-color: var(--ink);
      }
      input::placeholder,textarea::placeholder {
        color: #8b94a6;
        -webkit-text-fill-color: #8b94a6;
        opacity: 1;
      }
      select option {
        background: #fff;
        color: var(--ink);
      }
      input:-webkit-autofill {
        -webkit-box-shadow: 0 0 0 100px var(--soft) inset;
      }
      dialog {
        background: #fff;
      }
      details>summary,label {
        color: var(--navy);
      }
      /* ── v6: 개인정보 처리방침 문서 ── */
      .policy-doc {
        max-width: 880px;
      }
      .policy-intro {
        font-size: 17px;
        line-height: 1.9;
        color: var(--ink);
      }
      .policy-scope {
        margin-top: 16px;
        padding: 16px 20px;
        background: var(--wash);
        font-size: 15px;
        color: var(--navy);
      }
      .policy-toc {
        margin: 36px 0 12px;
        padding: 24px 28px;
        border: 1px solid var(--line);
      }
      .policy-toc ol {
        margin: 0;
        padding-left: 22px;
        columns: 2;
        column-gap: 36px;
      }
      .policy-toc li {
        font-size: 15px;
        line-height: 2;
        break-inside: avoid;
      }
      .policy-toc a {
        color: var(--navy);
      }
      .policy-toc a:hover {
        text-decoration: underline;
      }
      .policy-doc h2 {
        scroll-margin-top: calc(var(--header-height) + 20px);
        padding-top: 32px;
        border-top: 1px solid var(--line);
      }
      .policy-doc ol,.policy-doc ul {
        padding-left: 22px;
        margin: 10px 0;
      }
      .policy-doc li+li {
        margin-top: 6px;
      }
      .policy-doc td:first-child {
        width: 34%;
        font-weight: 600;
        color: var(--navy);
      }
      .policy-note {
        font-size: 14px!important;
        color: var(--muted)!important;
      }
      @media(max-width:760px) {
        .policy-toc ol {
          columns: 1;
        }
        .policy-doc table {
          font-size: 14px;
        }
        .policy-doc th,.policy-doc td {
          padding: 8px;
        }
      }
      /* 원본 styles.css는 보존하고 필요한 보완만 추가합니다. */
      .footer-profile {
        display: inline-flex;
        align-items: center;
        gap: 16px;
        margin-top: 24px;
        padding: 11px 16px;
        border: 1px solid rgba(255,255,255,.4);
        font-size: 15px;
        line-height: 1.4;
        color: #fff;
      }
      .footer-profile small {
        font-size: 11px;
        opacity: .7;
      }
      .footer-profile:hover {
        border-color: #fff;
        background: rgba(255,255,255,.06);
      }
      main:focus,h1:focus {
        outline: none;
      }
      html:not(.motion-ready) .intro {
        display: none;
      }
      html:not(.motion-ready) [data-reveal] {
        opacity: 1;
        transform: none;
      }
      html:not(.motion-ready) .hero .ch {
        opacity: 1;
        transform: none;
      }
      @media(max-width:760px) {
        html:not(.app-ready) .header {
          height: auto;
          position: relative;
          background: #fff;
          color: #001A5C;
        }
        html:not(.app-ready) .header-inner {
          height: auto;
          min-height: 90px;
          flex-wrap: wrap;
          padding-top: 18px;
          padding-bottom: 18px;
        }
        html:not(.app-ready) .menu-toggle {
          display: none;
        }
        html:not(.app-ready) #navigation {
          display: flex;
          position: static;
          flex-wrap: wrap;
          gap: 12px;
          width: 100%;
          opacity: 1;
          visibility: visible;
          transform: none;
          padding: 16px 0 0;
          background: #fff;
          color: #001A5C;
        }
        html:not(.app-ready) #navigation a {
          font-size: 15px;
          padding: 4px 0;
          color: #001A5C;
        }
      }
      /* V9 · 2026.10.12 */
      .wordmark {
        flex-shrink: 0;
        gap: 0;
        line-height: 0;
        background: transparent;
      }
      .kplus-brand-logo {
        display: block;
        width: 196px;
        max-width: 100%;
        height: auto;
        object-fit: contain;
        filter: brightness(0) invert(1);
      }
      .intro-mark {
        display: block;
        width: 100%;
        line-height: 0;
      }
      .intro-mark .kplus-brand-logo {
        width: 100%;
      }
      .footer .kplus-brand-logo {
        width: 240px;
      }
      .header.solid,.header.menu-open {
        background: var(--navy);
        color: white;
        border-bottom-color: #ffffff30;
      }
      .header.solid .nav-contact {
        border-color: #ffffff80;
      }
      .hero-content {
        justify-content: center;
        padding-top: 150px;
        padding-bottom: 100px;
      }
      .hero-footer {
        margin-top: 56px;
      }
      .hero-footer a {
        min-height: 44px;
      }
      .hero-footer a span:first-child {
        display: inline;
      }
      .stats a {
        padding-right: 18px;
      }
      .stats .stat-desc {
        max-width: 245px;
        line-height: 1.7;
      }
      .audience {
        padding-bottom: var(--section-space);
      }
      .audience>.container {
        width: 100%;
        max-width: none;
        padding: 0;
      }
      .audience .section-heading {
        max-width: 1440px;
        margin-left: auto;
        margin-right: auto;
        padding: 0 var(--gutter);
      }
      .audience-grid {
        grid-template-columns: repeat(var(--audience-count,3),minmax(0,1fr));
        gap: 0;
        border: 0;
      }
      .audience .audience-item,.audience .audience-item+.audience-item {
        position: relative;
        isolation: isolate;
        min-height: 590px;
        display: flex;
        justify-content: flex-end;
        padding: 48px clamp(24px,3vw,52px)!important;
        overflow: hidden;
        border: 0;
        background: #152a45;
      }
      .audience-photo {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        z-index: -2;
      }
      .audience-item:after {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
        background: linear-gradient(180deg,rgba(5,20,42,.12) 0%,rgba(5,20,42,.45) 34%,rgba(5,20,42,.88) 100%);
      }
      .audience-content {
        width: 100%;
        color: #fff;
      }
      .audience-item .small-label {
        color: #fff;
        font-size: 17px;
        font-weight: 600;
        letter-spacing: -.02em;
      }
      .audience-item h3 {
        font-size: clamp(25px,2.25vw,38px);
        line-height: 1.48;
        color: #fff;
        margin: 22px 0;
        letter-spacing: -.055em;
      }
      .audience-item h3:after {
        content: "";
        display: block;
        width: 48px;
        height: 3px;
        background: #fff;
        margin-top: 25px;
      }
      .audience-content>p {
        max-width: 360px;
        min-height: 54px;
        margin: 0 0 30px;
        color: #f2f4f8;
        font-size: 16px;
        line-height: 1.85;
        word-break: keep-all;
      }
      .audience-actions {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
        align-items: center;
      }
      .audience-actions .text-link {
        margin: 0;
        min-height: 46px;
        border: 1px solid #ffffff90;
        padding: 10px 18px;
        background: #ffffff14;
        color: white;
        font-size: 14px;
        line-height: 1.4;
      }
      .audience-actions .text-link:hover,.audience-actions .text-link:focus-visible {
        background: #fff;
        color: var(--navy);
      }
      .audience,.audience *, .audience *:before,.audience *:after {
        animation: none!important;
        transition: none!important;
        transform: none!important;
      }
      @media(prefers-reduced-motion:no-preference) {
        .audience-actions .text-link {
          transition: background-color .2s ease,color .2s ease,border-color .2s ease!important;
        }
      }
      .business-open {
        border: 1px solid var(--line);
        padding: 10px 15px;
        white-space: nowrap;
        min-height: 44px;
        font-size: 14px;
      }
      .business-open>span:first-child {
        display: inline;
      }
      .business-name h3 {
        font-size: clamp(25px,2.6vw,38px);
      }
      .business-name {
        gap: 18px;
      }
      .business-row {
        grid-template-columns: 1.25fr 1.25fr auto;
        gap: 24px;
      }
      .business-row>p {
        line-height: 1.85;
      }
      .next-page a {
        grid-template-columns: auto 1fr;
        grid-template-areas: "label title" "label lead";
      }
      .relationship-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 0;
      }
      .relationship-grid .company-block {
        grid-column: 1/-1;
        padding: 36px 48px;
      }
      .relationship-grid .company-block h3 {
        font-size: 32px;
        margin: 15px 0;
      }
      .relationship-grid .service-block {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
      }
      .relationship-grid .business-data-block {
        background: #e1e8f4;
        border-left: 1px solid #d2dbee;
      }
      .relationship-grid .service-block>p {
        min-height: 100px;
        line-height: 1.9;
      }
      .relationship-grid .text-link {
        border-bottom: 1px solid currentColor;
        padding: 5px 0;
        min-height: 44px;
      }
      .family-name {
        display: inline-block;
        font-size: 18px;
        font-weight: 750;
        line-height: 1.4;
        white-space: nowrap;
      }
      .family-logos .family-name {
        color: var(--navy);
      }
      @media(min-width:1700px) {
        .audience-item {
          min-height: 690px!important;
        }
      }
      @media(max-width:1150px) {
        .header .kplus-brand-logo {
          width: 170px;
        }
        .header-inner {
          gap: 24px;
        }
        .audience .audience-item {
          min-height: 580px;
          padding: 38px 26px!important;
        }
        .audience-item h3 {
          font-size: 27px;
        }
        .business-name {
          gap: 12px;
        }
        .business-name h3 {
          font-size: 28px;
        }
        .business-icon {
          display: none;
        }
      }
      @media(max-width:760px) {
        .header .kplus-brand-logo {
          width: 150px;
        }
        .footer .kplus-brand-logo {
          width: 205px;
        }
        .header nav {
          background: var(--navy);
          color: white;
        }
        .header nav .nav-contact,.header.solid nav .nav-contact {
          border-color: #ffffff70;
        }
        .header-inner {
          gap: 18px;
        }
        .hero-content {
          padding-top: 125px;
          padding-bottom: 65px;
        }
        .hero {
          min-height: 680px;
        }
        .hero-footer {
          margin-top: 40px;
        }
        .audience-grid {
          grid-template-columns: 1fr;
        }
        .audience .audience-item,.audience .audience-item+.audience-item {
          min-height: 470px;
          padding: 38px 28px!important;
        }
        .audience-item h3 {
          font-size: 31px;
          margin: 19px 0;
        }
        .audience-content>p {
          min-height: 0;
          max-width: 400px;
          margin-bottom: 26px;
        }
        .audience-photo {
          object-position: center 42%;
        }
        .audience .section-heading {
          padding: 0 24px;
        }
        .audience .section-heading>p {
          margin-top: 20px;
        }
        .business-row {
          grid-template-columns: 1fr auto;
          gap: 14px;
        }
        .business-name {
          gap: 12px;
        }
        .business-name h3 {
          font-size: 25px;
        }
        .business-row>p {
          grid-column: 1/-1;
          grid-row: 2;
        }
        .business-open {
          grid-row: 1;
          grid-column: 2;
          font-size: 12px;
          padding: 8px 10px;
        }
        .business-number {
          font-size: 12px;
        }
        .next-page a {
          grid-template-columns: 1fr;
          grid-template-areas: "label" "title" "lead";
        }
        .relationship-grid {
          grid-template-columns: 1fr;
        }
        .relationship-grid .company-block {
          padding: 32px 28px;
        }
        .relationship-grid .business-data-block {
          border-left: 0;
          border-top: 1px solid #d2dbee;
        }
        .relationship-grid .service-block>p {
          min-height: 0;
        }
        .relationship-grid .text-link {
          margin-top: 20px;
        }
        .stats .stat-desc {
          font-size: 12px;
        }
        .family-name {
          font-size: 16px;
        }
      }
      @media(max-width:360px) {
        .header .kplus-brand-logo {
          width: 135px;
        }
        .audience-item h3 {
          font-size: 28px;
        }
      }
      /* V10 — 선, 여백, 사진 중심의 기업 사이트 */
      html {
        scroll-padding-top: var(--header-height);
      }
      .header .kplus-brand-logo {
        width: 176px;
      }
      .header {
        box-shadow: none;
      }
      .page-hero:after {
        right: 0;
        top: 0;
        width: 48%;
        height: 100%;
        aspect-ratio: auto;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: linear-gradient(115deg,transparent 27%,#ffffff09 27%,#ffffff09 28%,transparent 28%,transparent 51%,#ffffff06 51%,#ffffff06 70%,transparent 70%);
      }
      .page-toc {
        gap: 0;
      }
      .page-toc a {
        border: 0;
        border-bottom: 1px solid #ffffff45;
        border-radius: 0;
        padding: 12px 26px 12px 0;
        margin-right: 28px;
      }
      .page-toc a:hover {
        background: none;
        border-bottom-color: #fff;
      }
      .hero {
        height: min(900px,100svh);
        min-height: 660px;
        max-height: none;
      }
      .hero-content {
        justify-content: flex-end;
        padding-top: 150px;
        padding-bottom: 30px;
      }
      .hero h1 {
        font-size: clamp(42px,4.65vw,78px);
      }
      .hero-description {
        margin-top: 26px;
      }
      .hero .actions {
        margin-top: 18px;
      }
      .hero-footer {
        margin-top: 46px;
        padding-top: 20px;
      }
      .hero-footer>a {
        min-height: 36px;
      }
      .hero-footer>a>span:first-child {
        display: block;
      }
      .hero-footer>a:after {
        content: '';
        display: block;
        width: 6px;
        height: 6px;
        border-right: 1px solid currentColor;
        border-bottom: 1px solid currentColor;
        transform: rotate(45deg);
        margin: 0 3px 4px 20px;
      }
      .hero-line {
        height: 1px;
        width: 62px;
      }
      .home-overview {
        background: #fff;
        scroll-margin-top: 0;
        padding: 58px 0 44px;
      }
      .overview-copy {
        align-items: center;
        gap: 7%;
        margin-bottom: 46px;
      }
      .overview-copy h2 {
        font-size: clamp(34px,3.3vw,56px);
        line-height: 1.35;
      }
      .overview-copy .eyebrow {
        margin-bottom: 20px;
      }
      .overview-copy .about-copy {
        padding: 0;
      }
      .overview-copy .large-copy {
        font-size: clamp(22px,2vw,30px);
        margin-bottom: 22px;
      }
      .overview-copy .about-copy>p+p {
        font-size: 16px;
        line-height: 1.85;
      }
      .home-overview .stats {
        grid-template-columns: 1.25fr 1fr 1fr 1.2fr;
      }
      .home-overview .stats li {
        border-top: 0;
      }
      .home-overview .stats li+li {
        border-left: 1px solid var(--line);
      }
      .home-overview .stats a {
        padding: 24px 22px 0;
        gap: 14px;
      }
      .home-overview .stats li:first-child a {
        padding-left: 0;
      }
      .home-overview .stat-num strong {
        font-size: 48px;
      }
      .home-overview .stat-num {
        font-size: 14px;
      }
      .home-overview .stat-desc {
        font-size: 13px;
      }
      .company-role-panel {
        border-top: 2px solid var(--navy);
      }
      .company-role-panel>div {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 26px 0;
        border-bottom: 1px solid var(--line);
      }
      .company-role-panel span {
        font-size: 11px;
        letter-spacing: .14em;
        color: var(--muted);
      }
      .company-role-panel strong {
        font-size: clamp(20px,1.65vw,27px);
        color: var(--navy);
        font-weight: 500;
        letter-spacing: -.04em;
      }
      .service-brand-mark img {
        width: 205px;
        height: auto;
        display: block;
      }
      .family-logos img {
        filter: none;
        opacity: 1;
        height: 24px;
        max-width: 165px;
        object-fit: contain;
      }
      .business-icon {
        border: 0;
        background: none;
      }
      .business-icon img {
        width: 52px;
        height: 52px;
      }
      .business-open {
        border-bottom: 1px solid var(--line);
        border-radius: 0;
      }
      .identity-block {
        border-top: 2px solid var(--navy);
      }
      .identity-block>.small-label {
        font-size: 12px;
        letter-spacing: .12em;
        border: 0;
        padding-top: 20px;
      }
      .typo-list li {
        grid-template-columns: 1fr;
        gap: 18px;
      }
      .typo-list strong {
        font-size: clamp(28px,2.7vw,42px);
      }
      .item-directory {
        background: #fff;
      }
      .catalog-intro {
        display: grid;
        grid-template-columns: 1.4fr 1fr;
        gap: 50px;
        align-items: end;
        padding-bottom: 72px;
      }
      .catalog-intro p:not(.eyebrow) {
        max-width: 520px;
        margin-top: 24px;
        font-size: 16px;
      }
      .catalog-total {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: 10px;
        justify-content: flex-end;
        text-align: right;
      }
      .catalog-total strong {
        font-size: 94px;
        line-height: 1;
        letter-spacing: -.07em;
        color: var(--navy);
        font-weight: 500;
      }
      .catalog-total>span {
        font-size: 14px;
        color: var(--muted);
      }
      .catalog-total .text-link {
        flex-basis: 100%;
        justify-content: flex-end;
        margin-top: 18px;
        text-decoration: underline;
        text-underline-offset: 6px;
      }
      .catalog-group {
        display: grid;
        grid-template-columns: 1fr 2.5fr;
        gap: 40px;
        border-top: 1px solid var(--navy);
        padding: 36px 0 48px;
      }
      .catalog-group-title>span {
        font-size: 12px;
        letter-spacing: .12em;
        color: var(--blue);
      }
      .catalog-group-title h3 {
        font-size: 25px;
        line-height: 1.6;
        color: var(--navy);
        margin-top: 18px;
        max-width: 185px;
      }
      .catalog-list {
        list-style: none;
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 0 28px;
        margin: 0;
        padding: 0;
      }
      .catalog-list li {
        display: flex;
        align-items: center;
        gap: 16px;
        min-height: 98px;
        border-bottom: 1px solid var(--line);
        font-size: 15px;
        line-height: 1.5;
        font-weight: 500;
      }
      .catalog-list img {
        width: 48px;
        height: 48px;
        object-fit: contain;
        flex: none;
      }
      .partner-logo-grid {
        list-style: none;
        margin: 0 0 80px;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(5,1fr);
        border-top: 1px solid #ffffff30;
        border-left: 1px solid #ffffff30;
      }
      .partner-logo-grid li {
        display: grid;
        place-items: center;
        min-height: 130px;
        padding: 20px;
        border-right: 1px solid #ffffff30;
        border-bottom: 1px solid #ffffff30;
      }
      .partner-logo-grid img {
        width: min(150px,100%);
        height: 58px;
        object-fit: contain;
      }
      .footer {
        background: #071c41;
        padding: 72px 0 26px;
      }
      .footer-main {
        display: grid;
        grid-template-columns: 1.3fr 1fr;
        gap: 80px;
        padding-bottom: 58px;
      }
      .footer .kplus-brand-logo {
        width: 225px;
      }
      .footer-slogan {
        font-size: clamp(22px,2.3vw,34px);
        line-height: 1.55;
        margin-top: 28px;
        color: #fff;
        font-weight: 400;
      }
      .footer-label {
        display: block;
        font-size: 10px;
        letter-spacing: .18em;
        font-weight: 500;
        color: #9baecc;
      }
      .footer-tel {
        display: inline-block;
        margin: 16px 0 10px;
        font-size: clamp(32px,3.2vw,46px);
        letter-spacing: -.03em;
        line-height: 1.2;
        font-weight: 500;
      }
      .footer-contact p {
        font-size: 13px;
        color: #b4c1d8;
        line-height: 1.7;
      }
      .footer-address {
        margin-top: 16px;
      }
      .footer-links {
        display: flex;
        gap: 28px;
        margin-top: 22px;
        font-size: 13px;
      }
      .footer-links a {
        padding-bottom: 3px;
        border-bottom: 1px solid #ffffff66;
      }
      .footer-links small {
        font-size: 10px;
        margin-left: 8px;
        color: #9baecc;
      }
      .footer-services {
        padding: 28px 0 32px;
        border-top: 1px solid #ffffff25;
        border-bottom: 1px solid #ffffff25;
        display: grid;
        grid-template-columns: 160px 1fr;
        align-items: center;
        gap: 32px;
      }
      .footer-service-list {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        align-items: center;
        gap: 36px;
      }
      .footer-service {
        display: flex;
        align-items: center;
        min-height: 48px;
      }
      .footer-service img {
        max-width: 100%;
        width: 145px;
        height: 34px;
        object-fit: contain;
        object-position: left center;
        filter: brightness(0) invert(1);
        opacity: .86;
      }
      .footer-service:last-child img {
        width: 151px;
        height: 48px;
        filter: none;
      }
      .footer-service:hover img {
        opacity: 1;
      }
      .footer-meta {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 40px;
        align-items: center;
        padding: 28px 0;
      }
      .footer-legal {
        border: 0;
        padding: 0;
        gap: 5px 20px;
        font-size: 11px;
        color: #9baecc;
        line-height: 1.8;
        max-width: 780px;
      }
      .footer-legal span:first-child {
        flex-basis: 100%;
        font-size: 12px;
        margin-bottom: 6px;
      }
      .footer .sns-list {
        margin: 0;
        gap: 16px;
        flex-wrap: nowrap;
      }
      .footer .sns-list a {
        border: 0;
        border-radius: 0;
        width: 24px;
        height: 28px;
      }
      .footer .sns-list a:hover {
        background: none;
        opacity: .65;
      }
      .footer .sns-list img {
        width: 16px;
        height: 16px;
      }
      .footer-bottom {
        padding-top: 18px;
        border-top: 1px solid #ffffff18;
        align-items: center;
        font-size: 11px;
        letter-spacing: .02em;
        color: #9baecc;
      }
      .top-btn {
        right: 26px;
        bottom: 24px;
        width: 44px;
        height: 54px;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #fff;
        mix-blend-mode: difference;
        box-shadow: none;
      }
      .top-btn svg {
        width: 20px;
        height: 34px;
      }
      .top-btn:hover {
        background: transparent;
        color: #fff;
        transform: translateY(-4px);
      }
      @media(min-width:1025px) {
        .home-overview {
          min-height: calc(100svh - var(--header-height));
          display: flex;
          align-items: center;
        }
        .home-overview>.container {
          width: 100%;
        }
      }
      @media(max-width:1150px) {
        .catalog-group {
          grid-template-columns: 1fr 3fr;
          gap: 25px;
        }
        .catalog-list {
          gap: 0 20px;
        }
        .catalog-list li {
          gap: 12px;
          font-size: 14px;
        }
        .catalog-group-title h3 {
          font-size: 22px;
        }
        .footer-services {
          grid-template-columns: 120px 1fr;
        }
        .footer-service-list {
          gap: 24px;
        }
        .footer-meta {
          grid-template-columns: 1fr;
        }
        .footer .sns-list {
          justify-content: flex-start;
        }
      }
      @media(max-width:1024px) {
        .home-overview .stats {
          grid-template-columns: repeat(2,1fr);
        }
        .home-overview .stats li:nth-child(3) {
          border-left: 0;
        }
        .home-overview .stats li:nth-child(n+3) {
          border-top: 1px solid var(--line);
        }
        .home-overview .stats a {
          padding: 24px 22px;
        }
        .home-overview .stats li:nth-child(odd) a {
          padding-left: 0;
        }
        .catalog-group {
          grid-template-columns: 1fr;
        }
        .catalog-group-title {
          display: flex;
          align-items: baseline;
          gap: 30px;
        }
        .catalog-group-title h3 {
          max-width: none;
          margin: 0;
        }
        .partner-logo-grid {
          grid-template-columns: repeat(4,1fr);
        }
      }
      @media(max-width:760px) {
        .header .kplus-brand-logo {
          width: 143px;
        }
        .menu-toggle {
          width: 40px;
          height: 40px;
          padding: 9px 5px;
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          gap: 7px;
        }
        .menu-toggle span {
          display: block;
          width: 26px;
          height: 1.5px;
          background: currentColor;
          transition: transform .2s;
        }
        .menu-open .menu-toggle span:first-child {
          transform: translateY(4.25px) rotate(45deg);
        }
        .menu-open .menu-toggle span:last-child {
          transform: translateY(-4.25px) rotate(-45deg);
        }
        .hero {
          height: 90svh;
          min-height: 630px;
          max-height: 820px;
        }
        .hero-content {
          padding-top: 130px;
          padding-bottom: 26px;
        }
        .hero h1 {
          font-size: clamp(29px,7.5vw,44px);
          line-height: 1.45;
        }
        .hero-description {
          font-size: 14px;
          line-height: 1.85;
          margin-top: 23px;
        }
        .hero .actions {
          gap: 22px;
          margin-top: 18px;
        }
        .hero-footer {
          margin-top: 42px;
        }
        .hero-footer>a {
          font-size: 10px;
        }
        .hero-footer>a:after {
          margin-left: 0;
        }
        .home-overview {
          padding: 70px 0 45px;
        }
        .overview-copy {
          gap: 35px;
          margin-bottom: 36px;
        }
        .overview-copy h2 {
          font-size: 36px;
        }
        .overview-copy .large-copy {
          font-size: 24px;
        }
        .overview-copy .about-copy>p+p {
          font-size: 15px;
        }
        .home-overview .stat-num strong {
          font-size: 38px;
        }
        .home-overview .stat-num {
          font-size: 12px;
        }
        .home-overview .stats a {
          padding: 22px 14px;
        }
        .home-overview .stat-desc {
          font-size: 12px;
        }
        .page-hero:after {
          width: 65%;
          opacity: .7;
        }
        .page-toc a {
          font-size: 13px;
          margin-right: 18px;
          padding: 9px 6px 9px 0;
        }
        .company-role-panel>div {
          padding: 22px 0;
        }
        .company-role-panel strong {
          font-size: 21px;
        }
        .service-brand-mark img {
          width: 175px;
        }
        .family-logos img {
          height: 22px;
          max-width: 140px;
        }
        .catalog-intro {
          grid-template-columns: 1fr;
          gap: 35px;
          padding-bottom: 45px;
        }
        .catalog-intro p:not(.eyebrow) {
          font-size: 15px;
          margin-top: 20px;
        }
        .catalog-total {
          justify-content: flex-start;
          text-align: left;
        }
        .catalog-total strong {
          font-size: 66px;
        }
        .catalog-total .text-link {
          justify-content: flex-start;
          font-size: 13px;
          margin-top: 5px;
        }
        .catalog-group {
          padding: 26px 0 36px;
          gap: 20px;
        }
        .catalog-group-title {
          display: block;
        }
        .catalog-group-title h3 {
          font-size: 23px;
          margin-top: 8px;
        }
        .catalog-list {
          grid-template-columns: repeat(2,minmax(0,1fr));
          gap: 0 20px;
        }
        .catalog-list li {
          min-height: 100px;
          font-size: 13px;
          flex-direction: column;
          align-items: flex-start;
          justify-content: center;
          gap: 10px;
          padding: 15px 0;
        }
        .catalog-list img {
          width: 42px;
          height: 42px;
        }
        .partner-logo-grid {
          grid-template-columns: repeat(2,1fr);
          margin-bottom: 50px;
        }
        .partner-logo-grid li {
          min-height: 105px;
          padding: 15px;
        }
        .partner-logo-grid img {
          width: 120px;
          height: 48px;
        }
        .footer {
          padding: 48px 0 24px;
        }
        .footer-main {
          grid-template-columns: 1fr;
          gap: 40px;
          padding-bottom: 36px;
        }
        .footer .kplus-brand-logo {
          width: 185px;
        }
        .footer-slogan {
          font-size: 24px;
          margin-top: 20px;
        }
        .footer-tel {
          font-size: 36px;
          margin-top: 14px;
        }
        .footer-services {
          grid-template-columns: 1fr;
          gap: 16px;
          padding: 26px 0;
        }
        .footer-service-list {
          grid-template-columns: repeat(2,1fr);
          gap: 15px 20px;
        }
        .footer-service img {
          width: 123px;
          height: 28px;
        }
        .footer-service:last-child img {
          width: 130px;
          height: 43px;
        }
        .footer-meta {
          gap: 22px;
          padding: 26px 0;
        }
        .footer-bottom {
          flex-direction: row;
          align-items: center;
          flex-wrap: wrap;
          gap: 16px;
          font-size: 10px;
        }
        .footer-legal {
          font-size: 10px;
        }
        .top-btn {
          right: 12px;
          bottom: 17px;
          width: 40px;
          height: 48px;
        }
        .top-btn svg {
          width: 18px;
          height: 31px;
        }
      }
      @media print {
        .home-overview {
          min-height: 0;
        }
        .footer {
          print-color-adjust: exact;
        }
        .top-btn {
          display: none!important;
        }
      }
      /* V11 — 서비스 이용 장점, 사업부 역할, 분야별 설명 */
      .overview-benefits .large-copy {
        margin-bottom: 22px;
      }
      .value-point {
        display: grid;
        grid-template-columns: 112px 1fr;
        gap: 18px;
        align-items: start;
      }
      .value-point+.value-point {
        margin-top: 17px;
        padding-top: 17px;
        border-top: 1px solid var(--line);
      }
      .value-point>span {
        font-size: 12px;
        line-height: 1.9;
        font-weight: 600;
        color: var(--navy);
        padding-top: 2px;
        word-break: keep-all;
      }
      .value-point p {
        font-size: 15px;
        line-height: 1.85;
        margin: 0;
        word-break: keep-all;
      }
      .home-overview .stats {
        grid-template-columns: 1.2fr 1fr 1fr;
      }
      .home-overview .stats li:nth-child(3) {
        border-left: 1px solid var(--line);
        border-top: 0;
      }
      .home-overview .stats li:nth-child(3) a {
        padding-left: 22px;
      }
      .business-title {
        min-width: 0;
      }
      .business-function {
        display: block;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: .025em;
        line-height: 1.5;
        color: #64728c;
        margin-bottom: 7px;
      }
      .business-name h3 {
        font-size: clamp(25px,2.25vw,37px);
      }
      .catalog-nav {
        display: flex;
        flex-wrap: wrap;
        gap: 12px 30px;
        padding: 0 0 30px;
      }
      .catalog-nav a {
        padding-bottom: 8px;
        font-size: 14px;
        color: var(--navy);
        border-bottom: 1px solid #b7c2d7;
      }
      .catalog-nav a:hover {
        border-bottom-color: var(--navy);
      }
      .catalog-group {
        grid-template-columns: 1.15fr 2.5fr;
        gap: 48px;
      }
      .catalog-group-title h3 {
        max-width: none;
        font-size: 24px;
        line-height: 1.5;
      }
      .catalog-domain {
        display: inline-block;
        letter-spacing: 0;
        font-size: 11px;
        color: var(--muted);
        border-left: 1px solid #bdc6d8;
        margin-left: 10px;
        padding-left: 10px;
      }
      .catalog-benefit {
        margin: 23px 0 10px;
        color: var(--navy);
        font-size: 17px;
        font-weight: 600;
        line-height: 1.6;
        letter-spacing: -.025em;
      }
      .catalog-description {
        font-size: 14px;
        line-height: 1.85;
        word-break: keep-all;
        max-width: 320px;
        color: var(--muted);
      }
      .partner-logo-grid li {
        position: relative;
        align-content: center;
        gap: 8px;
        min-height: 146px;
      }
      .partner-status {
        font-size: 11px;
        line-height: 1.7;
        letter-spacing: 0;
        font-weight: 400;
        color: #d5dff1;
        text-decoration: underline;
        text-underline-offset: 4px;
      }
      .partner-status:hover {
        color: #fff;
      }
      .brand-with-status {
        display: flex;
        flex-direction: column;
        gap: 5px;
      }
      .brand-row .partner-status {
        font-size: 11px;
      }
      @media(max-width:1150px) {
        .value-point {
          grid-template-columns: 1fr;
          gap: 5px;
        }
        .value-point+.value-point {
          margin-top: 12px;
          padding-top: 12px;
        }
        .catalog-group {
          gap: 30px;
        }
        .catalog-group-title h3 {
          font-size: 22px;
        }
        .catalog-benefit {
          font-size: 16px;
        }
      }
      @media(max-width:1024px) {
        .home-overview .stats {
          grid-template-columns: repeat(3,minmax(0,1fr));
        }
        .home-overview .stats a {
          padding: 24px 18px;
        }
        .home-overview .stats li:nth-child(3) a {
          padding-left: 18px;
        }
        .catalog-group {
          grid-template-columns: 1fr;
        }
        .catalog-group-title {
          display: block;
        }
        .catalog-group-title h3 {
          margin-top: 10px;
        }
        .catalog-benefit {
          margin-top: 18px;
        }
        .catalog-description {
          max-width: 660px;
        }
      }
      @media(max-width:760px) {
        .overview-benefits .large-copy {
          margin-bottom: 24px;
        }
        .value-point {
          grid-template-columns: 1fr;
          gap: 7px;
        }
        .value-point>span {
          font-size: 12px;
        }
        .value-point p {
          font-size: 14px;
          line-height: 1.9;
        }
        .value-point+.value-point {
          margin-top: 19px;
          padding-top: 19px;
        }
        .home-overview .stats {
          grid-template-columns: 1fr;
        }
        .home-overview .stats li+li {
          border-left: 0;
          border-top: 1px solid var(--line);
        }
        .home-overview .stats li:nth-child(3) {
          border-left: 0;
          border-top: 1px solid var(--line);
        }
        .home-overview .stats a,.home-overview .stats li:nth-child(3) a {
          padding: 22px 0;
          display: grid;
          grid-template-columns: 115px 1fr;
          gap: 16px;
          align-items: center;
        }
        .home-overview .stat-num {
          font-size: 12px;
          white-space: nowrap;
        }
        .home-overview .stat-num strong {
          font-size: 34px;
        }
        .home-overview .stat-desc {
          font-size: 12px;
          line-height: 1.8;
        }
        .business-function {
          font-size: 11px;
          margin-bottom: 5px;
        }
        .business-name h3 {
          font-size: 25px;
        }
        .catalog-nav {
          gap: 20px;
          padding-bottom: 24px;
        }
        .catalog-nav a {
          font-size: 13px;
        }
        .catalog-group {
          gap: 22px;
        }
        .catalog-group-title h3 {
          font-size: 23px;
        }
        .catalog-benefit {
          margin-top: 20px;
          font-size: 17px;
        }
        .catalog-description {
          font-size: 14px;
        }
        .partner-logo-grid li {
          min-height: 125px;
          gap: 7px;
        }
        .partner-status {
          font-size: 10px;
        }
      }
      /* V11.5: financial affiliate status is a quiet note below each name/logo. */
      .partner-renewal {
        display: block;
        text-align: center;
        text-decoration: none;
        font-size: 11px;
        line-height: 1.5;
        color: #d5dff1;
        font-weight: 400;
        letter-spacing: 0;
      }
      .brand-with-status {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 3px;
      }
      .brand-row .partner-renewal {
        text-align: left;
      }
      /* V11 same-version refinement: existing KPLUS artwork and the archived web palette. */
      .ci-section {
        background: #f7f9fd;
        padding: clamp(34px,5vh,66px) 0;
      }
      .ci-section .section-heading {
        margin-bottom: clamp(24px,4vh,42px);
      }
      .ci-section .section-heading h2 {
        font-size: clamp(32px,3vw,50px);
        line-height: 1.3;
      }
      .ci-section .section-heading>p {
        font-size: 15px;
        line-height: 1.8;
      }
      .ci-logo-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
      }
      .ci-logo-board {
        margin: 0;
        min-width: 0;
        min-height: 220px;
        padding: 40px 34px 22px;
        background: #fff;
        border: 1px solid #d3daea;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
      }
      .ci-logo-board>img {
        width: min(86%,430px);
        height: auto;
        max-height: 126px;
        object-fit: contain;
        margin: auto 0;
      }
      .ci-logo-board figcaption {
        display: flex;
        justify-content: space-between;
        width: 100%;
        gap: 14px;
        margin-top: 28px;
        font-size: 11px;
        line-height: 1.6;
        color: #616b7c;
      }
      .ci-logo-board figcaption>span:first-child {
        font-size: 10px;
        letter-spacing: .1em;
      }
      .ci-logo-board--navy {
        background: #001a5c;
        border-color: #001a5c;
      }
      .ci-logo-board--navy>img {
        filter: brightness(0) invert(1);
      }
      .ci-logo-board--navy figcaption {
        color: #dce5fa;
      }
      .ci-color-strip {
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: 32px;
        align-items: center;
        margin-top: 28px;
      }
      .ci-color-intro>span {
        font-size: 10px;
        font-weight: 600;
        letter-spacing: .12em;
        color: var(--navy);
      }
      .ci-color-intro>p {
        font-size: 14px;
        line-height: 1.65;
        margin: 7px 0 0;
        color: var(--muted);
      }
      .ci-swatches {
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
        list-style: none;
        padding: 0;
        margin: 0;
      }
      .ci-swatches>li {
        padding: 19px 20px;
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      .ci-swatches span {
        font-size: 10px;
        line-height: 1.5;
        letter-spacing: .04em;
      }
      .ci-swatches strong {
        font-size: 13px;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: .02em;
      }
      .ci-swatch--navy {
        background: #001a5c;
        color: #fff;
      }
      .ci-swatch--pale {
        background: #bfccec;
        color: #001a5c;
      }
      .ci-swatch--wash {
        background: #eef1f8;
        color: #001a5c;
        box-shadow: inset 0 0 0 1px #d3daea;
      }
      @media(min-width:761px) and (max-height:800px) {
        .ci-section {
          padding-top: 28px;
          padding-bottom: 28px;
        }
        .ci-section .section-heading {
          margin-bottom: 24px;
        }
        .ci-section .section-heading h2 {
          font-size: 36px;
        }
        .ci-section .eyebrow {
          margin-bottom: 12px;
        }
        .ci-logo-board {
          min-height: 185px;
          padding-top: 26px;
          padding-bottom: 17px;
        }
        .ci-logo-board>img {
          max-height: 94px;
        }
        .ci-color-strip {
          margin-top: 22px;
        }
        .ci-swatches>li {
          padding-top: 14px;
          padding-bottom: 14px;
          gap: 6px;
        }
      }
      @media(max-width:760px) {
        .ci-section {
          padding-top: 34px;
          padding-bottom: 34px;
        }
        .ci-section .section-heading {
          display: block;
          margin-bottom: 24px;
        }
        .ci-section .section-heading h2 {
          font-size: 30px;
          line-height: 1.25;
        }
        .ci-section .section-heading>p {
          font-size: 13px;
          line-height: 1.7;
          margin-top: 12px;
        }
        .ci-section .section-heading>p br {
          display: none;
        }
        .ci-logo-grid {
          grid-template-columns: 1fr;
          gap: 12px;
        }
        .ci-logo-board {
          min-height: 146px;
          padding: 26px 22px 15px;
        }
        .ci-logo-board>img {
          width: min(84%,370px);
          max-height: 74px;
        }
        .ci-logo-board figcaption {
          font-size: 10px;
          margin-top: 20px;
        }
        .ci-color-strip {
          grid-template-columns: 1fr;
          gap: 13px;
          margin-top: 24px;
        }
        .ci-color-intro {
          display: flex;
          align-items: center;
          gap: 17px;
        }
        .ci-color-intro>span {
          font-size: 9px;
          white-space: nowrap;
        }
        .ci-color-intro>p {
          font-size: 12px;
          line-height: 1.6;
          margin: 0;
        }
        .ci-color-intro>p br {
          display: none;
        }
        .ci-swatches>li {
          padding: 13px 10px;
          gap: 9px;
        }
        .ci-swatches span {
          font-size: 9px;
        }
        .ci-swatches strong {
          font-size: 11px;
        }
      }
      @media print {
        .ci-logo-board--navy,.ci-swatches {
          -webkit-print-color-adjust: exact;
          print-color-adjust: exact;
        }
      }
      /* V11: the image bottom and scroll control stay inside the first screen. */
      .hero {
        height: auto;
        min-height: 100svh;
        max-height: none;
      }
      .hero-content {
        height: auto;
        min-height: 100svh;
        padding-top: calc(var(--header-height) + 64px);
        padding-bottom: max(24px,env(safe-area-inset-bottom));
        justify-content: flex-end;
      }
      .hero-visual img {
        object-position: center bottom;
        transform: none;
        animation: none;
      }
      .hero-footer {
        flex-shrink: 0;
        margin-top: clamp(28px,5vh,54px);
      }
      .hero h1 {
        flex-shrink: 0;
      }
      html.v11-stepping {
        scroll-behavior: auto!important;
        scroll-snap-type: none!important;
      }
      [data-scroll-section] {
        scroll-margin-top: 0;
      }
      @media(min-width:1025px) {
        .home-overview {
          padding-top: 44px;
          padding-bottom: 38px;
        }
        .home-overview .overview-copy {
          margin-bottom: 36px;
        }
        .home-overview .about-copy {
          padding-top: 0;
        }
        .home-overview .large-copy {
          font-size: clamp(22px,2vw,31px);
        }
        .home-overview .value-point {
          margin-top: 14px;
        }
        .home-overview .stats li {
          padding-top: 22px;
          padding-bottom: 18px;
        }
      }
      @media(max-height:780px) and (min-width:761px) {
        .hero-content {
          padding-top: calc(var(--header-height) + 36px);
          padding-bottom: 22px;
        }
        .hero h1 {
          font-size: clamp(36px,4.5vw,68px);
        }
        .hero-description {
          font-size: 16px;
          margin-top: 20px;
        }
        .hero-footer {
          margin-top: 24px;
          padding-top: 12px;
        }
        .hero .actions {
          margin-top: 12px;
        }
        .home-overview {
          padding-top: 30px;
          padding-bottom: 26px;
        }
        .home-overview .overview-copy {
          margin-bottom: 22px;
        }
        .home-overview h2 {
          font-size: clamp(34px,3vw,48px);
        }
        .home-overview .eyebrow {
          margin-bottom: 16px;
        }
        .home-overview .value-point p {
          font-size: 15px;
          line-height: 1.65;
        }
      }
      @media(max-width:760px) {
        .hero {
          height: auto;
          min-height: 100svh;
          max-height: none;
        }
        .hero-content {
          min-height: 100svh;
          padding-top: calc(var(--header-height) + 70px);
          padding-bottom: max(24px,env(safe-area-inset-bottom));
        }
        .hero-visual img {
          object-position: 61% bottom;
        }
        .hero-footer {
          margin-top: 32px;
        }
      }
      @media(pointer:coarse) and (prefers-reduced-motion:no-preference) {
        html {
          scroll-snap-type: y proximity;
        }
        [data-scroll-section] {
          scroll-snap-align: start;
        }
        [data-mobile-scene] {
          scroll-snap-align: start;
          scroll-margin-top: 0;
        }
      }
      @media(prefers-reduced-motion:reduce) {
        html {
          scroll-snap-type: none;
        }
      }
      @media print {
        .hero,.hero-content {
          min-height: 0;
          height: auto;
        }
        .hero-content {
          padding: 28px 0;
        }
        html {
          scroll-snap-type: none;
        }
      }
      /* V11 same-version refinement: each desktop scene fills the readable viewport. */
      :root {
        --scene-height: calc(100svh - var(--header-height));
      }
      .page-hero {
        min-height: 100svh;
        display: flex;
        align-items: center;
        padding: calc(var(--header-height) + 44px) 0 36px;
      }
      .page-hero>.container {
        width: 100%;
        margin: 0 auto;
      }
      .page-hero h1 {
        font-size: clamp(46px,5.6vw,86px);
      }
      .page-hero .page-lead {
        max-width: 700px;
        line-height: 1.85;
      }
      .page-hero .page-toc {
        margin-top: 38px;
        padding-top: 18px;
      }
      .page-scroll {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        min-height: 44px;
        margin-top: 48px;
        padding-top: 20px;
        border-top: 1px solid #ffffff38;
        color: #e1e8f5;
        font-size: 11px;
        letter-spacing: .12em;
      }
      .page-scroll i {
        display: block;
        width: 8px;
        height: 8px;
        border-right: 1px solid currentColor;
        border-bottom: 1px solid currentColor;
        transform: rotate(45deg);
        margin-right: 5px;
      }
      .audience {
        padding-bottom: 0;
        background: #102840;
      }
      .audience .section-heading {
        background: #fff;
      }
      .audience .audience-item h3:after {
        display: none;
      }
      .goal {
        background: #102c51;
        color: #fff;
      }
      .goal .eyebrow {
        color: #b8cceb;
      }
      .goal-text {
        display: grid;
        gap: 26px;
        line-height: 1.5;
      }
      .goal-statement {
        display: block;
      }
      .goal-audience {
        display: block;
        font-size: 15px;
        font-weight: 400;
        letter-spacing: 0;
        color: #b8cceb;
        margin-bottom: 6px;
      }
      .goal-benefit {
        display: block;
        color: #fff;
        font-size: clamp(23px,2.15vw,34px);
        line-height: 1.5;
        letter-spacing: -.04em;
      }
      .goal-text em {
        color: #fff;
        font-weight: 600;
      }
      .goal .company-role-panel {
        border-top-color: #7893b9;
      }
      .goal .company-role-panel>div {
        border-bottom-color: #ffffff2b;
      }
      .goal .company-role-panel span {
        color: #b8cceb;
      }
      .goal .company-role-panel strong {
        color: #fff;
        font-size: clamp(19px,1.55vw,25px);
        line-height: 1.6;
      }
      .process {
        background: #eaf0f7;
      }
      .catalog-section {
        background: #f0f4f9;
      }
      .catalog-section:nth-of-type(even) {
        background: #e6edf5;
      }
      .catalog-section .catalog-group {
        border-top: 0;
        padding: 0 var(--gutter);
      }
      .partner-fields {
        background: #173858;
      }
      .partner-fields .brand-row:last-child {
        border-bottom: 1px solid #ffffff24;
      }
      .cta-band {
        background: #e9eef6;
      }
      @media(min-width:1025px) {
        main>.section,.spa-page>.section {
          min-height: var(--scene-height);
          display: flex;
          align-items: center;
          padding: clamp(28px,4vh,52px) 0;
        }
        main>.section>.container,.spa-page>.section>.container {
          width: 100%;
        }
        .section-heading {
          margin-bottom: 30px;
          gap: 32px;
        }
        .section-heading h2 {
          font-size: clamp(32px,3vw,48px);
          line-height: 1.32;
        }
        .section-heading>.eyebrow,.section-heading .eyebrow {
          margin-bottom: 14px;
        }
        .section-heading>p {
          font-size: 15px;
          line-height: 1.75;
          max-width: 360px;
        }
        .about .split {
          align-items: center;
          gap: 7%;
        }
        .about h2 {
          font-size: clamp(36px,3.5vw,54px);
        }
        .about .about-copy {
          padding-top: 0;
        }
        .about .about-copy .large-copy {
          font-size: clamp(23px,2vw,30px);
          margin-bottom: 20px;
        }
        .about .about-copy>p:not(.large-copy) {
          font-size: 15px;
          line-height: 1.8;
        }
        .about .fact-list {
          margin-top: 24px;
          padding-top: 20px;
          gap: 14px 24px;
        }
        .about .fact-list dd {
          font-size: 14px;
        }
        .goal .split {
          grid-template-columns: 1.15fr 1fr;
          gap: 8%;
        }
        .goal .company-role-panel>div {
          padding: 24px 0;
        }
        .process-list {
          grid-template-columns: repeat(4,minmax(0,1fr));
        }
        .process-step,.process-step+.process-step {
          padding: 24px 24px 18px;
          border-top: 0;
          border-left: 1px solid #c4d0e0;
        }
        .process-step:first-child {
          padding-left: 0;
          border-left: 0;
        }
        .process-step:last-child {
          padding-right: 0;
        }
        .process-step .step-num {
          margin-bottom: 12px;
        }
        .process-step h3 {
          font-size: clamp(20px,1.85vw,27px);
          line-height: 1.45;
        }
        .process-step .step-en {
          font-size: 12px;
          margin-bottom: 14px;
        }
        .process-step .step-txt {
          font-size: 15px;
          line-height: 1.75;
        }
        .work-outcomes {
          margin-top: 24px;
          grid-template-columns: 1fr 1fr;
        }
        .work-outcomes>div {
          padding: 20px 26px;
          gap: 5px;
        }
        .work-outcomes span {
          font-size: 12px;
        }
        .work-outcomes strong {
          font-size: clamp(18px,1.5vw,23px);
          line-height: 1.5;
        }
        main>.audience,.spa-page>.audience {
          height: var(--scene-height);
          min-height: 600px;
          padding: 0;
          align-items: stretch;
        }
        .audience>.container {
          display: flex;
          flex-direction: column;
          max-width: none;
          margin: 0;
        }
        .audience .section-heading {
          width: 100%;
          max-width: none;
          margin: 0;
          padding: 26px var(--gutter) 24px;
          flex-shrink: 0;
        }
        .audience .section-heading h2 {
          font-size: clamp(30px,2.7vw,44px);
        }
        .audience .section-heading .eyebrow {
          margin-bottom: 10px;
        }
        .audience-grid {
          flex: 1;
          min-height: 0;
          grid-template-columns: repeat(3,minmax(0,1fr));
        }
        .audience .audience-item,.audience .audience-item+.audience-item {
          min-height: 0!important;
          height: 100%;
          padding: 24px clamp(24px,2.5vw,44px)!important;
        }
        .audience .small-label {
          font-size: 15px;
        }
        .audience .audience-item h3 {
          font-size: clamp(24px,2.1vw,34px);
          margin: 14px 0;
          line-height: 1.4;
        }
        .audience-content>p {
          font-size: 15px;
          line-height: 1.7;
          min-height: 77px;
          margin: 0 0 22px;
          max-width: 410px;
        }
        .audience-actions {
          gap: 8px;
        }
        .audience-actions .text-link {
          font-size: 13px;
          min-height: 44px;
          padding: 9px 14px;
        }
        .business-list {
          display: grid;
          grid-template-columns: repeat(3,minmax(0,1fr));
          gap: 0 32px;
        }
        .business-row {
          display: flex;
          flex-direction: column;
          align-items: stretch;
          gap: 12px;
          padding: 20px 0;
          min-width: 0;
        }
        .business-row:hover {
          padding: 20px 0;
          background: none;
        }
        .business-name {
          gap: 12px;
        }
        .business-name h3 {
          font-size: 26px;
        }
        .business-number {
          font-size: 12px;
        }
        .business-function {
          font-size: 11px;
          margin-bottom: 3px;
        }
        .business-icon {
          width: 38px;
          height: 38px;
        }
        .business-icon img {
          width: 36px;
          height: 36px;
        }
        .business-row>p {
          font-size: 14px;
          line-height: 1.7;
          flex: 1;
        }
        .business-open {
          align-self: flex-start;
          min-height: 36px;
          padding: 4px 0;
          font-size: 12px;
          border: 0;
          border-bottom: 1px solid #a8b8d0;
        }
        .relationship-grid .company-block {
          padding: 22px 28px;
          display: grid;
          grid-template-columns: 90px 180px 1fr;
          gap: 24px;
          align-items: center;
        }
        .relationship-grid .company-block h3 {
          font-size: 28px;
          margin: 0;
        }
        .relationship-grid .company-block p {
          font-size: 14px;
          line-height: 1.7;
        }
        .relationship-grid .company-block .small-label {
          font-size: 12px;
        }
        .relationship-grid .service-block {
          padding: 26px 28px;
        }
        .relationship-grid .service-block h3 {
          font-size: 31px;
          margin: 12px 0 14px;
        }
        .relationship-grid .service-block>p {
          min-height: 72px;
          font-size: 15px;
          line-height: 1.8;
        }
        .relationship-grid .text-link {
          margin-top: 14px;
          font-size: 14px;
        }
        .family-logos {
          margin-top: 16px;
          padding-top: 16px;
          gap: 18px;
        }
        .family-logos img {
          height: 20px;
          max-width: 130px;
        }
        .catalog-intro {
          padding-bottom: 40px;
        }
        .catalog-nav {
          padding-bottom: 0;
        }
        .catalog-list li {
          min-height: 86px;
        }
        .catalog-section .catalog-group {
          align-items: center;
        }
        .partner-logo-grid {
          margin-bottom: 0;
          grid-template-columns: repeat(5,minmax(0,1fr));
        }
        .partner-logo-grid li {
          min-height: 118px;
        }
        .brand-row {
          padding: 22px 0;
          gap: 36px;
        }
        .brand-row h3 {
          font-size: 24px;
        }
        .brand-row p {
          font-size: 13px;
        }
        .brand-row ul {
          font-size: 20px;
          gap: 12px 25px;
        }
        .form-panel {
          padding: 24px 30px;
        }
        .field {
          margin-bottom: 13px;
        }
        .field label {
          font-size: 13px;
          margin-bottom: 6px;
        }
        .field input:not([type=checkbox]),.field select {
          min-height: 43px;
          padding: 8px 12px;
          font-size: 14px;
        }
        .field textarea {
          min-height: 96px;
          height: 96px;
          font-size: 14px;
          padding: 10px 12px;
        }
        .field-error:empty {
          display: none;
        }
        .consent-text {
          font-size: 11px;
        }
        .contact-info {
          margin-top: 30px;
        }
        .faq-list summary {
          font-size: 16px;
          line-height: 1.6;
          padding: 13px 0;
          min-height: 52px;
          gap: 20px;
        }
        .faq-list summary>span {
          font-size: 22px;
        }
        .faq-list details>p {
          font-size: 14px;
          line-height: 1.8;
          padding-bottom: 20px;
        }
        .identity .identity-grid {
          grid-template-columns: 1fr 1fr;
          gap: 7%;
        }
        .identity .typo-list strong {
          font-size: clamp(28px,2.5vw,40px);
        }
        .identity .typo-list p {
          font-size: 16px;
          line-height: 1.8;
        }
      }
      @media(min-width:1025px) and (max-height:780px) {
        .goal-text {
          gap: 22px;
        }
        .goal-benefit {
          font-size: 28px;
        }
        .section-heading {
          margin-bottom: 24px;
        }
        .audience-content>p {
          font-size: 14px;
          line-height: 1.65;
          margin-bottom: 18px;
          min-height: 92px;
        }
        .audience .audience-item h3 {
          font-size: 27px;
        }
        .process-step .step-txt {
          font-size: 14px;
          line-height: 1.75;
        }
        .process-step,.process-step+.process-step {
          padding-top: 20px;
          padding-bottom: 14px;
        }
        .work-outcomes>div {
          padding: 17px 22px;
        }
        .relationship-grid .service-block {
          padding: 22px 28px;
        }
        .relationship-grid .company-block {
          padding-top: 18px;
          padding-bottom: 18px;
        }
      }
      @media(min-width:761px) and (max-width:1024px) {
        .section {
          padding: 60px 0;
        }
        .audience {
          padding-bottom: 0;
        }
        .audience .section-heading {
          padding-bottom: 30px;
          margin-bottom: 0;
        }
        .audience .audience-item,.audience .audience-item+.audience-item {
          min-height: 530px;
          padding: 28px 24px!important;
        }
        .audience .audience-item h3 {
          font-size: 25px;
        }
        .audience-content>p {
          font-size: 14px;
        }
      }
      @media(max-width:760px) {
        .page-hero {
          padding: calc(var(--header-height) + 36px) 0 28px;
          min-height: 100svh;
        }
        .page-hero h1 {
          font-size: clamp(34px,9vw,48px);
          line-height: 1.35;
        }
        .page-hero .eyebrow {
          margin-bottom: 14px;
        }
        .page-lead {
          font-size: 15px;
          line-height: 1.8;
        }
        .page-hero .page-toc {
          margin-top: 28px;
          padding-top: 14px;
          gap: 0 20px;
        }
        .page-toc a {
          padding: 8px 0;
          margin-right: 0;
          min-height: 44px;
        }
        .page-scroll {
          margin-top: 32px;
          padding-top: 14px;
          font-size: 10px;
        }
        .audience {
          padding: 0;
        }
        .audience .section-heading {
          padding: 26px 24px 24px;
          margin-bottom: 0;
        }
        .audience .section-heading h2 {
          font-size: 28px;
          line-height: 1.35;
        }
        .audience .section-heading .eyebrow {
          margin-bottom: 9px;
        }
        .audience .section-heading>p {
          font-size: 13px;
          margin-top: 13px;
          line-height: 1.65;
        }
        .audience .section-heading>p br {
          display: none;
        }
        .audience .audience-item,.audience .audience-item+.audience-item {
          min-height: calc(100svh - var(--header-height));
          padding: 28px 24px!important;
        }
        .audience .audience-item:first-child {
          min-height: calc(100svh - var(--header-height) - var(--audience-heading-height,196px));
        }
        .audience .small-label {
          font-size: 14px;
        }
        .audience .audience-item h3 {
          font-size: 26px;
          line-height: 1.4;
          margin: 14px 0;
        }
        .audience-content>p {
          font-size: 14px;
          line-height: 1.7;
          margin-bottom: 20px;
        }
        .audience-actions .text-link {
          font-size: 13px;
          min-height: 44px;
          padding: 10px 14px;
        }
        .goal {
          padding: 48px 0;
          min-height: var(--scene-height);
        }
        .goal .split {
          gap: 32px;
        }
        .goal-text {
          gap: 23px;
        }
        .goal-audience {
          font-size: 13px;
          margin-bottom: 5px;
        }
        .goal-benefit {
          font-size: clamp(21px,5.5vw,25px);
          line-height: 1.5;
        }
        .goal .company-role-panel>div {
          padding: 17px 0;
          gap: 7px;
        }
        .goal .company-role-panel strong {
          font-size: 18px;
        }
        .process {
          padding: 48px 0;
        }
        .process .section-heading {
          margin-bottom: 28px;
        }
        .process .section-heading h2 {
          font-size: 29px;
          line-height: 1.4;
        }
        .process .section-heading>p {
          font-size: 14px;
          margin-top: 18px;
          line-height: 1.8;
        }
        .process-step,.process-step+.process-step {
          padding: 22px 0;
        }
        .process-step .step-num {
          margin-bottom: 10px;
        }
        .process-step .step-en {
          margin-bottom: 12px;
        }
        .process-step .step-txt {
          font-size: 14px;
        }
        .work-outcomes {
          margin-top: 24px;
        }
        .work-outcomes>div {
          padding: 20px;
        }
        .work-outcomes strong {
          font-size: 19px;
        }
        .catalog-section {
          padding: 44px 0;
        }
        .catalog-section .catalog-group {
          gap: 22px;
        }
        .catalog-list li {
          min-height: 96px;
        }
        .partner-fields {
          padding: 44px 0;
        }
        .partner-logo-grid {
          margin-bottom: 0;
        }
        .partner-fields .section-heading {
          margin-bottom: 28px;
        }
      }
      @media print {
        .section,.page-hero,.audience,.audience-item {
          height: auto!important;
          min-height: 0!important;
        }
        .section {
          break-inside: auto;
        }
        .page-scroll {
          display: none;
        }
        .goal {
          print-color-adjust: exact;
        }
      }
      /* V11.4: 회사소개서의 두 아이템 분류, 14개 기업아이템 배치 */
      @media(min-width:1025px) {
        .catalog-list {
          grid-template-columns: repeat(4,minmax(0,1fr));
          gap: 0 20px;
        }
        .catalog-list li {
          font-size: 14px;
          gap: 10px;
        }
        .catalog-list img {
          width: 40px;
          height: 40px;
        }
      }
      /* V11.5 organization: the six current divisions share the same company parent. */
      .organization {
        background: #f5f7fb;
      }
      .organization .organization-chart {
        width: 100%;
        max-width: 1280px;
        margin: 0 auto;
      }
      .organization .organization-root {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: min(100%,320px);
        min-height: 94px;
        margin: 0 auto;
        padding: 20px 24px;
        background: var(--navy);
        color: #fff;
        text-align: center;
        border-radius: 4px;
      }
      .organization .organization-root>span {
        font-size: 10px;
        letter-spacing: .18em;
        color: #c6d4ee;
      }
      .organization .organization-root>strong {
        font-size: 26px;
        line-height: 1.35;
        letter-spacing: -.04em;
      }
      .organization .organization-stem {
        width: 1px;
        height: 32px;
        margin: 0 auto;
        background: #a7b9d8;
      }
      .organization .organization-branches {
        position: relative;
        display: grid;
        grid-template-columns: repeat(6,minmax(0,1fr));
        gap: 14px;
        margin: 0;
        padding: 26px 0 0;
        list-style: none;
      }
      .organization .organization-branches:before {
        content: "";
        position: absolute;
        top: 0;
        left: calc((100% - 70px)/12);
        right: calc((100% - 70px)/12);
        height: 1px;
        background: #a7b9d8;
      }
      .organization .organization-branches>li {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-width: 0;
        min-height: 136px;
        padding: 20px 12px;
        background: #fff;
        border: 1px solid #c8d3e6;
        border-radius: 4px;
        text-align: center;
        word-break: keep-all;
      }
      .organization .organization-branches>li:before {
        content: "";
        position: absolute;
        top: -27px;
        left: 50%;
        width: 1px;
        height: 26px;
        background: #a7b9d8;
      }
      .organization .organization-number {
        display: block;
        margin-bottom: 12px;
        color: var(--blue);
        font-size: 11px;
        line-height: 1;
        letter-spacing: .1em;
      }
      .organization .organization-branches>li>strong {
        display: block;
        color: var(--navy);
        font-size: clamp(16px,1.35vw,20px);
        line-height: 1.4;
        letter-spacing: -.04em;
      }
      .organization .organization-function {
        display: block;
        margin-top: 9px;
        color: #526789;
        font-size: 12px;
        line-height: 1.5;
        letter-spacing: -.03em;
      }
      @media(min-width:1025px) {
        .organization .section-heading {
          margin-bottom: 36px;
        }
      }
      @media(max-width:1024px) {
        .organization .organization-root {
          min-height: 86px;
        }
        .organization .organization-branches {
          grid-template-columns: repeat(2,minmax(0,1fr));
          gap: 12px 18px;
          padding-top: 0;
        }
        .organization .organization-branches:before {
          top: -1px;
          bottom: calc((100% - 24px)/6);
          left: 50%;
          right: auto;
          width: 1px;
          height: auto;
        }
        .organization .organization-branches>li {
          min-height: 118px;
        }
        .organization .organization-branches>li:before {
          top: 50%;
          left: 100%;
          width: 10px;
          height: 1px;
        }
        .organization .organization-branches>li:nth-child(even):before {
          left: auto;
          right: 100%;
        }
        .organization .organization-branches>li>strong {
          font-size: 19px;
        }
      }
      @media(max-width:760px) {
        .organization .section-heading {
          margin-bottom: 28px;
        }
        .organization .section-heading h2 {
          font-size: 29px;
          line-height: 1.4;
        }
        .organization .section-heading>p {
          font-size: 13px;
          line-height: 1.7;
          margin-top: 16px;
        }
        .organization .organization-root {
          width: 220px;
          min-height: 78px;
          padding: 16px 20px;
          gap: 6px;
        }
        .organization .organization-root>strong {
          font-size: 22px;
        }
        .organization .organization-stem {
          height: 24px;
        }
        .organization .organization-branches>li {
          min-height: 108px;
          padding: 16px 10px;
        }
        .organization .organization-number {
          margin-bottom: 9px;
          font-size: 10px;
        }
        .organization .organization-branches>li>strong {
          font-size: 17px;
          line-height: 1.4;
        }
        .organization .organization-function {
          font-size: 11px;
          margin-top: 6px;
        }
      }
      @media(max-width:760px) and (max-height:780px) {
        .organization {
          padding: 36px 0;
        }
        .organization .eyebrow {
          margin-bottom: 12px;
        }
        .organization .section-heading {
          margin-bottom: 22px;
        }
        .organization .section-heading>p {
          font-size: 12px;
          margin-top: 10px;
        }
        .organization .organization-root {
          padding: 12px 20px;
          gap: 4px;
        }
        .organization .organization-branches>li {
          min-height: 94px;
          padding: 12px 8px;
        }
        .organization .organization-number {
          margin-bottom: 6px;
        }
        .organization .organization-function {
          margin-top: 4px;
        }
      }
      @media print {
        .organization .organization-root {
          print-color-adjust: exact;
          -webkit-print-color-adjust: exact;
        }
        .organization .organization-chart {
          break-inside: avoid;
        }
      }
      /* V11.5 item refinement: both fields share one desktop scroll section. */
      .catalog-combined,.catalog-combined:nth-of-type(even) {
        background: #f0f4f9;
      }
      .catalog-combined .catalog-groups {
        display: grid;
        gap: 28px;
      }
      .catalog-combined .catalog-group {
        margin: 0;
        padding: 0;
        border: 0;
        scroll-margin-top: calc(var(--header-height) + 24px);
      }
      .catalog-combined .catalog-group+.catalog-group {
        padding-top: 28px;
        border-top: 1px solid #bdc9dd;
      }
      .catalog-combined .catalog-list li {
        min-width: 0;
      }
      .catalog-combined .catalog-list li>span {
        max-width: 100%;
      }
      .catalog-combined .catalog-icon {
        display: grid;
        place-items: center;
        width: 48px;
        height: 48px;
        flex: none;
        overflow: hidden;
      }
      .catalog-combined .catalog-icon img {
        display: block;
        width: 48px;
        height: 48px;
        transform: scale(var(--item-icon-scale,1))!important;
        transform-origin: center;
      }
      .items-grid .icon-bob {
        display: grid;
        place-items: center;
        overflow: hidden;
      }
      .items-grid .icon-bob img {
        transform: scale(var(--item-icon-scale,1))!important;
        transform-origin: center;
      }
      @media(min-width:1025px) {
        main>.catalog-combined,.spa-page>.catalog-combined {
          padding: 28px 0;
        }
        .catalog-combined .catalog-group {
          grid-template-columns: 220px minmax(0,1fr);
          gap: 32px;
          align-items: center;
        }
        .catalog-combined .catalog-group-title>span {
          font-size: 11px;
          letter-spacing: .1em;
        }
        .catalog-combined .catalog-domain {
          font-size: 10px;
          margin-left: 8px;
          padding-left: 8px;
        }
        .catalog-combined .catalog-group-title h3 {
          font-size: 26px;
          line-height: 1.4;
          margin-top: 10px;
        }
        .catalog-combined .catalog-benefit {
          margin: 14px 0 8px;
          font-size: 16px;
          line-height: 1.5;
        }
        .catalog-combined .catalog-description {
          font-size: 13px;
          line-height: 1.7;
          max-width: 220px;
        }
        .catalog-combined .catalog-list {
          grid-template-columns: repeat(7,minmax(0,1fr));
          gap: 0 12px;
        }
        .catalog-combined .catalog-list li {
          flex-direction: column;
          align-items: center;
          justify-content: flex-start;
          gap: 8px;
          padding: 8px 0;
          min-height: 112px;
          border: 0;
          font-size: 13px;
          line-height: 1.5;
          text-align: center;
        }
        .catalog-combined .catalog-list img {
          width: 48px;
          height: 48px;
        }
      }
      @media(min-width:761px) and (max-width:1024px) {
        .catalog-combined .catalog-groups {
          gap: 36px;
        }
        .catalog-combined .catalog-group {
          grid-template-columns: 1fr;
          gap: 24px;
        }
        .catalog-combined .catalog-group+.catalog-group {
          padding-top: 36px;
        }
        .catalog-combined .catalog-list {
          grid-template-columns: repeat(4,minmax(0,1fr));
          gap: 0 20px;
        }
        .catalog-combined .catalog-list li {
          font-size: 14px;
        }
        .catalog-combined .catalog-list img {
          width: 48px;
          height: 48px;
        }
      }
      @media(max-width:760px) {
        .catalog-combined .catalog-groups {
          gap: 36px;
        }
        .catalog-combined .catalog-group {
          grid-template-columns: 1fr;
          gap: 24px;
        }
        .catalog-combined .catalog-group+.catalog-group {
          padding-top: 36px;
        }
        .catalog-combined .catalog-list {
          grid-template-columns: repeat(3,minmax(0,1fr));
          gap: 0 12px;
        }
        .catalog-combined .catalog-list li {
          align-items: center;
          justify-content: flex-start;
          min-height: 120px;
          padding: 14px 0;
          gap: 10px;
          font-size: 13px;
          line-height: 1.6;
          text-align: center;
        }
        .catalog-combined .catalog-list img {
          width: 48px;
          height: 48px;
        }
      }
      @media print {
        .catalog-combined .catalog-group {
          break-inside: avoid;
        }
      }
      /* V11.6: 사업부를 먼저 읽고, 아래에서 운영 서비스를 확인하는 제목 체계. */
      /* 생활아이템: 확인된 혜택만 항목명 아래에 작게 안내합니다. */
      .catalog-item-copy {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 3px;
      }
      .catalog-payback {
        color: #244a82;
        font-size: 11px;
        font-weight: 650;
        line-height: 1.5;
        text-decoration: none;
        text-underline-offset: 3px;
      }
      .catalog-payback:hover,
      .catalog-payback:focus-visible {
        text-decoration: underline;
      }
      .catalog-payback-note {
        margin-top: 10px;
        color: #64728c;
        font-size: 11px;
        line-height: 1.6;
        word-break: keep-all;
      }
      .business-name .business-title {
        min-width: 0;
      }
      .business-name h3.business-department {
        margin: 0;
        font-size: clamp(24px, 2.1vw, 32px);
        font-weight: 800;
        line-height: 1.35;
        letter-spacing: -.045em;
        word-break: keep-all;
      }
      .business-title .business-service {
        display: block;
        margin-top: 7px;
        color: #64728c;
        font-size: 15px;
        font-weight: 500;
        line-height: 1.5;
      }
      .organization .organization-branches > li > .organization-department {
        font-size: clamp(16px, 1.35vw, 20px);
        font-weight: 800;
        line-height: 1.45;
      }
      .organization .organization-service {
        display: block;
        margin-top: 9px;
        color: #526789;
        font-size: 13px;
        font-weight: 500;
        line-height: 1.5;
      }
      /* 회사 개요도 사업부 이름과 서비스 이름을 혼용하지 않습니다. */
      .about .fact-list .department-fact {
        grid-column: 1 / -1;
      }
      .department-summary {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px 16px;
        margin: 5px 0 0;
        padding: 0;
        list-style: none;
      }
      .department-summary li {
        min-width: 0;
      }
      .department-summary strong {
        display: block;
        color: var(--navy);
        font-size: 14px;
        font-weight: 750;
        line-height: 1.45;
        word-break: keep-all;
      }
      .department-summary li > span {
        display: block;
        margin-top: 3px;
        color: #64728c;
        font-size: 12px;
        font-weight: 400;
        line-height: 1.5;
      }
      .department-mention {
        display: inline-flex;
        flex-direction: column;
        margin: 8px 3px 8px 0;
        vertical-align: top;
        line-height: 1.5;
      }
      .department-mention strong {
        color: var(--navy);
        font-weight: 750;
        word-break: keep-all;
      }
      .department-mention > span {
        color: #64728c;
        font-size: .85em;
        font-weight: 400;
      }
      #business-dialog .dialog-inner #dialog-title {
        margin-bottom: 8px;
        font-size: clamp(26px, 3vw, 38px);
        font-weight: 800;
        line-height: 1.4;
        word-break: keep-all;
      }
      #business-dialog .dialog-inner .dialog-service {
        margin: 0 0 24px;
        color: #64728c;
        font-size: 17px;
        font-weight: 500;
        line-height: 1.5;
      }
      @media (min-width: 1025px) {
        .business-name h3.business-department {
          font-size: clamp(23px, 1.9vw, 29px);
        }
      }
      @media (max-width: 760px) {
        .business-name h3.business-department {
          font-size: 23px;
        }
        .business-title .business-service {
          margin-top: 5px;
          font-size: 14px;
        }
        .organization .organization-branches > li > .organization-department {
          font-size: 17px;
        }
        .organization .organization-service {
          margin-top: 6px;
          font-size: 12px;
        }
        .department-summary {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 12px 18px;
        }
        #business-dialog .dialog-inner .dialog-service {
          font-size: 15px;
        }
      }
      /* 낮은 PC 화면에서도 여섯 사업부를 같은 구역 안에서 읽을 수 있도록 간격만 조정합니다. */
      @media (min-width: 1025px) and (max-height: 780px) {
        .business .business-row,
        .business .business-row:hover {
          padding: 16px 0;
        }
      }
      /* V12 · 회사 소개 사진, 아이템 기준선, 제휴사 가독성. */
      .company-trust-visual {
        margin: 28px 0 0;
        width: 100%;
        max-width: 520px;
        overflow: hidden;
        border-radius: 4px;
      }
      .company-trust-visual img {
        display: block;
        width: 100%;
        height: clamp(180px, 19vw, 260px);
        object-fit: cover;
        object-position: 50% 65%;
      }
      /* 글 위치는 그대로 두고, 두 칸을 같은 높이로 채워 하단 선만 맞춥니다. */
      @media (min-width: 761px) {
        .identity-grid {
          align-items: stretch;
        }
        .identity .identity-block {
          display: flex;
          flex-direction: column;
        }
        .identity .identity-block > .typo-list {
          flex: 1;
        }
        .identity .typo-list li {
          height: 100%;
          align-content: start;
        }
      }
      /* 모든 항목에 아이콘 / 두 줄 이름 / 혜택 행의 동일한 공간을 예약합니다. */
      .catalog-combined .catalog-list li {
        display: grid;
        grid-template-rows: 48px 61px;
        align-content: start;
        justify-items: center;
        gap: 10px;
        min-height: 0;
        padding: 10px 0;
      }
      .catalog-combined .catalog-item-copy {
        display: grid;
        grid-template-rows: 39px 18px;
        align-items: start;
        justify-items: center;
        gap: 4px;
        width: 100%;
      }
      .catalog-combined .catalog-item-name {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        min-height: 39px;
        font-size: 13px;
        line-height: 1.5;
        word-break: keep-all;
        overflow-wrap: anywhere;
      }
      .catalog-combined .catalog-payback {
        line-height: 18px;
        white-space: nowrap;
      }
      .catalog-combined [data-item="hanatour"] .catalog-icon img,
      .catalog-combined [data-item="shoppingmall"] .catalog-icon img {
        object-fit: contain;
        transform: none !important;
      }
      .catalog-combined .catalog-group {
        align-items: center;
      }
      /* 첫 남색 비주얼은 유지. 그 아래 로고와 분야는 밝은 면에서 읽습니다. */
      .page-partners .partners {
        background: #f4f6fa;
        color: var(--navy);
        border-top-color: #dde4ef;
      }
      .page-partners .partners h2,
      .page-partners .partners h3 {
        color: var(--navy);
      }
      .page-partners .partners .eyebrow {
        color: #355e9f;
      }
      .page-partners .partners .section-heading > p {
        color: #62718b;
      }
      .partner-logo-grid {
        gap: 12px;
        border: 0;
        margin-bottom: 0;
      }
      .partner-logo-grid li {
        position: relative;
        grid-template-rows: 1fr;
        min-height: 112px;
        padding: 20px 18px;
        border: 1px solid #e1e6ee;
        border-radius: 5px;
        background: #fff;
      }
      .partner-logo-grid img {
        display: block;
        width: min(174px, 100%);
        height: 62px;
        object-fit: contain;
        opacity: 1;
        filter: none;
      }
      .partner-logo-grid [data-partner="세스코"] img {
        max-width: 135px;
        height: 68px;
      }
      .partner-logo-grid .partner-status {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 7px;
        color: #6b7589;
        text-align: center;
        font-size: 10px;
      }
      .page-partners .partner-fields {
        background: #fff;
      }
      .page-partners .brand-row {
        border-color: #dce3ed;
      }
      .page-partners .brand-row ul {
        color: #263c61;
      }
      .page-partners .brand-row .partner-status {
        color: #65738b;
      }
      @media (min-width: 1025px) {
        .catalog-combined .catalog-groups {
          gap: 20px;
        }
        .catalog-combined .catalog-group + .catalog-group {
          padding-top: 20px;
        }
        .catalog-combined .catalog-list {
          row-gap: 6px;
        }
        .page-partners .partner-fields .brand-list {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 0 64px;
        }
        .page-partners .brand-row {
          display: block;
          padding: 22px 0;
        }
        .page-partners .brand-row h3 {
          margin-bottom: 12px;
          font-size: 22px;
        }
        .page-partners .brand-row ul {
          font-size: 17px;
          gap: 8px 20px;
        }
      }
      @media (min-width: 1025px) and (max-height: 780px) {
        .company-trust-visual {
          margin-top: 22px;
        }
        .company-trust-visual img {
          height: 190px;
        }
        .catalog-combined .catalog-list li {
          padding: 6px 0;
        }
        .catalog-combined .catalog-groups {
          gap: 16px;
        }
        .catalog-combined .catalog-group + .catalog-group {
          padding-top: 16px;
        }
        .partner-logo-grid li {
          min-height: 104px;
          padding: 16px;
        }
        .partner-logo-grid img {
          height: 58px;
        }
      }
      @media (max-width: 1024px) {
        .company-trust-visual {
          max-width: none;
        }
        .company-trust-visual img {
          height: 260px;
        }
        .catalog-combined .catalog-list {
          row-gap: 10px;
        }
        .partner-logo-grid {
          gap: 10px;
        }
        .partner-logo-grid li {
          min-height: 106px;
          padding: 18px;
        }
      }
      @media (max-width: 760px) {
        .company-trust-visual {
          margin-top: 24px;
        }
        .company-trust-visual img {
          height: 210px;
        }
        .catalog-combined .catalog-list li {
          padding: 16px 0;
        }
        .catalog-combined .catalog-item-name {
          font-size: 13px;
        }
        .partner-logo-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 10px;
        }
        .partner-logo-grid li {
          min-height: 106px;
          padding: 17px 13px;
        }
        .partner-logo-grid img {
          width: min(148px, 100%);
          height: 54px;
        }
        .page-partners .brand-row h3 {
          font-size: 24px;
        }
        .page-partners .brand-row ul {
          font-size: 17px;
        }
      }
      /* Original partner PNGs include white padding; enlarge within native resolution. */
      .partner-logo-grid .partner-logo-padded {
        transform: scale(1.5);
        transform-origin: center;
      }
      .partner-logo-grid li {
        overflow: hidden;
      }
      /* V13: requested content hierarchy and interactions. Earlier versions remain preserved. */
      .page-hero .page-toc {
        gap: 12px;
        border: 0;
      }
      .page-hero .page-toc a {
        display: inline-flex;
        align-items: center;
        gap: 22px;
        min-height: 48px;
        padding: 12px 20px;
        border: 1px solid rgba(255,255,255,.28);
        border-radius: 999px;
        background: rgba(255,255,255,.08);
        color: #fff;
        text-decoration: none;
        box-shadow: 0 6px 16px rgba(0,0,0,.08);
        transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
      }
      .page-hero .page-toc a::after {
        content: '↗';
        position: static;
        width: auto;
        height: auto;
        background: none;
        border: 0;
        opacity: .7;
        transform: none;
      }
      .page-hero .page-toc a:hover,
      .page-hero .page-toc a:focus-visible {
        transform: translateY(-3px);
        background: rgba(255,255,255,.17);
        border-color: rgba(255,255,255,.7);
      }
      .business-list .business-open {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
        border: 1px solid #ccd6e9;
        border-radius: 999px;
        padding: 11px 18px;
        background: #fff;
        text-decoration: none;
        transition: background-color .2s ease, border-color .2s ease;
      }
      .business-list .business-open > span:first-child {
        display: inline;
        padding: 0;
        border: 0;
        text-decoration: none;
      }
      .business-list .business-open > span::after,
      .business-list .business-open > span::before {
        display: none;
      }
      .business-list .business-open::after {
        content: '+';
        position: static;
        display: block;
        width: auto;
        height: auto;
        background: none;
        border: 0;
        font-size: 20px;
        line-height: 1;
      }
      .business-list .business-open:hover {
        background: #edf2fb;
        border-color: #8ba4d4;
      }
      .organization .organization-branches > li {
        display: flex;
        align-items: stretch;
        justify-content: flex-start;
        min-height: 0;
        padding: 0;
        background: transparent;
        border: 0;
        border-radius: 0;
      }
      .organization-department-card {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 130px;
        padding: 20px 8px;
        background: #fff;
        border: 1px solid #c8d3e6;
        border-radius: 4px;
      }
      .organization .organization-department {
        display: block;
        font-size: clamp(16px,1.35vw,21px);
        font-weight: 800;
        line-height: 1.4;
        letter-spacing: -.055em;
      }
      .organization .organization-service {
        margin-top: 10px;
        font-size: 13px;
      }
      .organization .organization-teams {
        display: grid;
        gap: 8px;
        padding: 20px 0 0;
        margin: 0;
        list-style: none;
        font-size: 14px;
        line-height: 1.55;
        color: #526789;
      }
      .organization .organization-teams > li {
        margin: 0;
        padding: 0;
        background: none;
        border: 0;
      }
      .identity .identity-grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 36px;
      }
      .identity .typo-list li {
        display: block;
      }
      .identity .typo-list .util {
        margin-bottom: 28px;
      }
      .identity .typo-list strong {
        font-size: clamp(24px,2.35vw,36px);
      }
      .identity .typo-list p {
        font-size: 16px;
        line-height: 1.8;
      }
      .service-brand-naepyeon img {
        width: 230px;
        max-width: 90%;
        height: 68px;
        object-fit: contain;
        object-position: left center;
      }
      .relationship .service-brand-mark {
        display: flex;
        align-items: center;
        min-height: 68px;
      }
      .spa-page section[tabindex="-1"]:focus {
        outline: none;
      }
      /* Meta label occupies its own row. The large heading aligns with the icon frame. */
      .catalog-combined .catalog-group {
        align-items: start;
      }
      .catalog-combined .catalog-group-title > span {
        display: block;
        height: 30px;
        margin: 0;
      }
      .catalog-combined .catalog-group-title h3 {
        margin: 0;
        line-height: 1.2;
      }
      .catalog-combined .catalog-list {
        grid-template-columns: repeat(7,minmax(0,1fr));
        gap: 18px 12px;
        padding-top: 30px;
      }
      .catalog-combined .catalog-list li {
        display: grid;
        grid-template-rows: 48px 39px;
        align-content: start;
        gap: 12px;
        padding: 0;
        min-height: 0;
      }
      .catalog-combined .catalog-item-copy {
        display: block;
        min-height: 39px;
      }
      .catalog-combined .catalog-icon {
        display: grid;
        place-items: center;
        width: 64px;
        height: 48px;
        overflow: visible;
      }
      .catalog-combined .catalog-icon img {
        width: 48px;
        height: 48px;
        object-fit: contain;
      }
      .catalog-combined .catalog-item-name {
        font-size: 13px;
        line-height: 1.5;
      }
      .catalog-combined .catalog-groups {
        gap: 26px;
      }
      .catalog-combined .catalog-group + .catalog-group {
        padding-top: 26px;
      }
      .catalog-combined .catalog-benefit {
        margin-top: 20px;
      }
      .catalog-combined .catalog-description {
        max-width: 190px;
      }
      /* A tall scroll region keeps a few logos still while the central collection passes. */
      .page-partners .partners.partner-showcase {
        display: block;
        position: relative;
        overflow: visible;
        min-height: 210svh;
        padding: 0;
        background: #f5f7fb;
        color: var(--navy);
      }
      .partner-stage {
        position: sticky;
        top: var(--header-height);
        height: calc(100svh - var(--header-height));
        padding: 28px max(24px,calc((100vw - 1320px)/2));
        display: grid;
        grid-template-rows: auto 74px minmax(120px,1fr) 74px auto;
        gap: 14px;
        overflow: hidden;
        margin: 0;
      }
      .partner-stage-heading {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 20px;
      }
      .partner-stage-heading h2 {
        font-size: clamp(28px,3vw,44px);
        line-height: 1.15;
        margin: 0;
      }
      .partner-stage-heading p {
        margin: 0;
        color: #617390;
        font-size: 14px;
      }
      .partner-showcase .partner-fixed,
      .partner-showcase .partner-moving {
        display: grid;
        grid-template-columns: repeat(6,minmax(0,1fr));
        gap: 14px;
        margin: 0;
        padding: 0;
        list-style: none;
      }
      .partner-showcase .partner-logo-grid li {
        height: 74px;
        min-height: 0;
        border: 1px solid #e5eaf2;
        border-radius: 8px;
        padding: 14px 18px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: #fff;
        box-shadow: none;
        overflow: hidden;
      }
      .partner-showcase .partner-logo-grid img,
      .partner-showcase .partner-logo-grid [data-partner="세스코"] img {
        display: block;
        width: 100%;
        max-width: 124px;
        height: 36px;
        max-height: 36px;
        object-fit: contain;
        filter: none;
        opacity: 1;
      }
      .partner-showcase .partner-logo-grid .partner-logo-padded {
        transform: scale(1.2);
      }
      .partner-showcase .partner-logo-grid li.partner-dark {
        background: #192734;
        border-color: #192734;
      }
      .partner-showcase .partner-logo-grid .partner-status {
        position: static;
        font-size: 9px;
        margin-top: 2px;
        line-height: 1;
      }
      .partner-motion-window {
        overflow: hidden;
        border-radius: 8px;
      }
      .partner-moving {
        will-change: transform;
      }
      .partner-wordmark {
        font-size: 16px;
        font-weight: 700;
        letter-spacing: -.04em;
        color: #405473;
        text-align: center;
      }
      .partner-source-note {
        margin: 0;
        font-size: 11px;
        line-height: 1.5;
        color: #687b99;
      }
      .partner-all {
        padding: 36px 0;
        background: #fff;
      }
      .partner-all summary {
        cursor: pointer;
        padding: 20px 0;
        font-size: 18px;
        color: var(--navy);
      }
      .partner-brand-names {
        display: grid;
        grid-template-columns: repeat(6,minmax(0,1fr));
        gap: 16px;
        padding: 24px 0;
        margin: 0;
        list-style: none;
        font-size: 13px;
        color: #526789;
      }
      html.v13-continuous {
        scroll-snap-type: none!important;
      }
      .faq-nav {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 24px;
        max-width: 340px;
      }
      .faq-nav a {
        display: inline-flex;
        padding: 10px 14px;
        border: 1px solid #ccd6e9;
        border-radius: 999px;
        font-size: 13px;
        background: #fff;
        text-decoration: none;
      }
      .faq-nav a:hover {
        background: #e7edf8;
      }
      .faq-group {
        scroll-margin-top: calc(var(--header-height) + 28px);
      }
      .faq-group + .faq-group {
        margin-top: 42px;
      }
      .faq-group h3 {
        font-size: 18px;
        margin: 0 0 10px;
        color: #536b9b;
      }
      .faq-answer {
        min-height: 28px;
      }
      .faq-list .faq-answer p {
        padding: 0 36px 24px 0;
        margin: 0;
        color: #526789;
        line-height: 1.8;
        font-size: 15px;
      }
      .faq-answer p:empty {
        min-height: 28px;
        padding: 0;
      }
      .inquiry-feedback:empty {
        display: none;
      }
      .inquiry-feedback {
        color: #a12626;
        margin-top: 16px;
        font-size: 14px;
      }
      @media (min-width:1025px) and (max-height:800px) {
        .organization .section-heading {
          margin-bottom: 24px;
        }
        .organization .organization-root {
          min-height: 76px;
          padding: 14px;
        }
        .organization-department-card {
          min-height: 112px;
          padding: 16px 6px;
        }
        .organization .organization-teams {
          padding-top: 16px;
          gap: 5px;
          font-size: 13px;
        }
        .catalog-combined {
          padding-top: 32px;
          padding-bottom: 32px;
        }
        .catalog-combined .catalog-list {
          gap: 12px;
        }
      }
      @media (max-width:1024px) {
        .organization .organization-branches {
          grid-template-columns: repeat(3,minmax(0,1fr));
          row-gap: 30px;
        }
        .organization .organization-branches::before,
        .organization .organization-branches > li::before {
          display: none;
        }
        .identity .identity-grid {
          gap: 24px;
        }
        .identity .typo-list p {
          font-size: 14px;
        }
        .catalog-combined .catalog-group {
          grid-template-columns: 180px minmax(0,1fr);
          gap: 24px;
        }
        .catalog-combined .catalog-list {
          grid-template-columns: repeat(4,minmax(0,1fr));
        }
        .partner-stage {
          padding: 22px 24px;
          grid-template-rows: auto 64px minmax(120px,1fr) 64px auto;
        }
        .partner-showcase .partner-logo-grid li {
          height: 64px;
          padding: 12px;
        }
        .partner-showcase .partner-fixed,.partner-showcase .partner-moving {
          grid-template-columns: repeat(4,minmax(0,1fr));
          gap: 10px;
        }
        .partner-showcase .partner-fixed li:nth-child(n+5) {
          display: none;
        }
        .partner-brand-names {
          grid-template-columns: repeat(4,minmax(0,1fr));
        }
      }
      @media (max-width:760px) {
        .page-hero .page-toc {
          gap: 9px;
        }
        .page-hero .page-toc a {
          padding: 10px 16px;
          gap: 14px;
          font-size: 13px;
          min-height: 44px;
        }
        .organization .organization-branches {
          grid-template-columns: repeat(2,minmax(0,1fr));
          gap: 28px 14px;
          padding-left: 0;
        }
        .organization .organization-branches::before,.organization .organization-branches > li::before {
          display: none;
        }
        .organization-department-card {
          min-height: 122px;
        }
        .organization .organization-department {
          font-size: 17px;
        }
        .organization .organization-service {
          font-size: 12px;
        }
        .organization .organization-teams {
          gap: 5px;
          font-size: 13px;
          padding-top: 15px;
        }
        .identity .identity-grid {
          grid-template-columns: 1fr;
          gap: 40px;
        }
        .identity .typo-list .util {
          margin-bottom: 20px;
        }
        .identity .typo-list p {
          font-size: 15px;
        }
        .catalog-combined .catalog-group {
          grid-template-columns: 1fr;
          gap: 24px;
        }
        .catalog-combined .catalog-list {
          padding-top: 0;
          grid-template-columns: repeat(3,minmax(0,1fr));
          gap: 24px 14px;
        }
        .catalog-combined .catalog-list li {
          grid-template-rows: 48px 39px;
          gap: 14px;
        }
        .catalog-combined .catalog-groups {
          gap: 40px;
        }
        .catalog-combined .catalog-group + .catalog-group {
          padding-top: 40px;
        }
        .catalog-combined .catalog-benefit {
          margin-top: 16px;
        }
        .catalog-combined .catalog-description {
          max-width: none;
        }
        .business-list .business-open {
          padding: 10px 15px;
        }
        .partner-stage {
          padding: 22px 20px;
          gap: 12px;
          grid-template-rows: auto 60px minmax(100px,1fr) 60px auto;
        }
        .partner-stage-heading {
          display: block;
        }
        .partner-stage-heading h2 {
          font-size: 30px;
        }
        .partner-stage-heading p {
          margin-top: 10px;
          font-size: 12px;
        }
        .partner-showcase .partner-fixed,.partner-showcase .partner-moving {
          grid-template-columns: repeat(3,minmax(0,1fr));
          gap: 9px;
        }
        .partner-showcase .partner-fixed li:nth-child(n+4) {
          display: none;
        }
        .partner-showcase .partner-logo-grid li {
          height: 60px;
          padding: 10px;
        }
        .partner-showcase .partner-logo-grid img {
          height: 29px;
          max-height: 29px;
          max-width: 90px;
        }
        .partner-wordmark {
          font-size: 12px;
        }
        .partner-brand-names {
          grid-template-columns: repeat(3,minmax(0,1fr));
          gap: 14px;
          font-size: 12px;
        }
        .partner-source-note {
          font-size: 10px;
        }
      }
      @media (prefers-reduced-motion:reduce) {
        .page-hero .page-toc a:hover {
          transform: none;
        }
        .page-partners .partners.partner-showcase {
          min-height: 0;
        }
        .partner-stage {
          position: static;
          height: auto;
          grid-template-rows: auto;
          overflow: visible;
        }
        .partner-motion-window {
          overflow: visible;
        }
        .partner-moving {
          transform: none!important;
          will-change: auto;
        }
      }
/* V14 in-place revision · 2026-10-20 */
#view-business .business-name {
  gap: 0;
  justify-content: flex-start;
}
.footer .footer-meta {
  border-top: 1px solid #ffffff25;
}
.footer .footer-legal {
  max-width: none;
}
.footer .footer-privacy-row {
  flex-basis: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 5px;
}
.footer .footer-privacy-row > span {
  flex-basis: auto;
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.footer .footer-privacy-row .footer-service-list {
  display: grid;
  grid-template-columns: repeat(4, 82px);
  gap: 16px;
  align-items: center;
}
.footer .footer-privacy-row .footer-service {
  min-height: 32px;
}
.footer .footer-privacy-row .footer-service img {
  width: 82px;
  height: 22px;
  object-fit: contain;
  object-position: center;
}
.footer .footer-privacy-row .footer-service:last-child img {
  height: 28px;
}
@media (max-width: 600px) {
  .footer .footer-privacy-row {
    display: block;
  }
  .footer .footer-privacy-row .footer-service-list {
    width: min(100%, 376px);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
  }
  .footer .footer-privacy-row .footer-service img {
    width: 100%;
  }
}
