/**
 * story — Component CSS
 */
        .about-story { padding: 6rem 0; position: relative; overflow: hidden; background-color: var(--pi-bg, #f8fafc); }
        .about-story__orb { position: absolute; top: 0; right: 0; width: 500px; height: 500px; border-radius: 0 0 0 100%; z-index: 0; opacity: 0.5; background: color-mix(in srgb, var(--pi-bg-alt, #f1f5f9) 70%, transparent); }
        .about-story__line { position: absolute; bottom: 0; left: 2.5rem; width: 1px; height: 8rem; background: var(--pi-border, #e2e8f0); }
        .about-story__container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; position: relative; z-index: 10; }
        .about-story__grid { display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: flex-start; }
        @media (min-width: 1024px) { .about-story__grid { grid-template-columns: 1fr 1fr; } }
        .about-story__content { order: 2; padding-top: 2rem; }
        @media (min-width: 1024px) { .about-story__content { order: 1; } }
        .about-story__tag-row { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
        .about-story__tag-line { height: 1px; width: 2rem; background: var(--pi-primary, #007d3d); }
        .about-story__tag { color: var(--pi-text-3, #64748b); font-size: 0.75rem; font-family: monospace; text-transform: uppercase; letter-spacing: 0.3em; }
        .about-story__heading { font-size: 2.25rem; font-weight: 900; line-height: 0.9; margin-bottom: 2rem; letter-spacing: -0.05em; color: var(--pi-text, #0f172a); }
        @media (min-width: 768px) { .about-story__heading { font-size: 3.75rem; } }
        .about-story__heading-gradient { display: inline-block; background-image: linear-gradient(to right, var(--pi-primary, #007d3d), var(--pi-primary-light, #00a84d)); -webkit-background-clip: text; background-clip: text; color: transparent; font-style: italic; font-weight: 300; padding-right: 1rem; }
        .about-story__subheading { display: block; font-size: 1.5rem; font-weight: 300; margin-top: 0.5rem; letter-spacing: normal; color: var(--pi-text-3, #64748b); }
        @media (min-width: 768px) { .about-story__subheading { font-size: 1.875rem; } }
        .about-story__body { position: relative; padding-left: 2rem; border-left: 2px solid color-mix(in srgb, var(--pi-primary, #007d3d) 20%, transparent); display: flex; flex-direction: column; gap: 1.5rem; }
        .about-story__quote { font-size: 1.125rem; font-weight: 500; line-height: 1.625; color: var(--pi-text, #0f172a); }
        .about-story__desc { font-size: 0.875rem; line-height: 1.625; color: var(--pi-text-2, #334155); text-align: justify; }
        .about-story__signature { padding-top: 2rem; display: flex; align-items: baseline; gap: 1.5rem; }
        .about-story__sign-text { font-style: italic; font-size: 2.25rem; color: var(--pi-primary, #007d3d); letter-spacing: -0.05em; transform: rotate(-2deg); transform-origin: bottom left; }
        .about-story__sign-meta { border-left: 1px solid var(--pi-border, #e2e8f0); padding-left: 1.5rem; padding-top: 0.25rem; padding-bottom: 0.25rem; }
        .about-story__sign-role { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--pi-text, #0f172a); margin: 0 0 0.375rem; }
        .about-story__sign-org { font-size: 0.625rem; font-family: monospace; letter-spacing: 0.1em; color: var(--pi-text-3, #64748b); margin: 0; }
        /* Image Side */
        .about-story__image-side { order: 1; position: relative; }
        @media (min-width: 1024px) { .about-story__image-side { order: 2; } }
        .about-story__frame { position: absolute; inset: 0; border: 1px solid var(--pi-border, #e2e8f0); transform: translate(1rem, 1rem); z-index: -1; transition: transform 0.3s; }
        .about-story__image-side:hover .about-story__frame { transform: translate(0.5rem, 0.5rem); }
        .about-story__corner-tr { position: absolute; top: -1rem; right: -1rem; width: 4rem; height: 4rem; border-top: 1px solid color-mix(in srgb, var(--pi-primary, #007d3d) 50%, transparent); border-right: 1px solid color-mix(in srgb, var(--pi-primary, #007d3d) 50%, transparent); }
        .about-story__corner-bl { position: absolute; bottom: -1rem; left: -1rem; width: 4rem; height: 4rem; border-bottom: 1px solid color-mix(in srgb, var(--pi-primary, #007d3d) 50%, transparent); border-left: 1px solid color-mix(in srgb, var(--pi-primary, #007d3d) 50%, transparent); }
        .about-story__img-wrap { position: relative; overflow: hidden; filter: grayscale(1); transition: filter 0.7s ease-out; }
        .about-story__image-side:hover .about-story__img-wrap { filter: grayscale(0); }
        .about-story__img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
        .about-story__badge { position: absolute; bottom: -1.5rem; left: -1.5rem; padding: 1rem; border: 1px solid var(--pi-border, #e2e8f0); display: flex; align-items: center; gap: 1rem; min-width: fit-content; padding-right: 2rem; white-space: nowrap; background: var(--pi-bg-card, #ffffff); box-shadow: 10px 10px 0 var(--pi-shadow, rgba(0,0,0,0.08)); }
        .about-story__badge-icon { width: 3rem; height: 3rem; background: var(--pi-primary, #007d3d); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .about-story__badge-icon svg { width: 1.5rem; height: 1.5rem; }
        .about-story__badge-title { font-weight: 700; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--pi-text, #0f172a); margin: 0 0 0.125rem; }
        .about-story__badge-copy { font-size: 0.75rem; font-family: monospace; color: var(--pi-text-3, #64748b); margin: 0; }
        /* Dark Mode */
        .dark .about-story { background: var(--pi-bg, #0f172a); }
        .dark .about-story__heading { color: var(--pi-text, #f1f5f9); }
        .dark .about-story__quote { color: var(--pi-text, #f1f5f9); }
        .dark .about-story__desc { color: var(--pi-text-2, #e2e8f0); }
        .dark .about-story__sign-role { color: var(--pi-text, #f1f5f9); }
        .dark .about-story__badge { background: var(--pi-bg-card, #1e293b); border-color: var(--pi-border, #334155); }
        .dark .about-story__badge-title { color: var(--pi-text, #f1f5f9); }
        .dark .about-story__frame { border-color: var(--pi-border, #334155); }
        .dark .about-story__sign-meta { border-left-color: var(--pi-border, #334155); }
