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

body.fritech-company-content-page #primary,
body.fritech-company-content-page .content-area,
body.fritech-company-content-page .site-main,
body.fritech-company-content-page .content-container {
    width: 100%; max-width: none; padding: 0; margin: 0;
}
body.fritech-company-content-page .entry,
body.fritech-company-content-page .entry-content-wrap,
body.fritech-company-content-page .content-bg {
    margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent;
}
body.fritech-company-content-page .entry-content { max-width: none; margin: 0; padding: 0; }

.frcp-page, .frcp-page * { box-sizing: border-box; }
.frcp-page { overflow: hidden; color: var(--frcp-ink); background: #fff; }
.frcp-shell { width: min(var(--frcp-shell), calc(100% - 48px)); margin-inline: auto; }

.frcp-intro { position: relative; padding: 88px 0 96px; background: #fff; }
.frcp-intro::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,var(--frcp-accent) 0 32%,var(--frcp-line) 32% 100%); }
.frcp-intro__grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(390px,.96fr); gap:74px; align-items:center; }
.frcp-eyebrow,.frcp-kicker { margin:0 0 17px; color:var(--frcp-accent-dark); font-size:12px; font-weight:850; letter-spacing:.15em; line-height:1.3; text-transform:uppercase; }
.frcp-eyebrow { display:inline-flex; align-items:center; gap:11px; }
.frcp-eyebrow::before { content:""; width:38px; height:3px; background:var(--frcp-accent); }
.frcp-intro__copy h2,.frcp-section-head h2,.frcp-note h2,.frcp-case h2,.frcp-final-cta h2 { margin:0; color:var(--frcp-ink); font-size:clamp(34px,4vw,54px); font-weight:800; letter-spacing:-.04em; line-height:1.07; }
.frcp-lead { max-width:720px; margin:25px 0 0; color:var(--frcp-muted); font-size:clamp(17px,1.55vw,20px); line-height:1.72; }
.frcp-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:32px; }
.frcp-actions--end { justify-content:flex-end; align-items:center; }
.frcp-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; text-decoration:none!important; transition:.2s ease; }
.frcp-button:hover { transform:translateY(-2px); }
.frcp-button--primary { color:#fff!important; background:var(--frcp-accent)!important; border-color:var(--frcp-accent)!important; box-shadow:0 12px 28px rgba(213,106,37,.18); }
.frcp-button--primary:hover { background:var(--frcp-accent-dark)!important; border-color:var(--frcp-accent-dark)!important; }
.frcp-button--outline { color:var(--frcp-ink)!important; background:transparent!important; border-color:#aeb8bf!important; }
.frcp-button--outline:hover { color:var(--frcp-accent-dark)!important; border-color:var(--frcp-accent)!important; background:#fff!important; }
.frcp-button--light { color:var(--frcp-ink)!important; background:#fff!important; border-color:#fff!important; }
.frcp-button--dark { color:#fff!important; background:var(--frcp-dark)!important; border-color:var(--frcp-dark)!important; }

.frcp-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); }
.frcp-visual::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--frcp-accent); }
.frcp-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; }
.frcp-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; }
.frcp-visual__frame::before,.frcp-visual__frame::after { content:""; position:absolute; border:2px solid rgba(213,106,37,.82); }
.frcp-visual__frame::before { left:12%; top:16%; width:55%; height:48%; }
.frcp-visual__frame::after { right:8%; bottom:8%; width:34%; height:42%; }
.frcp-visual__line { position:absolute; display:block; height:3px; background:rgba(255,255,255,.54); }
.frcp-visual__line--1 { left:6%; right:8%; top:28%; }
.frcp-visual__line--2 { left:13%; right:17%; top:55%; transform:rotate(7deg); }
.frcp-visual__line--3 { left:22%; right:7%; top:72%; transform:rotate(-5deg); }
.frcp-visual__node { position:absolute; width:20px; height:20px; border:3px solid var(--frcp-accent); border-radius:50%; background:#13202a; }
.frcp-visual__node--1 { left:14%; top:18%; }
.frcp-visual__node--2 { left:58%; top:23%; }
.frcp-visual__node--3 { right:11%; top:48%; }
.frcp-visual--projects .frcp-visual__frame { transform:perspective(700px) rotateX(60deg) rotateZ(2deg); }
.frcp-visual--quality .frcp-visual__frame::before { width:68%; height:60%; left:8%; top:10%; }
.frcp-visual--about .frcp-visual__frame { transform:perspective(700px) rotateX(48deg) rotateZ(7deg); }
.frcp-visual--contact .frcp-visual__frame::after { border-radius:50%; width:28%; height:42%; }
.frcp-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); }
.frcp-facts--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.frcp-fact { min-height:104px; padding:19px 17px; background:rgba(13,23,31,.93); }
.frcp-fact strong,.frcp-fact span { display:block; }
.frcp-fact strong { color:var(--frcp-accent); font-size:22px; font-weight:850; line-height:1.1; }
.frcp-fact span { margin-top:9px; color:rgba(255,255,255,.65); font-size:12px; line-height:1.4; }

.frcp-section { padding:98px 0; background:#fff; }
.frcp-section--steps,.frcp-section--specs,.frcp-section--contacts,.frcp-section--note { background:var(--frcp-soft); }
.frcp-section--split-list.frcp-section--dark { color:#fff; background:var(--frcp-dark); }
.frcp-section-head { max-width:780px; margin-bottom:42px; }
.frcp-section-head--compact { margin:0; }
.frcp-section-head > p:last-child,.frcp-note > p,.frcp-case__copy > p:last-child { margin:20px 0 0; color:var(--frcp-muted); font-size:17px; line-height:1.72; }
.frcp-section--dark .frcp-section-head h2,.frcp-section--dark .frcp-section-head p { color:#fff; }
.frcp-section--dark .frcp-section-head > p:last-child { color:rgba(255,255,255,.68); }
.frcp-card-grid { display:grid; gap:22px; }
.frcp-card-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.frcp-card-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.frcp-card-grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.frcp-card { position:relative; min-height:270px; padding:30px 28px; border:1px solid var(--frcp-line); border-top:4px solid var(--frcp-accent); background:#fff; box-shadow:0 10px 30px rgba(16,24,32,.05); }
.frcp-card--accent { color:#fff; background:var(--frcp-accent); border-color:var(--frcp-accent); }
.frcp-card__number { display:block; margin-bottom:32px; color:var(--frcp-accent); font-size:12px; font-weight:850; letter-spacing:.12em; }
.frcp-card--accent .frcp-card__number { color:#fff; }
.frcp-card h3 { margin:0; color:var(--frcp-ink); font-size:23px; font-weight:800; letter-spacing:-.025em; line-height:1.15; }
.frcp-card p { margin:16px 0 0; color:var(--frcp-muted); font-size:15px; line-height:1.65; }
.frcp-card--accent h3,.frcp-card--accent p { color:#fff; }
.frcp-card > a { position:absolute; left:28px; bottom:24px; color:var(--frcp-accent-dark)!important; font-size:24px; font-weight:800; text-decoration:none!important; }
.frcp-card--accent > a { color:#fff!important; }
.frcp-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:78px; align-items:center; }
.frcp-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin:0; padding:1px; list-style:none; background:rgba(255,255,255,.14); }
.frcp-checklist li { position:relative; min-height:94px; padding:25px 24px 25px 55px; color:rgba(255,255,255,.84); background:#17232c; font-size:15px; line-height:1.55; }
.frcp-checklist li::before { content:"✓"; position:absolute; left:23px; top:25px; color:var(--frcp-accent); font-weight:900; }
.frcp-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--frcp-line); }
.frcp-step { min-height:245px; padding:30px 26px; background:#fff; }
.frcp-step > span { color:var(--frcp-accent); font-size:12px; font-weight:850; letter-spacing:.12em; }
.frcp-step h3 { margin:40px 0 0; color:var(--frcp-ink); font-size:21px; font-weight:800; }
.frcp-step p { margin:14px 0 0; color:var(--frcp-muted); font-size:14px; line-height:1.65; }
.frcp-spec-list { border-top:1px solid var(--frcp-line); }
.frcp-spec { display:grid; grid-template-columns:minmax(210px,.35fr) minmax(0,.65fr); gap:40px; padding:23px 0; border-bottom:1px solid var(--frcp-line); }
.frcp-spec strong { color:var(--frcp-ink); font-size:15px; }
.frcp-spec span { color:var(--frcp-muted); font-size:15px; line-height:1.6; }
.frcp-note { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:70px; align-items:center; padding:54px 58px; border-left:5px solid var(--frcp-accent); background:#fff; box-shadow:var(--frcp-shadow); }
.frcp-note h2 { font-size:clamp(28px,3vw,42px); }
.frcp-case { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.75fr); gap:70px; align-items:start; }
.frcp-case__facts { display:grid; gap:1px; background:var(--frcp-line); }
.frcp-case-fact { padding:25px 28px; background:var(--frcp-soft); }
.frcp-case-fact span,.frcp-case-fact strong { display:block; }
.frcp-case-fact span { color:var(--frcp-muted); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.frcp-case-fact strong { margin-top:8px; color:var(--frcp-ink); font-size:20px; }
.frcp-contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.frcp-contact-card { padding:32px 30px; border-top:4px solid var(--frcp-accent); background:#fff; box-shadow:var(--frcp-shadow); }
.frcp-contact-card > span { color:var(--frcp-accent-dark); font-size:12px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.frcp-contact-card h3 { margin:25px 0 0; color:var(--frcp-ink); font-size:24px; }
.frcp-contact-card p { margin:14px 0 0; color:var(--frcp-muted); line-height:1.65; }
.frcp-contact-card a { display:inline-flex; margin-top:24px; color:var(--frcp-accent-dark)!important; font-weight:800; text-decoration:none!important; }

.frcp-final-cta { padding:72px 0 32px; color:#fff; background:var(--frcp-accent); }
.frcp-final-cta__grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:48px; align-items:center; }
.frcp-final-cta h2 { color:#fff; font-size:clamp(31px,3.4vw,48px); }
.frcp-final-cta p { max-width:760px; margin:18px 0 0; color:rgba(255,255,255,.9); font-size:16px; line-height:1.65; }
.frcp-final-cta .frcp-kicker { color:#fff; }
.frcp-disclaimer { padding-top:30px; border-top:1px solid rgba(255,255,255,.24); font-size:12px!important; color:rgba(255,255,255,.72)!important; }

@media (max-width: 1050px) {
    .frcp-intro__grid,.frcp-split,.frcp-case { grid-template-columns:1fr; }
    .frcp-visual { min-height:430px; }
    .frcp-card-grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .frcp-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .frcp-shell { width:min(100% - 30px,var(--frcp-shell)); }
    .frcp-intro,.frcp-section { padding:66px 0; }
    .frcp-intro__grid { gap:42px; }
    .frcp-visual { min-height:420px; }
    .frcp-facts { left:16px; right:16px; bottom:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .frcp-fact { min-height:86px; padding:15px 13px; }
    .frcp-card-grid--2,.frcp-card-grid--3,.frcp-card-grid--4,.frcp-steps,.frcp-contact-grid,.frcp-checklist { grid-template-columns:1fr; }
    .frcp-card { min-height:235px; }
    .frcp-note { grid-template-columns:1fr; gap:26px; padding:38px 28px; }
    .frcp-spec { grid-template-columns:1fr; gap:8px; }
    .frcp-final-cta__grid { grid-template-columns:1fr; }
    .frcp-actions--end { justify-content:flex-start; }
}
