:root {
    --frsc-dark: var(--fritech-graphite-2, #101820);
    --frsc-dark-2: var(--fritech-graphite, #20272d);
    --frsc-ink: #1d2732;
    --frsc-muted: #5b6772;
    --frsc-line: #dce2e7;
    --frsc-soft: #f3f6f8;
    --frsc-white: #ffffff;
    --frsc-accent: var(--fritech-orange, #d56a25);
    --frsc-accent-dark: var(--fritech-orange-dark, #b95316);
    --frsc-shell: 1180px;
    --frsc-shadow: 0 22px 58px rgba(16, 24, 32, .12);
}

body.fritech-services-content-page #primary,
body.fritech-services-content-page .content-area,
body.fritech-services-content-page .site-main,
body.fritech-services-content-page .content-container {
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
}

body.fritech-services-content-page .entry,
body.fritech-services-content-page .entry-content-wrap,
body.fritech-services-content-page .content-bg {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

body.fritech-services-content-page .entry-content {
    max-width: none;
    margin: 0;
    padding: 0;
}

.frsc-page,
.frsc-page * {
    box-sizing: border-box;
}

.frsc-page {
    overflow: hidden;
    color: var(--frsc-ink);
    background: var(--frsc-white);
}

.frsc-shell {
    width: min(var(--frsc-shell), calc(100% - 48px));
    margin-inline: auto;
}

.frsc-intro {
    position: relative;
    padding: 88px 0 96px;
    background: var(--frsc-white);
}

.frsc-intro::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: linear-gradient(90deg, var(--frsc-accent) 0 32%, var(--frsc-line) 32% 100%);
}

.frsc-intro__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(390px, .96fr);
    gap: 74px;
    align-items: center;
}

.frsc-eyebrow,
.frsc-kicker {
    margin: 0 0 17px;
    color: var(--frsc-accent-dark);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .15em;
    line-height: 1.3;
    text-transform: uppercase;
}

.frsc-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
}

.frsc-eyebrow::before {
    content: "";
    width: 38px;
    height: 3px;
    background: var(--frsc-accent);
}

.frsc-intro__copy h2,
.frsc-section-head h2,
.frsc-note h2,
.frsc-final-cta h2 {
    margin: 0;
    color: var(--frsc-ink);
    font-size: clamp(34px, 4vw, 54px);
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: 1.07;
}

.frsc-lead {
    max-width: 720px;
    margin: 25px 0 0;
    color: var(--frsc-muted);
    font-size: clamp(17px, 1.55vw, 20px);
    line-height: 1.72;
}

.frsc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;
    margin-top: 32px;
}

.frsc-actions--end {
    justify-content: flex-end;
    align-items: center;
}

.frsc-button {
    display: inline-flex !important;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 14px 21px;
    border: 1px solid transparent !important;
    border-radius: 2px !important;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .015em;
    line-height: 1.2;
    text-decoration: none !important;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.frsc-button:hover {
    transform: translateY(-2px);
}

.frsc-button--primary {
    color: #fff !important;
    background: var(--frsc-accent) !important;
    border-color: var(--frsc-accent) !important;
    box-shadow: 0 12px 28px rgba(213, 106, 37, .18);
}

.frsc-button--primary:hover {
    background: var(--frsc-accent-dark) !important;
    border-color: var(--frsc-accent-dark) !important;
}

.frsc-button--outline {
    color: var(--frsc-ink) !important;
    background: transparent !important;
    border-color: #aeb8bf !important;
}

.frsc-button--outline:hover {
    color: var(--frsc-accent-dark) !important;
    border-color: var(--frsc-accent) !important;
    background: #fff !important;
}

.frsc-button--light {
    color: var(--frsc-ink) !important;
    background: #fff !important;
    border-color: #fff !important;
}

.frsc-button--light:hover {
    color: var(--frsc-accent-dark) !important;
    box-shadow: 0 12px 30px rgba(15, 23, 31, .18);
}

.frsc-button--dark {
    color: #fff !important;
    background: var(--frsc-dark) !important;
    border-color: var(--frsc-dark) !important;
}

.frsc-button--dark:hover {
    background: #263440 !important;
    border-color: #263440 !important;
}

/* Abstract technical graphic. No customer geometry is used. */
.frsc-visual {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    border: 1px solid #293844;
    color: #fff;
    background:
        radial-gradient(circle at 78% 16%, rgba(213, 106, 37, .24), transparent 26%),
        linear-gradient(135deg, #0e171e 0%, #192631 70%, #111920 100%);
    box-shadow: 0 28px 75px rgba(16, 24, 32, .22);
}

.frsc-visual::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--frsc-accent);
}

.frsc-visual__grid {
    position: absolute;
    inset: 0;
    opacity: .33;
    background-image:
        linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px);
    background-size: 34px 34px;
}

.frsc-visual__frame {
    position: absolute;
    left: 12%;
    right: 12%;
    top: 12%;
    height: 54%;
    border: 1px solid rgba(255,255,255,.23);
    transform: perspective(700px) rotateX(55deg) rotateZ(-8deg);
    transform-origin: center;
}

.frsc-visual__frame::before,
.frsc-visual__frame::after {
    content: "";
    position: absolute;
    border: 2px solid rgba(213,106,37,.82);
}

.frsc-visual__frame::before {
    left: 12%;
    top: 16%;
    width: 55%;
    height: 48%;
}

.frsc-visual__frame::after {
    right: 8%;
    bottom: 8%;
    width: 34%;
    height: 42%;
}

.frsc-visual__rail {
    position: absolute;
    display: block;
    height: 3px;
    background: rgba(255,255,255,.54);
    box-shadow: 0 0 0 1px rgba(0,0,0,.18);
}

.frsc-visual__rail--1 { left: 6%; right: 8%; top: 28%; }
.frsc-visual__rail--2 { left: 13%; right: 17%; top: 55%; transform: rotate(7deg); }
.frsc-visual__rail--3 { left: 22%; right: 7%; top: 72%; transform: rotate(-5deg); }

.frsc-visual__node {
    position: absolute;
    display: block;
    width: 20px;
    height: 20px;
    border: 3px solid var(--frsc-accent);
    border-radius: 50%;
    background: #13202a;
}

.frsc-visual__node--1 { left: 14%; top: 18%; }
.frsc-visual__node--2 { left: 58%; top: 23%; }
.frsc-visual__node--3 { left: 31%; top: 60%; }
.frsc-visual__node--4 { right: 11%; top: 48%; }

.frsc-visual--steel .frsc-visual__frame { transform: perspective(700px) rotateX(58deg) rotateZ(4deg); }
.frsc-visual--steel .frsc-visual__frame::before { width: 72%; height: 24%; top: 18%; }
.frsc-visual--steel .frsc-visual__frame::after { width: 54%; height: 26%; right: 12%; bottom: 13%; }
.frsc-visual--cnc .frsc-visual__frame { border-radius: 50%; width: 58%; left: 21%; right: auto; }
.frsc-visual--cnc .frsc-visual__frame::before { border-radius: 50%; width: 42%; height: 42%; left: 27%; top: 25%; }
.frsc-visual--cnc .frsc-visual__frame::after { width: 15%; height: 70%; right: -9%; bottom: 14%; }
.frsc-visual--inspection .frsc-visual__frame::before { width: 68%; height: 60%; left: 8%; top: 10%; }
.frsc-visual--inspection .frsc-visual__frame::after { border-radius: 50%; width: 24%; height: 34%; right: 8%; }
.frsc-visual--resistance .frsc-visual__rail--1,
.frsc-visual--resistance .frsc-visual__rail--3 { height: 5px; background: var(--frsc-accent); }
.frsc-visual--assembly .frsc-visual__frame { transform: perspective(700px) rotateX(52deg) rotateZ(9deg); }
.frsc-visual--capabilities .frsc-visual__frame::before { width: 35%; height: 70%; }
.frsc-visual--capabilities .frsc-visual__frame::after { width: 35%; height: 70%; }

.frsc-facts {
    position: absolute;
    z-index: 3;
    left: 28px;
    right: 28px;
    bottom: 28px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: rgba(255,255,255,.17);
    box-shadow: 0 18px 50px rgba(0,0,0,.22);
}

.frsc-facts--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.frsc-fact {
    min-height: 104px;
    padding: 19px 17px;
    background: rgba(13, 23, 31, .93);
}

.frsc-fact strong,
.frsc-fact span {
    display: block;
}

.frsc-fact strong {
    color: var(--frsc-accent);
    font-size: 22px;
    font-weight: 850;
    line-height: 1.1;
}

.frsc-fact span {
    margin-top: 9px;
    color: rgba(255,255,255,.65);
    font-size: 12px;
    line-height: 1.4;
}

.frsc-section {
    padding: 98px 0;
    background: #fff;
}

.frsc-section--steps,
.frsc-section--specs,
.frsc-section--capability-grid,
.frsc-section--note {
    background: var(--frsc-soft);
}

.frsc-section--split-list.frsc-section--dark {
    color: #fff;
    background: var(--frsc-dark);
}

.frsc-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
    gap: 70px;
    align-items: end;
    margin-bottom: 48px;
}

.frsc-section-head--compact {
    display: block;
    max-width: 650px;
    margin: 0;
}

.frsc-section-head > p,
.frsc-section-head--compact > p:not(.frsc-kicker),
.frsc-note > p,
.frsc-final-cta p {
    margin: 20px 0 0;
    color: var(--frsc-muted);
    font-size: 16px;
    line-height: 1.75;
}

.frsc-card-grid {
    display: grid;
    gap: 18px;
}

.frsc-card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.frsc-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.frsc-card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.frsc-card {
    position: relative;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    padding: 29px 27px;
    border: 1px solid var(--frsc-line);
    border-top: 3px solid var(--frsc-accent);
    color: inherit !important;
    background: #fff;
    text-decoration: none !important;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.frsc-card:hover {
    transform: translateY(-6px);
    border-color: transparent;
    box-shadow: var(--frsc-shadow);
}

.frsc-card__number {
    color: var(--frsc-accent);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
}

.frsc-card h3,
.frsc-step h3,
.frsc-cap-card h3 {
    margin: 18px 0 12px;
    color: var(--frsc-ink);
    font-size: 21px;
    font-weight: 780;
    letter-spacing: -.025em;
    line-height: 1.22;
}

.frsc-card p,
.frsc-step p {
    margin: 0;
    color: var(--frsc-muted);
    font-size: 14px;
    line-height: 1.7;
}

.frsc-card b {
    margin-top: auto;
    padding-top: 22px;
    color: var(--frsc-accent-dark);
    font-size: 22px;
    font-weight: 500;
}

.frsc-card--accent {
    border-color: var(--frsc-accent);
    color: #fff !important;
    background: var(--frsc-accent);
}

.frsc-card--accent .frsc-card__number,
.frsc-card--accent h3,
.frsc-card--accent p,
.frsc-card--accent b {
    color: #fff;
}

.frsc-split {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 90px;
    align-items: center;
}

.frsc-section--dark .frsc-kicker { color: #ff9b5c; }
.frsc-section--dark .frsc-section-head h2 { color: #fff; }
.frsc-section--dark .frsc-section-head p { color: rgba(255,255,255,.68); }

.frsc-checklist {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(255,255,255,.15);
}

.frsc-checklist li {
    position: relative;
    margin: 0;
    padding: 17px 16px 17px 39px;
    border-bottom: 1px solid rgba(255,255,255,.15);
    color: rgba(255,255,255,.84);
    font-size: 15px;
    line-height: 1.5;
}

.frsc-checklist li::before {
    content: "";
    position: absolute;
    left: 7px;
    top: 23px;
    width: 18px;
    height: 2px;
    background: var(--frsc-accent);
}

.frsc-step-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: var(--frsc-line);
    border: 1px solid var(--frsc-line);
}

.frsc-step {
    min-height: 260px;
    padding: 30px 26px;
    background: #fff;
}

.frsc-step > span {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--frsc-accent);
    color: var(--frsc-accent-dark);
    font-size: 12px;
    font-weight: 900;
}

.frsc-spec-list {
    border-top: 1px solid #cfd7dc;
}

.frsc-spec {
    display: grid;
    grid-template-columns: minmax(190px, .34fr) minmax(0, .66fr);
    gap: 44px;
    padding: 25px 4px;
    border-bottom: 1px solid #cfd7dc;
}

.frsc-spec strong {
    color: var(--frsc-ink);
    font-size: 15px;
    font-weight: 800;
}

.frsc-spec span {
    color: var(--frsc-muted);
    font-size: 15px;
    line-height: 1.65;
}

.frsc-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.frsc-tags span {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    padding: 11px 18px;
    border-left: 3px solid var(--frsc-accent);
    color: var(--frsc-ink);
    background: var(--frsc-soft);
    font-size: 14px;
    font-weight: 700;
}

.frsc-cap-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.frsc-cap-card {
    padding: 29px;
    border: 1px solid var(--frsc-line);
    border-top: 3px solid var(--frsc-accent);
    background: #fff;
}

.frsc-cap-card h3 {
    margin-top: 0;
}

.frsc-cap-card ul {
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.frsc-cap-card li {
    position: relative;
    margin: 0;
    padding: 9px 0 9px 19px;
    border-top: 1px solid #edf0f2;
    color: var(--frsc-muted);
    font-size: 14px;
    line-height: 1.5;
}

.frsc-cap-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 17px;
    width: 8px;
    height: 2px;
    background: var(--frsc-accent);
}

.frsc-note {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 80px;
    align-items: center;
    padding: 42px 46px;
    border-left: 5px solid var(--frsc-accent);
    background: #fff;
    box-shadow: 0 16px 45px rgba(16,24,32,.07);
}

.frsc-note h2 {
    font-size: clamp(27px, 3vw, 40px);
}

.frsc-note > p {
    margin: 0;
}

.frsc-final-cta {
    padding: 76px 0 28px;
    color: #fff;
    background: var(--frsc-accent);
}

.frsc-final-cta__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
    gap: 70px;
    align-items: center;
}

.frsc-final-cta .frsc-kicker,
.frsc-final-cta h2,
.frsc-final-cta p {
    color: #fff;
}

.frsc-final-cta p {
    max-width: 720px;
    color: rgba(255,255,255,.84);
}

.frsc-disclaimer {
    margin: 52px 0 0 !important;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.28);
    color: rgba(255,255,255,.72) !important;
    font-size: 12px !important;
}

@media (max-width: 1120px) {
    .frsc-intro__grid { gap: 42px; }
    .frsc-card-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .frsc-card { min-height: 260px; }
    .frsc-step-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .frsc-cap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .frsc-intro { padding: 70px 0 76px; }
    .frsc-intro__grid,
    .frsc-section-head,
    .frsc-split,
    .frsc-note,
    .frsc-final-cta__grid {
        grid-template-columns: 1fr;
    }
    .frsc-intro__grid { gap: 44px; }
    .frsc-visual { min-height: 430px; }
    .frsc-section { padding: 78px 0; }
    .frsc-section-head { gap: 20px; }
    .frsc-split { gap: 48px; }
    .frsc-note { gap: 24px; }
    .frsc-actions--end { justify-content: flex-start; }
}

@media (max-width: 680px) {
    .frsc-shell { width: min(100% - 32px, var(--frsc-shell)); }
    .frsc-intro { padding: 58px 0 64px; }
    .frsc-intro__copy h2,
    .frsc-section-head h2,
    .frsc-final-cta h2 { font-size: 34px; }
    .frsc-lead { font-size: 17px; }
    .frsc-actions { display: grid; grid-template-columns: 1fr; }
    .frsc-button { width: 100%; }
    .frsc-visual { min-height: 500px; }
    .frsc-visual__frame { left: 8%; right: 8%; top: 9%; }
    .frsc-facts,
    .frsc-facts--3 {
        left: 18px;
        right: 18px;
        bottom: 18px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .frsc-fact { min-height: 94px; padding: 16px 14px; }
    .frsc-fact strong { font-size: 20px; }
    .frsc-section { padding: 62px 0; }
    .frsc-card-grid--2,
    .frsc-card-grid--3,
    .frsc-card-grid--4,
    .frsc-step-grid,
    .frsc-cap-grid {
        grid-template-columns: 1fr;
    }
    .frsc-card,
    .frsc-step { min-height: auto; }
    .frsc-spec { grid-template-columns: 1fr; gap: 8px; }
    .frsc-note { padding: 30px 25px; }
    .frsc-final-cta { padding: 62px 0 24px; }
    .frsc-final-cta__grid { gap: 30px; }
    .frsc-disclaimer { margin-top: 38px !important; }
}
