
FRP Profile Pultrusion Process
What Is FRP Pultrusion?
Pultrusion is a continuous, automated process for making fiber-reinforced polymer (FRP) profiles with a constant cross-section. The name blends “pull” and “extrusion” β where extrusion pushes material through a die, pultrusion pulls the fiber-resin composite through a heated steel forming die instead.
The result is a lightweight, high-strength structural profile β I-beams, channels, hollow tubes, solid rods, custom shapes β used across construction, electrical infrastructure, transportation, marine, and chemical processing. Pultruded FRP profiles bring excellent corrosion resistance, electrical non-conductivity, dimensional consistency, and a strength-to-weight ratio that rivals steel at a fraction of the mass.
This guide walks through every stage of the pultrusion process in production order, along with quality control checkpoints, critical process parameters, and fixes for common manufacturing defects.
FRP Pultrusion at a Glance
- Process type: Continuous thermoset composite manufacturing
- Primary reinforcement: E-glass fiber roving (55β70% volume fraction)
- Resin systems: Unsaturated polyester (UP), vinyl ester (VE), epoxy
- Pull speed: 0.2β2.0 m/min depending on cross-section
- Die temperature: 80β180Β°C across three heated zones
- Degree of cure: β₯90% measured by DSC
- Key standard: GB/T 1446β1453 (mechanical testing)
Raw Material Preparation
Every high-quality pultruded profile starts with carefully chosen, properly prepared raw materials. The three primary components β fiber reinforcement, resin system, and release agent β need to meet strict specifications before production begins.
Glass Fiber Roving
Standard pultrusion uses E-glass (alkali-free) fiber roving as the main structural reinforcement. Rovings are multi-filament bundles wound onto cylindrical packages and mounted on the creel rack. Critical requirements include:
- Moisture content: β€0.05% (excess moisture causes resin cure inhibition and void formation)
- A clean, contaminant-free surface with compatible silane sizing
- Consistent linear density (tex) across every package in a production run
Surface reinforcements such as continuous strand mat (CSM) or a surface veil (typically C-glass or polyester) may be added to improve surface finish, UV resistance, or corrosion protection in the finished profile.
Resin System
The resin system encases the fibers, transfers load between them, and sets the profile’s chemical and thermal resistance. Common systems include:
- Unsaturated polyester (UP): the most economical option, widely used for general structural and civil engineering profiles
- Vinyl ester (VE): superior corrosion resistance, the preferred choice for chemical processing and marine environments
- Epoxy: the highest mechanical properties and adhesion, used in aerospace, wind energy, and demanding structural applications
The resin gets blended with an initiator (catalyst) β typically an organic peroxide β and an accelerator to tune gel time and the cure profile for the target die temperature and pull speed. Fillers such as calcium carbonate (CaCOβ) or aluminum trihydrate (ATH) can be added for cost reduction, flame retardancy, or surface smoothness. Resin viscosity at 25Β°C should fall between 200β600 mPaΒ·s for adequate fiber wet-out.
Release Agent
Release agents keep the cured profile from bonding to the die bore. They’re applied either as an internal mold release (IMR) blended directly into the resin, or as an external mold release applied to the die bore surface. Most production lines use both, for the best die release and surface quality.
Fiber Arrangement & Creel Setup
The creel rack holds all roving packages and feeds them forward under controlled, uniform tension. Getting the creel setup right directly determines the mechanical performance and dimensional consistency of the finished profile.
Roving packages load onto spindles and thread through tension control guides. Target roving tension runs 5β15 N per bundle, with a tolerance of Β±10% across all positions. Uneven tension causes fiber waviness, asymmetric cross-sections, and profile twist β one of the toughest defects to correct once in production.
After the creel, rovings pass through guide boards (forming plates) that organize the fiber bundles into the geometric pattern the product cross-section requires. Any surface veil or mat layers get introduced at this stage, layered over or beneath the roving array. The assembly then enters the resin bath as a structured, cohesive fiber stack.
Resin Impregnation
Getting complete, uniform fiber wet-out is the single most important factor in producing void-free, high-strength pultruded profiles. Impregnation happens in either an open resin bath or a closed injection box.
Open Resin Bath
The traditional method: fiber bundles submerge in a trough of catalyzed resin at 20β35Β°C and get drawn over and under a series of impregnation rollers, which mechanically force resin between individual filaments. The rollers also squeeze out excess resin, helping control the final resin content (30β45% by weight).
Resin bath temperature needs tight control β higher temperatures lower viscosity and improve wet-out, but also speed up gel time, cutting into the pot life available for impregnation. Bath level is kept steady through continuous resin feed, with viscosity checked at regular intervals.
Closed Injection Box
An increasingly popular alternative for environmental compliance and resin consistency, the closed injection box forces resin under pressure directly into the fiber bundle at the die entry, fully enclosing the impregnation zone. Key advantages include:
- Near-elimination of styrene VOC emissions (critical for occupational health compliance)
- More consistent resin content across the profile cross-section
- Less resin waste and simpler cleanup
- Better suited to reactive resin systems with short pot lives
Preforming
After the resin bath, the wet fiber assembly passes through a series of forming plates (preformer) that progressively consolidate the impregnated fibers into the exact geometry of the die bore entry. This stage handles several critical jobs:
- Geometry transition: plates with progressively smaller apertures gradually shape the wet bundle from a loose fiber array into a near-net-shape preform
- Excess resin removal: surplus resin gets squeezed out, helping set the final resin-to-fiber ratio before the die
- Reinforcement consolidation: mat layers and surface veils press flush against the roving core, eliminating wrinkles and air pockets
- Tension equalization: the preformer corrects minor tension imbalances from the creel before the fiber stack enters the heated zone
Preforming matters especially for complex cross-sections such as I-beams, channels, and hollow box profiles, where keeping fiber placement and layer sequence precise through the die bore is essential to hitting the design mechanical properties.
Thermal Curing in the Pultrusion Die
The pultrusion die is the heart of the process β a precision-machined steel tool that simultaneously shapes the final cross-section geometry and kicks off the chemical cure of the resin matrix. Die design and temperature control are the main levers governing profile quality, production speed, and die service life.
Die Construction
Pultrusion dies are typically machined from tool steel (commonly P20 or H13 grade) with a hard chrome-plated bore. The bore surface finish is ground to a roughness of Ra β€ 0.4 ΞΌm β a critical spec that minimizes friction pull-force, prevents surface marking, and extends die service life. Die length usually runs from 600 to 1,500 mm depending on profile wall thickness and target pull speed: thicker profiles need longer dies to give enough dwell time for a complete cure.
Three-Zone Temperature Profile
Most production dies split into three independently controlled heating zones that create a deliberate temperature gradient along the die’s length:
| Zone | Function | Typical Temperature |
|---|---|---|
| Zone 1 β Preheat | Raise fiber-resin temperature; initiate resin flow into remaining fiber voids | 80β100Β°C |
| Zone 2 β Gel | Trigger gelation; cross-linking begins; resin transitions from liquid to gel | 120β150Β°C |
| Zone 3 β Cure | Complete cross-linking; profile reaches structural integrity; exotherm peak occurs | 140β180Β°C |
A key technical challenge is managing the exothermic cure reaction. As the resin cross-links, it releases heat β in thick-section profiles, this exotherm can push the core temperature well past the die wall temperature. If the exotherm peak goes above roughly 220Β°C, thermal degradation and longitudinal cracking become likely. Resin formulation, pull speed, and zone temperatures all need balancing to keep the exotherm within safe limits.
Caterpillar Haul-off
The caterpillar haul-off unit (also called the pull unit or traction system) drives the entire process. It grips the cured profile as it emerges from the die and pulls the whole fiber-resin assembly β from creel to die exit β at a constant, controlled speed.
Most modern haul-off systems run dual hydraulic caterpillar clamps: two opposing sets of rubber-padded traction pads that grip the profile symmetrically from above and below (or from both sides for asymmetric sections). Clamping force is tuned to give enough traction without marking the surface or distorting the profile’s dimensions.
Pull speed is one of the most influential process parameters:
- Higher speed boosts output but cuts dwell time in the die, demanding higher die temperatures or a more reactive resin formulation to reach complete cure
- Lower speed gives more cure time but raises production cost per metre and can cause over-cure if die temperatures aren’t reduced to match
- Thin-walled profiles (β€3 mm wall) can typically run at 1.0β2.0 m/min; thick solid sections (β₯12 mm) are often capped at 0.2β0.5 m/min
Pull speed and die temperature are interdependent parameters that must be set together as a matched pair for each profile and resin system β change one without adjusting the other, and cure quality or surface finish will suffer.
Precision Cutting (Flying Saw)
As the cured profile exits the haul-off, it moves to the flying saw (also called the cut-off saw or travelling saw), which cuts the continuous profile into specified lengths without stopping the line. The saw carriage accelerates to match the profile’s pull speed, makes the cut, then returns to its start position for the next cycle β keeping production truly continuous.
Saw blade selection matters a lot: diamond-coated or tungsten-carbide-tipped blades are standard for FRP profiles, giving clean, low-burr cuts while minimizing heat and fibre pull-out. The cut face needs to stay perpendicular to the profile axis, with no more than 0.5Β° of angular deviation.
FRP cutting generates glass-fibre dust β a respiratory hazard that requires mandatory dust extraction at the cut point, plus personal protective equipment (respirators, eye protection) for everyone nearby. Dust must be captured and disposed of as industrial waste per local regulations.
Post-processing & Inspection
Final inspection makes sure every profile shipped to customers meets dimensional, visual, and mechanical specifications. A structured inspection protocol typically covers four areas:
Visual Inspection
Every profile gets examined for surface defects β voids, cracks, dry-fibre spots, resin-rich zones, surface crazing, discolouration. Profiles are graded under controlled lighting. A first-grade visual acceptance rate of β₯98% is a standard industry benchmark.
Dimensional Inspection
Cross-sectional dimensions, wall thickness, straightness (bow and sweep), and twist get measured and checked against drawing tolerances. For structural profiles, typical dimensional tolerances follow EN 13706 (Europe) or ASTM D3917 (North America) unless the customer specifies otherwise.
Mechanical Testing (Sampling)
Test specimens cut from production batches get tested per GB/T 1446β1453 (Chinese national standards, widely referenced internationally) for:
- Tensile strength and modulus (longitudinal and transverse)
- Flexural strength and modulus
- Compressive strength
- Interlaminar shear strength (ILSS)
Mechanical test results should meet or beat 95% of the design values specified in the product data sheet.
Post-cure (Optional)
Where maximum mechanical performance or dimensional stability matters β particularly for epoxy-based systems β profiles may go through a free-standing post-cure in an oven at 80β120Β°C for 2β4 hours to push degree of cure above 95%.
Packing & Traceability
Accepted profiles get wrapped in moisture-barrier film, fitted with protective end caps, and bundled for shipment. Each bundle carries a label with the product code, batch number, production date, and applicable standard β essential for full supply-chain traceability and quality audits.
Key Process Parameters for FRP Pultrusion
The table below summarizes the critical process parameters production engineers track and control during pultruded FRP profile manufacturing:
| Parameter | Typical Range | Notes |
|---|---|---|
| Pull Speed | 0.2β2.0 m/min | Higher for thin-wall profiles; must be matched to die temperature |
| Die Temperature (Cure Zone) | 140β180Β°C | Depends on resin system; epoxy typically needs higher temps |
| Resin Content (by weight) | 30β45% | Control tolerance Β±2%; higher resin = lower stiffness |
| Fiber Volume Fraction | 55β70% | Higher fiber volume = higher strength and stiffness |
| Die Bore Surface Roughness | Ra β€ 0.4 ΞΌm | Hard chrome plated; critical for friction and surface finish |
| Degree of Cure | β₯90% | Measured by DSC; post-cure can raise to β₯95% |
| Resin Viscosity (25Β°C) | 200β600 mPaΒ·s | Lower viscosity improves wet-out; monitor with Brookfield viscometer |
| Roving Tension | 5β15 N per bundle | Tolerance Β±10%; uneven tension causes profile twist |
Common Defects in FRP Pultrusion β Causes & Solutions
Even well-run pultrusion lines run into recurring defect patterns. The table below covers the most commonly reported issues, their root causes, and recommended fixes:
| Defect | Primary Causes | Corrective Actions |
|---|---|---|
| Surface Voids / Pinholes | Resin viscosity too high; air entrapment in bath; inadequate wet-out | Lower bath temperature to reduce viscosity; switch to injection box; slow pull speed |
| Dry Fibre Spots (White Patches) | Insufficient impregnation pressure; roving tension too high; resin starvation | Increase bath depth or injection pressure; reduce tension; replenish resin bath |
| Longitudinal Cracking | Excessive exotherm; cure rate too fast for cross-section; die temperature too high | Reduce die temperature; reformulate catalyst level; slow pull speed to extend gel time |
| Profile Twist | Asymmetric fiber layout; uneven roving tension; off-centre guide plate | Rebalance creel tension; realign guide plates; verify forming plate geometry |
| Surface Roughness | Release agent failure; die bore wear; resin-rich surface layer delaminating | Re-apply external release agent; re-chrome die bore; check surface veil continuity |
| Fibre Waviness | Uneven creel tension; premature gelation before die entry; turbulence in bath | Equalise tension; reduce accelerator; check bath roller alignment |
| Delamination at Cut Ends | Insufficient cure; worn saw blade; cut-force vibration | Verify degree of cure β₯90% before cutting; replace blade; reduce feed rate |
Frequently Asked Questions About FRP Pultrusion
These questions reflect the topics engineers, project specifiers, and procurement professionals search for most often around FRP pultrusion.
What’s the difference between pultrusion and extrusion?
In extrusion, material (usually a thermoplastic) gets pushed through a die by a screw mechanism. In pultrusion, the fiber-resin composite gets pulled through a heated die by a downstream haul-off unit instead. Pultrusion is used exclusively for thermoset fiber-reinforced composites and produces continuous profiles with a constant cross-section. Because the fibers stay in tension during processing, pultruded profiles reach exceptionally high longitudinal tensile and flexural strength β typically 3β5Γ that of equivalent extruded aluminum profiles β while weighing roughly 70% less than steel.
What resin systems does FRP pultrusion use, and how do I pick the right one?
The three main resin systems are unsaturated polyester (UP), vinyl ester (VE), and epoxy. Unsaturated polyester is the most cost-effective and easiest to process β a good fit for structural gratings, walkway systems, and cable management profiles in moderate environments. Vinyl ester holds up much better against acids, alkalis, solvents, and moisture absorption, making it the preferred pick for chemical plants, wastewater infrastructure, and marine applications. Epoxy delivers the highest mechanical performance, the best fatigue resistance, and the lowest moisture uptake, and gets chosen for structural aerospace, wind turbine blade spar caps, and high-load civil infrastructure. The right choice depends on the operating environment, mechanical requirements, fire class, and lifecycle cost budget.
How does pull speed affect the quality of pultruded FRP profiles?
Pull speed sets how long the fiber-resin composite spends inside the heated die β its “dwell time.” Faster pull speeds cut dwell time, leaving less time for thermal energy to reach the profile core and complete the cure reaction. Running too fast produces under-cured profiles with reduced mechanical strength, surface tackiness, and possible longitudinal cracking from the exotherm occurring outside the die. Running too slowly risks over-cure inside the die, higher pull-force, die sticking, and wasted energy. As a rule of thumb: thin-walled profiles (1β3 mm) can sustain 1.0β2.0 m/min; thick solid rods or structural sections above 15 mm typically need 0.2β0.5 m/min. Pull speed always has to be calibrated together with die zone temperatures, as a pair.
What are the main industries and applications for pultruded FRP profiles?
Pultruded FRP profiles serve a wide and growing range of sectors: in construction and civil engineering for structural beams, bridge decking, pedestrian walkways, and rebar; in electrical infrastructure for cable trays, ladder racks, transformer supports, and utility poles (valued for their electrical non-conductivity); in chemical and water treatment for corrosion-resistant handrails, pipe supports, and platform grating; in transportation for rail car interiors, bus panels, and lightweight truck bodies; in renewable energy for wind turbine nacelle components and offshore platform walkways; and in marine applications for boat superstructures and dock systems where zero corrosion is a must. The global pultruded composites market is projected to grow at roughly 5β7% CAGR through 2030, driven by infrastructure renewal and decarbonisation investment.
How does degree of cure affect FRP pultrusion performance, and how do you measure it?
Degree of cure (DoC) β also called conversion β measures how much of the thermoset resin’s available reactive groups have cross-linked. A DoC of 90% is typically the minimum production acceptance threshold; below that, profiles show reduced stiffness, a lower glass transition temperature (Tg), poor surface finish, and vulnerability to moisture ingress. DoC is most accurately measured by differential scanning calorimetry (DSC): the residual exotherm of a cured sample gets compared to the total exotherm of the uncured resin, and that ratio shows the percentage of unreacted resin left. Infrared spectroscopy (FTIR) and dynamic mechanical analysis (DMA) support deeper characterisation. Post-curing at 80β120Β°C can push DoC to β₯95% for applications that need maximum thermal stability.
Can FRP pultrusion produce hollow profiles and complex cross-sections?
Yes β pultrusion handles hollow profiles well, including square and rectangular tubes, round pipes, oval sections, and multi-cell box beams. Hollow sections need a mandrel anchored inside the die bore that the fiber-resin assembly wraps around while being pulled. I-beams, C-channels, T-sections, Z-sections, and custom profiles come out of the process routinely too. More complex cross-sections β multi-cavity walls, tapered flanges, integral ribs β need correspondingly more elaborate die machining and forming-plate design, but stay achievable within the constant-cross-section limitation built into the process. Profiles with varying cross-sections (tapered beams, for instance) need post-pultrusion machining, or are better made by resin transfer moulding (RTM) or filament winding instead.
What quality standards apply to pultruded FRP structural profiles?
The key international and regional standards governing pultruded FRP structural profiles: EN 13706 (the European standard specifying requirements and test methods for pultruded structural profiles, Parts 1β3); ASTM D3917 (Standard Specification for Dimensional Tolerance of Thermosetting Glass-Reinforced Plastic Pultruded Shapes); ASTM D3916 (Standard Specification for Pultruded Fiber Reinforced Plastic Rod); and GB/T 1446β1453 (Chinese national standards for fibre-reinforced plastics mechanical testing). Fire performance is governed by EN 13501 in Europe and UL 94 / ASTM E84 in North America. Anyone specifying pultruded profiles for structural use should require third-party certified test reports, traceability documentation, and a quality management system certified to ISO 9001.
How does FRP pultrusion compare to steel and aluminum on cost and performance?
The upfront material cost of pultruded FRP profiles generally runs 2β4Γ higher than equivalent steel sections, and comparable to or slightly above marine-grade aluminum. But lifecycle cost analysis consistently favors FRP in corrosive or maintenance-intensive environments. FRP needs no painting, galvanising, cathodic protection, or periodic corrosion-related replacement β annual maintenance costs typically run 80β90% lower than coated steel in coastal, chemical, or wastewater environments. On a 25-year lifecycle basis, total cost of ownership for FRP frequently comes in lower than steel with protective coatings. Weight savings (FRP typically weighs 70β75% less than steel) also cut foundation, installation, and transportation costs. The right material choice depends on load requirements, how aggressive the environment is, procurement budget, and the project’s lifecycle horizon.
/* ββ Variables βββββββββββββββββββββββββββ */
:root {
–c-ink: #0f1923;
–c-sub: #3d5166;
–c-muted: #647d94;
–c-rule: #d8e3ec;
–c-bg: #ffffff;
–c-surface: #f4f8fb;
–c-blue: #1a5fa8;
–c-blue-lt: #ddeeff;
–c-orange: #d85e0e;
–c-orange-lt: #fff3ea;
–c-green: #186b3a;
–c-green-lt: #e6f5ed;
–c-step: #0a3c6e;
–font-body: ‘Georgia’, ‘Times New Roman’, serif;
–font-ui: ‘Helvetica Neue’, Arial, sans-serif;
–r: 6px;
–max-w: 820px;
}
/* ββ Base ββββββββββββββββββββββββββββββββ */
.frp-article {
font-family: var(–font-body);
color: var(–c-ink);
line-height: 1.75;
max-width: var(–max-w);
margin: 0 auto;
padding: 0 0 48px;
}
.frp-article *,
.frp-article *::before,
.frp-article *::after {
box-sizing: border-box;
}
/* ββ Breadcrumb ββββββββββββββββββββββββββ */
.breadcrumb {
font-family: var(–font-ui);
font-size: 0.8rem;
color: var(–c-muted);
margin-bottom: 20px;
padding-bottom: 12px;
border-bottom: 1px solid var(–c-rule);
}
.breadcrumb ol {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 4px;
align-items: center;
}
.breadcrumb li + li::before {
content: ‘/’;
margin-right: 4px;
color: var(–c-rule);
}
.breadcrumb a {
color: var(–c-blue);
text-decoration: none;
}
.breadcrumb a:hover { text-decoration: underline; }
/* ββ Header ββββββββββββββββββββββββββββββ */
.article-header {
margin-bottom: 32px;
padding-bottom: 24px;
border-bottom: 2px solid var(–c-ink);
}
.article-meta {
display: flex;
align-items: center;
gap: 14px;
font-family: var(–font-ui);
font-size: 1.2rem;
margin-bottom: 14px;
text-transform: uppercase;
letter-spacing: .06em;
color: var(–c-muted);
}
.article-category {
background: var(–c-blue);
color: #fff;
padding: 2px 10px;
border-radius: 2px;
font-weight: 700;
letter-spacing: .04em;
}
.article-title {
font-family: var(–font-ui);
font-size: clamp(1.55rem, 3vw, 2.1rem);
font-weight: 800;
color: var(–c-ink);
line-height: 1.22;
margin: 0 0 14px;
letter-spacing: -.02em;
}
.article-subtitle {
font-size: 1.7rem;
color: var(–c-sub);
line-height: 1.65;
margin: 0 0 16px;
font-style: italic;
border-left: 3px solid var(–c-blue);
padding-left: 14px;
}
.article-byline {
display: flex;
gap: 18px;
font-family: var(–font-ui);
font-size: 1.2rem;
color: var(–c-muted);
margin-bottom: 16px;
}
.article-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.tag {
font-family: var(–font-ui);
font-size: 1.2rem;
background: var(–c-surface);
color: var(–c-sub);
border: 1px solid var(–c-rule);
border-radius: 3px;
padding: 2px 9px;
letter-spacing: .03em;
}
/* ββ Table of Contents βββββββββββββββββββ */
.toc {
background: var(–c-surface);
border: 1px solid var(–c-rule);
border-left: 4px solid var(–c-blue);
border-radius: 0 var(–r) var(–r) 0;
padding: 20px 24px;
margin-bottom: 36px;
font-family: var(–font-ui);
}
.toc-title {
font-size: 1.2rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
color: var(–c-blue);
margin: 0 0 12px;
}
.toc-list {
margin: 0;
padding-left: 1.2em;
font-size: 1.2rem;
line-height: 1.9;
color: var(–c-sub);
columns: 2;
column-gap: 24px;
}
.toc-list a {
color: var(–c-blue);
text-decoration: none;
}
.toc-list a:hover { text-decoration: underline; }
@media (max-width: 560px) { .toc-list { columns: 1; } }
/* ββ Article Sections βββββββββββββββββββ */
.article-section {
margin-bottom: 44px;
}
.article-section h2 {
font-family: var(–font-ui);
font-size: 1.7rem;
font-weight: 800;
color: var(–c-ink);
margin: 0 0 14px;
padding-top: 6px;
border-top: 2px solid var(–c-rule);
letter-spacing: -.015em;
}
.article-section h3 {
font-family: var(–font-ui);
font-size: 1.7rem;
font-weight: 700;
color: var(–c-step);
margin: 22px 0 8px;
}
.article-section p {
margin: 0 0 14px;
font-size: 1.7rem;
}
.article-section ul,
.article-section ol {
padding-left: 1.4em;
margin: 0 0 14px;
font-size: 1.2rem;
}
.article-section li { margin-bottom: 6px; }
/* ββ Process Step variant βββββββββββββββ */
.process-step .step-label {
display: inline-block;
font-family: var(–font-ui);
font-size: 1.2rem;
font-weight: 900;
letter-spacing: .14em;
text-transform: uppercase;
color: #fff;
background: var(–c-step);
padding: 3px 11px;
border-radius: 3px;
margin-bottom: 8px;
}
.process-step h2 {
border-top: none;
padding-top: 0;
color: var(–c-step);
}
/* ββ Fact Box βββββββββββββββββββββββββββ */
.fact-box {
background: var(–c-blue-lt);
border: 1px solid #aaccee;
border-radius: var(–r);
padding: 18px 22px;
margin: 22px 0;
}
.fact-box-title {
font-family: var(–font-ui);
font-size: 1.2rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .07em;
color: var(–c-blue);
margin: 0 0 12px;
}
.fact-list {
list-style: none;
padding: 0;
margin: 0;
font-family: var(–font-ui);
font-size: 1.2rem;
line-height: 1.7;
}
.fact-list li {
padding: 4px 0;
border-bottom: 1px solid #c5ddf0;
}
.fact-list li:last-child { border-bottom: none; }
/* ββ QC Callout βββββββββββββββββββββββββ */
.qc-callout {
background: var(–c-green-lt);
border-left: 4px solid var(–c-green);
border-radius: 0 var(–r) var(–r) 0;
padding: 12px 16px;
margin: 18px 0 4px;
font-family: var(–font-ui);
font-size: 1.2rem;
color: var(–c-green);
line-height: 1.55;
}
.qc-callout strong { color: #0f4a28; }
/* ββ Tables βββββββββββββββββββββββββββββ */
.process-table-wrapper {
overflow-x: auto;
margin: 18px 0 24px;
border-radius: var(–r);
border: 1px solid var(–c-rule);
-webkit-overflow-scrolling: touch;
}
.process-table {
width: 100%;
border-collapse: collapse;
font-family: var(–font-ui);
font-size: 1.2rem;
line-height: 1.5;
}
.process-table thead tr {
background: var(–c-step);
color: #fff;
}
.process-table th {
padding: 11px 14px;
text-align: left;
font-weight: 700;
font-size: 1.2rem;
letter-spacing: .04em;
text-transform: uppercase;
white-space: nowrap;
}
.process-table td {
padding: 10px 14px;
vertical-align: top;
border-top: 1px solid var(–c-rule);
color: var(–c-ink);
}
.process-table tbody tr:nth-child(even) {
background: var(–c-surface);
}
.process-table tbody tr:hover {
background: var(–c-blue-lt);
}
.defect-table thead tr { background: var(–c-orange); }
/* ββ FAQ ββββββββββββββββββββββββββββββββ */
.faq-section {
background: var(–c-surface);
border-radius: var(–r);
border: 1px solid var(–c-rule);
padding: 32px 30px;
margin-top: 48px;
}
.faq-title {
font-family: var(–font-ui);
font-size: 1.7rem;
font-weight: 800;
color: var(–c-ink);
margin: 0 0 6px;
letter-spacing: -.015em;
}
.faq-intro {
font-family: var(–font-ui);
font-size: 1.2rem;
color: var(–c-muted);
margin: 0 0 28px;
font-style: italic;
}
.faq-item {
border-top: 1px solid var(–c-rule);
padding: 22px 0;
}
.faq-item:first-of-type { border-top: none; padding-top: 0; }
.faq-question {
font-family: var(–font-ui);
font-size: 1.2rem;
font-weight: 700;
color: var(–c-blue);
margin: 0 0 10px;
line-height: 1.4;
}
.faq-answer p {
font-size: 1.2rem;
color: var(–c-sub);
margin: 0;
line-height: 1.7;
}
/* ββ Related Articles βββββββββββββββββββ */
.related-articles {
margin-top: 40px;
padding-top: 22px;
border-top: 2px solid var(–c-rule);
}
.related-title {
font-family: var(–font-ui);
font-size: 1.2rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .08em;
color: var(–c-muted);
margin: 0 0 14px;
}
.related-list {
list-style: none;
padding: 0;
margin: 0;
font-family: var(–font-ui);
font-size: 1.2rem;
}
.related-list li {
padding: 7px 0;
border-bottom: 1px solid var(–c-rule);
}
.related-list li:last-child { border-bottom: none; }
.related-list a {
color: var(–c-blue);
text-decoration: none;
font-weight: 500;
}
.related-list a:hover { text-decoration: underline; }
/* ββ Responsive ββββββββββββββββββββββββββ */
@media (max-width: 640px) {
.frp-article { padding: 0 0 32px; }
.faq-section { padding: 22px 18px; }
.article-title { font-size: 1.7rem; }
}