/* Critical SilforU service media layout.
   Loaded after the shared official styles to keep stock images cropped and captions overlaid. */
.silso-official-page--service .silso-official-hero h1,
.silforu-service-intro__copy h2 {
    letter-spacing: -0.03em !important;
}

.silforu-retirement-notice{padding:28px 0!important;background:#f4f0ff!important;border-top:1px solid rgba(75,43,158,.16)!important;border-bottom:1px solid rgba(75,43,158,.16)!important}
.silforu-retirement-notice__inner{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.34fr)!important;gap:28px!important;align-items:center!important}
.silforu-retirement-notice span,.silforu-retirement-notice small{color:#6740cf!important;font-size:12px!important;font-weight:800!important;letter-spacing:.08em!important}
.silforu-retirement-notice h2{margin:8px 0 10px!important;color:#17131f!important;font-size:clamp(24px,3vw,38px)!important;line-height:1.16!important}
.silforu-retirement-notice p{max-width:840px!important;margin:7px 0 0!important;color:#4e475c!important;line-height:1.72!important}
.silforu-retirement-notice__actions{display:grid!important;gap:9px!important}
.silforu-retirement-notice__actions a{display:block!important;padding:13px 16px!important;border-radius:12px!important;background:#17131f!important;color:#fff!important;font-weight:800!important;text-align:center!important}
.silforu-retirement-notice__actions a+a{background:#fff!important;color:#4d22d8!important;border:1px solid rgba(77,34,216,.22)!important}
.silforu-retirement-notice__actions small{display:block!important;margin-top:4px!important;line-height:1.5!important;letter-spacing:0!important}
@media(max-width:760px){.silforu-retirement-notice__inner{grid-template-columns:1fr!important;gap:20px!important}}

.silforu-service-scenes {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 1120px !important;
    margin-top: 18px !important;
}

.silforu-service-scene {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(42, 26, 80, 0.16) !important;
    border-radius: 28px !important;
    background: #17131f !important;
}

.silforu-service-scene {
    aspect-ratio: 16 / 10 !important;
}

.silforu-service-scene::after {
    content: '' !important;
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 !important;
    display: block !important;
    background: linear-gradient(180deg, rgba(12, 9, 18, 0.02) 28%, rgba(12, 9, 18, 0.92) 100%) !important;
    pointer-events: none !important;
}

.silforu-service-scene > img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    filter: saturate(0.82) contrast(1.04) !important;
}

.silforu-service-scene--review > img {
    object-position: 50% 44% !important;
}

.silforu-service-scene--evidence > img {
    object-position: 58% 50% !important;
}

.silforu-service-scene > figcaption {
    position: absolute !important;
    z-index: 1 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    color: #fff !important;
    background: transparent !important;
}

.silforu-service-scene > figcaption {
    padding: 30px !important;
}

.silforu-service-scene > figcaption > span {
    display: block !important;
    color: #cdbfff !important;
    font-family: 'Freesentation-8ExtraBold', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
}

.silforu-service-scene > figcaption > strong {
    display: block !important;
    margin-top: 10px !important;
    color: #fff !important;
    font-family: 'Freesentation-9Black', sans-serif !important;
    line-height: 1.12 !important;
    letter-spacing: -0.025em !important;
    word-break: keep-all !important;
}

.silforu-service-scene > figcaption > strong {
    font-size: clamp(25px, 2.8vw, 38px) !important;
}

.silforu-service-scene > figcaption > p {
    max-width: 620px !important;
    margin: 10px 0 0 !important;
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
}

.silforu-service-scene > figcaption > em {
    display: block !important;
    margin-top: 13px !important;
    color: rgba(255, 255, 255, 0.64) !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
    font-style: normal !important;
}

.silforu-service-scene figcaption a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

@media (max-width: 767px) {
    .silforu-service-scenes {
        grid-template-columns: 1fr !important;
    }

    .silforu-service-scene {
        aspect-ratio: 4 / 3 !important;
        border-radius: 22px !important;
    }

    .silforu-service-scene > figcaption {
        padding: 22px !important;
    }

    .silforu-service-scene > figcaption > strong {
        font-size: 27px !important;
    }

    .silforu-service-scene > figcaption > p {
        display: none !important;
    }
}

/* Product architecture */
.silforu-architecture {
    position: relative;
    z-index: 1;
    margin-bottom: clamp(58px, 7vw, 92px) !important;
    padding: clamp(28px, 4vw, 48px) !important;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 32px;
    background:
        radial-gradient(circle at 78% 16%, rgba(116, 70, 248, 0.46), transparent 30%),
        linear-gradient(145deg, #111018 0%, #1b1429 100%);
    color: #fff;
    box-shadow: 0 34px 100px rgba(37, 22, 79, 0.2);
}

.silforu-architecture__head {
    display: grid;
    grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.silforu-architecture__head > span,
.silforu-pilot__fit > span,
.silforu-pilot__process-head > span,
.silforu-difference__head > span {
    color: #bca9ff;
    font-family: 'Freesentation-8ExtraBold', sans-serif;
    font-size: 12px;
    letter-spacing: 0.1em;
}

.silforu-architecture__head h2 {
    max-width: 760px;
    margin: 0;
    font-family: 'Freesentation-9Black', sans-serif;
    font-size: clamp(36px, 4.5vw, 62px);
    line-height: 1.04;
    letter-spacing: -0.03em;
    word-break: keep-all;
}

.silforu-architecture__head p {
    max-width: 700px;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 16px;
    line-height: 1.72;
}

.silforu-architecture__shared {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 34px;
    padding: 15px 18px;
    border: 1px solid rgba(188, 169, 255, 0.25);
    border-radius: 16px;
    background: rgba(116, 70, 248, 0.12);
}

.silforu-architecture__shared span {
    flex: 0 0 auto;
    color: #cdbfff;
    font-family: 'Freesentation-7Bold', sans-serif;
    font-size: 12px;
}

.silforu-architecture__shared strong {
    color: #fff;
    font-family: 'Freesentation-7Bold', sans-serif;
    font-size: 14px;
}

.silforu-architecture__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.silforu-architecture__axis {
    position: relative;
    min-height: 270px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.055);
}

.silforu-architecture__axis--main {
    border-color: rgba(188, 169, 255, 0.55);
    background: linear-gradient(155deg, rgba(116, 70, 248, 0.36), rgba(116, 70, 248, 0.12));
}

.silforu-architecture__axis > span {
    color: #bca9ff;
    font-family: 'Freesentation-8ExtraBold', sans-serif;
    font-size: 10px;
    letter-spacing: 0.06em;
}

.silforu-architecture__axis h3 {
    margin: 38px 0 0;
    color: #fff;
    font-family: 'Freesentation-9Black', sans-serif;
    font-size: 28px;
    letter-spacing: -0.02em;
}

.silforu-architecture__axis p {
    margin: 13px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 14px;
    line-height: 1.65;
}

.silforu-architecture__axis > em {
    position: absolute;
    right: 20px;
    bottom: 20px;
    left: 20px;
    display: block;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.56);
    font-size: 11px;
    line-height: 1.5;
    font-style: normal;
}

.silforu-architecture__axis--flow > b {
    position: absolute;
    top: -25px;
    right: 16px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff;
    color: #4d22d8;
    font-family: 'Freesentation-7Bold', sans-serif;
    font-size: 10px;
}

.silforu-architecture__boundary {
    margin: 16px 0 0;
    color: rgba(255, 255, 255, 0.58);
    font-size: 12px;
    line-height: 1.65;
}

.silforu-architecture__boundary strong {
    margin-right: 8px;
    color: #cdbfff;
}

/* Product concept refinements */
.silforu-product-preview__option > b {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 30px;
    margin-top: 3px;
    padding: 0 9px;
    border-radius: 8px;
    background: rgba(116, 70, 248, 0.1);
    color: #4d22d8;
    font-family: 'Freesentation-7Bold', sans-serif;
    font-size: 10px;
}

.silforu-product-preview__option > b::after {
    content: '→';
}

/* Difference from project management */
.silforu-difference {
    position: relative;
    z-index: 1;
    margin-top: clamp(58px, 7vw, 86px) !important;
    padding: clamp(28px, 4vw, 44px) !important;
    border: 1px solid #ded6ef;
    border-radius: 30px;
    background: #fff;
}

.silforu-difference__head {
    display: grid;
    grid-template-columns: minmax(180px, 0.3fr) minmax(0, 1fr);
    gap: 28px;
    align-items: end;
}

.silforu-difference__head > span {
    color: #7446f8;
}

.silforu-difference__head h2 {
    max-width: 780px;
    margin: 0;
    color: #15111c;
    font-family: 'Freesentation-9Black', sans-serif;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.05;
    letter-spacing: -0.03em;
    word-break: keep-all;
}

.silforu-difference__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 30px;
}

.silforu-difference__grid > article {
    padding: 26px;
    border: 1px solid #e4deed;
    border-radius: 22px;
    background: #f8f7fa;
}

.silforu-difference__grid > article.is-silforu {
    border-color: #7446f8;
    background: #18131f;
    color: #fff;
}

.silforu-difference__grid article > span {
    color: #746d7e;
    font-family: 'Freesentation-8ExtraBold', sans-serif;
    font-size: 11px;
    letter-spacing: 0.06em;
}

.silforu-difference__grid article.is-silforu > span {
    color: #bca9ff;
}

.silforu-difference__grid h3 {
    margin: 18px 0 0;
    font-family: 'Freesentation-8ExtraBold', sans-serif;
    font-size: 24px;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.silforu-difference__grid dl {
    margin: 24px 0 0;
}

.silforu-difference__grid dl > div {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr);
    gap: 12px;
    padding: 13px 0;
    border-top: 1px solid #e2dde8;
}

.silforu-difference__grid .is-silforu dl > div {
    border-color: rgba(255, 255, 255, 0.12);
}

.silforu-difference__grid dt {
    color: #746d7e;
    font-family: 'Freesentation-7Bold', sans-serif;
    font-size: 12px;
}

.silforu-difference__grid .is-silforu dt {
    color: #bca9ff;
}

.silforu-difference__grid dd {
    margin: 0;
    color: #3f3948;
    font-size: 14px;
    line-height: 1.55;
}

.silforu-difference__grid .is-silforu dd {
    color: rgba(255, 255, 255, 0.78);
}

.silforu-difference > p {
    margin: 18px 0 0;
    padding: 15px 17px;
    border-radius: 14px;
    background: #f0ebff;
    color: #5a5068;
    font-size: 13px;
    line-height: 1.65;
}

/* Synthetic pilot conversion */
.silforu-pilot {
    position: relative;
    overflow: hidden;
    padding: clamp(76px, 8vw, 112px) 0;
    background:
        radial-gradient(circle at 82% 12%, rgba(116, 70, 248, 0.4), transparent 28%),
        #141019;
    color: #fff;
}

.silforu-pilot__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(460px, 1.08fr);
    gap: clamp(38px, 6vw, 76px);
    align-items: start;
}

.silforu-pilot__fit h2 {
    max-width: 650px;
    margin: 20px 0 0;
    font-family: 'Freesentation-9Black', sans-serif;
    font-size: clamp(38px, 4.7vw, 64px);
    line-height: 1.04;
    letter-spacing: -0.03em;
    word-break: keep-all;
}

.silforu-pilot__fit > p:not(.silforu-pilot__not-fit) {
    margin: 22px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 16px;
    line-height: 1.72;
}

.silforu-pilot__fit ul {
    display: grid;
    gap: 9px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.silforu-pilot__fit li {
    position: relative;
    padding: 13px 14px 13px 42px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    line-height: 1.55;
}

.silforu-pilot__fit li::before {
    content: '✓';
    position: absolute;
    top: 13px;
    left: 15px;
    color: #bca9ff;
    font-family: 'Freesentation-8ExtraBold', sans-serif;
}

.silforu-pilot__not-fit {
    margin: 16px 0 0;
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
    line-height: 1.65;
}

.silforu-pilot__not-fit strong {
    display: block;
    margin-bottom: 3px;
    color: #cdbfff;
}

.silforu-pilot__process {
    padding: clamp(24px, 3.5vw, 38px);
    border-radius: 28px;
    background: #fff;
    color: #17131f;
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.26);
}

.silforu-pilot__process-head > span {
    color: #7446f8;
}

.silforu-pilot__process-head h3 {
    margin: 14px 0 0;
    font-family: 'Freesentation-9Black', sans-serif;
    font-size: 30px;
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.silforu-pilot__process ol {
    display: grid;
    gap: 10px;
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

.silforu-pilot__process li {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
    border: 1px solid #e3ddee;
    border-radius: 17px;
    background: #faf9fc;
}

.silforu-pilot__process li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #eee8ff;
    color: #5d35df;
    font-family: 'Freesentation-8ExtraBold', sans-serif;
    font-size: 11px;
}

.silforu-pilot__process li strong {
    font-family: 'Freesentation-8ExtraBold', sans-serif;
    font-size: 17px;
}

.silforu-pilot__process li p {
    margin: 6px 0 0;
    color: #675f71;
    font-size: 13px;
    line-height: 1.62;
}

.silforu-pilot__cta {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.silforu-pilot__cta .silso-official-cta {
    width: 100%;
}

.silforu-pilot__cta > span {
    color: #756e7f;
    font-size: 11px;
    text-align: center;
}

@media (max-width: 960px) {
    .silforu-architecture__head,
    .silforu-difference__head,
    .silforu-pilot__inner {
        grid-template-columns: 1fr;
    }

    .silforu-architecture__grid {
        grid-template-columns: 1fr;
    }

    .silforu-architecture__axis {
        min-height: 230px;
    }

    .silforu-architecture__axis--flow > b {
        top: 14px;
    }

    .silforu-pilot__process {
        max-width: 760px;
    }
}

@media (max-width: 767px) {
    .silforu-architecture,
    .silforu-difference {
        border-radius: 22px;
    }

    .silforu-architecture__head h2,
    .silforu-difference__head h2 {
        font-size: 36px;
    }

    .silforu-architecture__shared {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .silforu-difference__grid {
        grid-template-columns: 1fr;
    }

    .silforu-difference__grid dl > div {
        grid-template-columns: 78px minmax(0, 1fr);
    }

    .silforu-product-preview__nav span {
        font-size: 12px !important;
    }

    .silforu-product-preview__cases {
        display: block !important;
        overflow: visible !important;
    }

    .silforu-product-preview__cases article:not(.is-selected) {
        display: none !important;
    }

    .silforu-product-preview__cases article.is-selected {
        width: 100% !important;
    }

    .silforu-product-preview__cases::after {
        content: '선택한 하위 사례 · 1/3';
        display: block;
        margin-top: 7px;
        color: #746d7e;
        font-family: 'Freesentation-7Bold', sans-serif;
        font-size: 11px;
        text-align: right;
    }

    .silforu-service-scene {
        aspect-ratio: 16 / 9 !important;
    }

    .silforu-pilot {
        padding: 66px 0;
    }

    .silforu-pilot__fit h2 {
        font-size: 39px;
    }

    .silforu-pilot__process {
        border-radius: 22px;
    }
}
