:root { --fp-red:#d51f2b; --fp-red-dark:#ad141e; --fp-ink:#101b24; --fp-slate:#59666f; --fp-line:#dce2e5; --fp-soft:#f2f5f6; --fp-warn:#f5b335; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--fp-ink); background:#fff; font-family:Inter,Arial,sans-serif; line-height:1.65; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Barlow Condensed",Arial,sans-serif; line-height:1.04; }
h1 { max-width:790px; margin-bottom:22px; font-size:clamp(3.5rem,7vw,6.35rem); font-weight:800; letter-spacing:-.025em; }
h2 { margin-bottom:18px; font-size:clamp(2.35rem,4.2vw,4.1rem); font-weight:800; letter-spacing:-.015em; }
h3 { font-size:1.55rem; }
.fp-shell { width:min(1160px,calc(100% - 44px)); margin-inline:auto; }
.fp-kicker { margin:0 0 12px; color:var(--fp-red); font-size:.73rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.fp-button { display:inline-flex; min-height:54px; padding:13px 23px; align-items:center; justify-content:center; color:#fff; background:var(--fp-red); font-weight:800; text-decoration:none; transition:background .2s ease,transform .2s ease; }
.fp-button:hover { background:var(--fp-red-dark); transform:translateY(-2px); }
.fp-arrow-link { display:inline-block; margin-top:18px; color:var(--fp-red); font-weight:800; text-decoration:none; }
.fp-arrow-link:hover { text-decoration:underline; }
.fp-hero { position:relative; overflow:hidden; color:#fff; background:var(--fp-ink); }
.fp-hero::before { position:absolute; inset:0; content:""; background:radial-gradient(circle at 10% 15%,rgba(213,31,43,.31),transparent 33%),linear-gradient(125deg,transparent 60%,rgba(255,255,255,.035)); }
.fp-hero-grid { position:relative; display:grid; grid-template-columns:1.08fr .92fr; gap:76px; min-height:685px; padding-top:72px; padding-bottom:78px; align-items:center; }
.fp-hero .fp-kicker { color:#ff8189; }
.fp-lead { max-width:700px; margin:0; color:#cad5db; font-size:1.12rem; }
.fp-actions { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:32px; }
.fp-actions > a:not(.fp-button) { color:#fff; font-weight:800; text-underline-offset:5px; }
.fp-hero-visual { position:relative; min-height:515px; }
.fp-hero-visual img { width:100%; height:100%; object-fit:contain; background:#fff; }
.fp-image-large { position:absolute; top:0; right:0; width:82%; height:80%; padding:12px; border:1px solid rgba(255,255,255,.23); background:#fff; }
.fp-image-small { position:absolute; bottom:0; left:0; width:47%; height:42%; padding:9px; border:8px solid var(--fp-ink); background:#fff; }
.fp-hero-visual > span { position:absolute; right:-18px; bottom:20px; padding:15px 18px; color:var(--fp-ink); background:#fff; font-size:.68rem; font-weight:800; letter-spacing:.09em; line-height:1.4; text-transform:uppercase; }
.fp-hero-visual strong { color:var(--fp-red); font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.18rem; }
.fp-spec-strip { color:#fff; background:var(--fp-red); }
.fp-spec-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.fp-spec-grid > div { min-height:130px; padding:28px 26px; border-right:1px solid rgba(255,255,255,.25); }
.fp-spec-grid > div:first-child { border-left:1px solid rgba(255,255,255,.25); }
.fp-spec-grid strong,.fp-spec-grid span { display:block; }
.fp-spec-grid strong { font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.58rem; line-height:1.1; }
.fp-spec-grid span { margin-top:10px; color:#ffd4d7; font-size:.72rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.fp-intro { padding:105px 0; }
.fp-intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:95px; align-items:start; }
.fp-intro h2 { margin:0; }
.fp-intro-grid > div:last-child { padding-left:30px; border-left:4px solid var(--fp-red); }
.fp-intro-grid > div:last-child p { color:var(--fp-slate); font-size:1.04rem; }
.fp-intro-grid > div:last-child p:last-child { margin:0; }
.fp-boundary { padding:55px 0; color:#fff; background:#222b31; border-top:5px solid var(--fp-warn); }
.fp-boundary-grid { display:grid; grid-template-columns:78px 1fr; gap:30px; align-items:start; }
.fp-boundary-grid > span { display:flex; width:62px; height:62px; align-items:center; justify-content:center; color:var(--fp-ink); background:var(--fp-warn); border-radius:50%; font-family:"Barlow Condensed",Arial,sans-serif; font-size:2.2rem; font-weight:800; }
.fp-boundary .fp-kicker { color:#ffd070; }
.fp-boundary h2 { margin-bottom:13px; font-size:clamp(2rem,3.5vw,3.25rem); }
.fp-boundary p:last-child { max-width:950px; margin:0; color:#ced6da; }
.fp-products,.fp-process,.fp-rfq { padding:100px 0; background:var(--fp-soft); }
.fp-section-head { display:grid; grid-template-columns:1.35fr .65fr; gap:80px; align-items:end; margin-bottom:42px; }
.fp-section-head h2 { margin:0; }
.fp-section-head > p { margin-bottom:8px; color:var(--fp-slate); }
.fp-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.fp-card-grid article { overflow:hidden; border:1px solid var(--fp-line); background:#fff; }
.fp-card-grid img { width:100%; aspect-ratio:1.25/1; padding:14px; object-fit:contain; }
.fp-card-grid article > div { min-height:205px; padding:24px; border-top:1px solid var(--fp-line); }
.fp-card-grid span { color:var(--fp-red); font-size:.68rem; font-weight:800; }
.fp-card-grid h3 { margin:22px 0 9px; }
.fp-card-grid p { margin:0; color:var(--fp-slate); font-size:.85rem; }
.fp-engineering { padding:105px 0; color:#fff; background:var(--fp-ink); }
.fp-engineering-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:95px; align-items:start; }
.fp-engineering-grid > div > p:not(.fp-kicker) { color:#bdc9cf; }
.fp-engineering .fp-arrow-link { color:#ff8189; }
.fp-engineering ul { margin:0; padding:0; border-top:1px solid rgba(255,255,255,.18); list-style:none; }
.fp-engineering li { display:grid; grid-template-columns:50px 1fr; gap:17px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.fp-engineering li > span { color:#ff8189; font-family:"Barlow Condensed",Arial,sans-serif; font-weight:800; }
.fp-engineering li p { margin:0; color:#b8c4ca; font-size:.84rem; }
.fp-engineering li strong { display:block; margin-bottom:3px; color:#fff; font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.27rem; }
.fp-process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }
.fp-process-grid article { min-height:250px; padding:27px 24px; border:1px solid var(--fp-line); border-top:4px solid var(--fp-red); background:#fff; }
.fp-process-grid span { display:block; margin-bottom:36px; color:var(--fp-red); font-weight:800; }
.fp-process-grid h3 { margin-bottom:9px; }
.fp-process-grid p { margin:0; color:var(--fp-slate); font-size:.84rem; }
.fp-gallery { padding:105px 0; }
.fp-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.fp-gallery figure { margin:0; border:1px solid var(--fp-line); background:#fff; }
.fp-gallery img { width:100%; aspect-ratio:1/1; padding:13px; object-fit:contain; }
.fp-gallery figcaption { padding:15px 18px; border-top:1px solid var(--fp-line); font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.15rem; font-weight:700; }
.fp-gallery-link { display:inline-block; margin-top:24px; color:var(--fp-red); font-weight:800; text-decoration:none; }
.fp-gallery-link:hover { text-decoration:underline; }
.fp-rfq-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.fp-rfq-grid > div > p:last-child { color:var(--fp-slate); }
.fp-rfq ul { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; padding:0; list-style:none; }
.fp-rfq li { position:relative; min-height:92px; padding:18px 17px 17px 41px; border:1px solid var(--fp-line); background:#fff; font-size:.81rem; font-weight:700; }
.fp-rfq li::before { position:absolute; top:19px; left:17px; color:var(--fp-red); content:"✓"; font-weight:900; }
.fp-faq { padding:105px 0; }
.fp-faq-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:90px; align-items:start; }
.fp-faq-grid > div:first-child > p:last-child { color:var(--fp-slate); }
.fp-accordion { border-top:1px solid var(--fp-line); }
.fp-accordion details { border-bottom:1px solid var(--fp-line); }
.fp-accordion summary { position:relative; padding:23px 45px 23px 0; cursor:pointer; font-family:"Barlow Condensed",Arial,sans-serif; font-size:1.35rem; font-weight:800; list-style:none; }
.fp-accordion summary::-webkit-details-marker { display:none; }
.fp-accordion summary::after { position:absolute; top:22px; right:5px; color:var(--fp-red); content:"+"; font-family:Inter,Arial,sans-serif; }
.fp-accordion details[open] summary::after { content:"−"; }
.fp-accordion details p { max-width:760px; margin:0; padding:0 45px 24px 0; color:var(--fp-slate); font-size:.9rem; }
.fp-cta { padding:82px 0; color:#fff; background:var(--fp-red); }
.fp-cta-grid { display:grid; grid-template-columns:1.28fr .72fr; gap:90px; align-items:center; }
.fp-cta .fp-kicker { color:#ffd3d6; }
.fp-cta h2 { margin-bottom:14px; }
.fp-cta p:last-child { margin:0; color:#ffe1e3; }
.fp-cta-grid > div:last-child { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.fp-cta-grid > div:last-child > a:not(.fp-button) { color:#fff; font-size:.82rem; font-weight:700; text-decoration:none; }
.fp-button-light { color:var(--fp-red); background:#fff; }
.fp-button-light:hover { color:#fff; background:var(--fp-ink); }
.fp-footer { padding-top:60px; color:#bdc8ce; background:#0a1117; }
.fp-footer-grid { display:grid; grid-template-columns:1.5fr .85fr .75fr 1fr; gap:50px; padding-bottom:42px; }
.fp-footer img { width:205px; margin-bottom:16px; }
.fp-footer p { max-width:350px; font-size:.82rem; }
.fp-footer h2 { margin-bottom:15px; color:#fff; font-size:1.05rem; letter-spacing:.06em; text-transform:uppercase; }
.fp-footer a { display:block; margin:7px 0; color:#bdc8ce; font-size:.82rem; text-decoration:none; }
.fp-footer a:hover { color:#fff; }
.fp-footer-bottom { padding-top:20px; padding-bottom:20px; border-top:1px solid rgba(255,255,255,.12); font-size:.75rem; }
@media (max-width:980px) {
  .fp-hero-grid,.fp-intro-grid,.fp-engineering-grid,.fp-faq-grid,.fp-cta-grid { grid-template-columns:1fr; gap:45px; }
  .fp-hero-visual { width:min(620px,100%); }
  .fp-spec-grid,.fp-process-grid { grid-template-columns:repeat(2,1fr); }
  .fp-spec-grid > div:nth-child(3) { border-left:1px solid rgba(255,255,255,.25); }
  .fp-section-head,.fp-rfq-grid { grid-template-columns:1fr; gap:35px; }
  .fp-card-grid,.fp-gallery-grid { grid-template-columns:repeat(2,1fr); }
  .fp-footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .fp-footer-grid > div:last-child { grid-column:2/4; }
}
@media (max-width:650px) {
  .fp-shell { width:calc(100% - 28px); }
  h1 { font-size:clamp(3rem,15vw,4.3rem); }
  .fp-hero-grid { min-height:auto; padding-top:55px; padding-bottom:66px; }
  .fp-hero-visual { min-height:390px; }
  .fp-image-large { width:88%; height:78%; }
  .fp-image-small { width:50%; height:40%; }
  .fp-hero-visual > span { right:0; bottom:8px; }
  .fp-spec-grid,.fp-card-grid,.fp-process-grid,.fp-gallery-grid,.fp-rfq ul,.fp-footer-grid { grid-template-columns:1fr; }
  .fp-spec-grid > div { min-height:auto; border-left:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
  .fp-intro,.fp-products,.fp-engineering,.fp-process,.fp-gallery,.fp-rfq,.fp-faq { padding:72px 0; }
  .fp-intro-grid > div:last-child { padding-left:20px; }
  .fp-boundary-grid { grid-template-columns:1fr; }
  .fp-footer-grid > div:last-child { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .fp-button { transition:none; } }
