/* Motion only: preserve all existing colours, typography and geometry. */
html.lenis, html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto !important; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto !important; }
 *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Catalogue readability: same Frei palette and typefaces, more room for products. */
.frei-catalog-layout { display:block; }
.frei-catalog-layout > aside { width:100%; margin-bottom:32px; }
.frei-catalog-layout > aside > div { display:flex; gap:12px; flex-wrap:wrap; }
#catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.frei-machine-card { min-width:0; padding:24px; }
.frei-machine-card > div:first-child { aspect-ratio:4/3; padding:12px; min-height:220px; }
.frei-machine-card img { width:100%; height:100%; object-fit:contain; }
.frei-machine-card h3 { font-size:22px; line-height:1.3; }
.frei-machine-card p { display:block; overflow:visible; -webkit-line-clamp:unset; font-size:16px; line-height:1.65; color:#475569; }
.frei-machine-card a { font-size:12px; min-height:44px; display:flex; align-items:center; justify-content:center; }
#used-listings-grid { display:grid; grid-template-columns:minmax(0,1fr); }
#used-listings-grid > .frei-machine-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px 32px; height:auto; }
#used-listings-grid > .frei-machine-card > div:first-child { grid-column:1; grid-row:1 / span 5; margin:0; min-height:340px; }
#used-listings-grid > .frei-machine-card > :not(:first-child) { grid-column:2; }
#used-listings-grid > .frei-machine-card > div { flex-wrap:wrap; }
#used-listings-grid > .frei-machine-card h3 { font-size:26px; text-transform:none; }
#faq summary span:first-child { font-size:18px; font-weight:700; text-transform:none; line-height:1.5; }
#faq details > div { font-size:16px; line-height:1.75; }
@media(max-width:700px) {
 #catalog-grid, .frei-featured-grid { grid-template-columns:minmax(0,1fr); }
 #used-listings-grid > .frei-machine-card { display:flex; gap:16px; }
 #used-listings-grid > .frei-machine-card > div:first-child { min-height:240px; }
 .frei-machine-card { padding:20px; }
}

.frei-catalog-layout > aside > div { flex-direction:row; }
.frei-catalog-layout > aside a { flex:0 1 auto; font-size:12px; }
/* Homepage: product-led introduction and a readable selection story. */
.frei-hero {background:#004a99;color:#fff;padding:clamp(48px,7vw,100px) 24px;overflow:hidden}
.frei-hero-inner {max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1.05fr;gap:52px;align-items:center}
.frei-eyebrow {font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:24px}
.frei-hero h1 {font-family:Montserrat,sans-serif;font-size:clamp(36px,4.1vw,62px);line-height:1.08;font-weight:800;letter-spacing:-.045em;text-wrap:balance;max-width:640px}
.frei-hero-description {font-size:18px;line-height:1.7;max-width:540px;margin:28px 0;color:#e2edfa}
.frei-hero-actions {display:flex;align-items:center;flex-wrap:wrap;gap:18px 26px;font-size:14px;font-weight:700}
.frei-hero-actions a {display:inline-flex;align-items:center;gap:14px;min-height:48px;padding:12px 0}
.frei-hero-actions .frei-primary {background:white;color:#004a99;padding:16px 22px;border-radius:6px}
.frei-hero-actions a span {transition:transform .3s}
.frei-hero-actions a:hover span {transform:translateX(4px)}
.frei-hero-actions a:focus-visible {outline:3px solid white;outline-offset:5px}
.frei-hero-machine {background:#f7f9fc;border-radius:12px;margin:0;overflow:hidden;padding:28px 20px 20px;color:#004a99}
.frei-hero-machine img {width:100%;height:auto;aspect-ratio:1.4;object-fit:contain;mix-blend-mode:multiply}
.frei-hero-machine figcaption {font-size:12px;line-height:1.5;padding-top:20px;border-top:1px solid #d9e2ed;letter-spacing:.025em}
.frei-story {max-width:1328px;margin:auto;padding:clamp(56px,8vw,112px) 24px;display:grid;grid-template-columns:1fr 1fr;gap:80px;color:#0f172a}
.frei-story-intro .frei-eyebrow {color:#004a99}
.frei-story h2 {font-family:Montserrat,sans-serif;font-size:clamp(30px,3vw,44px);font-weight:800;line-height:1.16;letter-spacing:-.035em;text-wrap:balance}
.frei-story-intro>p:last-child {font-size:18px;line-height:1.7;color:#475569;margin-top:24px}
.frei-story-steps {list-style:none;margin:0;padding:0}
.frei-story-steps li {display:flex;gap:24px;padding:26px 0;border-top:1px solid #dbe3ed}
.frei-step-number {font-size:14px;font-weight:700;color:#004a99;padding-top:5px;font-variant-numeric:tabular-nums}
.frei-story h3 {font-size:22px;font-weight:700;margin-bottom:10px}
.frei-story-steps p {font-size:16px;line-height:1.7;color:#475569}
@media(min-width:901px){.frei-story-intro {position:sticky;top:120px;align-self:start}}
@media(max-width:900px){.frei-hero-inner,.frei-story{grid-template-columns:1fr;gap:36px}.frei-hero-copy{max-width:680px}.frei-hero-machine{max-width:680px;width:100%}.frei-hero-machine img{aspect-ratio:1.8}.frei-hero h1{font-size:clamp(36px,7vw,56px)}}
@media(prefers-reduced-motion:no-preference){.frei-hero-machine{animation:frei-machine-enter 1s cubic-bezier(.22,1,.36,1) both}.frei-story-steps li{animation:frei-step-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 90%}@keyframes frei-machine-enter{from{transform:translateY(24px)}to{transform:translateY(0)}}@keyframes frei-step-reveal{from{transform:translateY(20px);opacity:.4}to{transform:translateY(0);opacity:1}}}
@supports not (animation-timeline:view()){.frei-story-steps li{animation:none}}

/* Restore the original Frei signature behind the hero. */
.frei-hero {position:relative;isolation:isolate}
.frei-hero-watermark {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:-1;overflow:hidden}
.frei-hero-watermark img {width:min(1100px,110%);height:auto;max-width:none;opacity:.12;transform:rotate(-10deg)}
.frei-hero-inner {position:relative}

/* Logo-led hero without a product image. */
.frei-hero-inner {display:block;max-width:1000px;text-align:center}
.frei-hero-copy {max-width:900px;margin-inline:auto}
.frei-hero h1 {max-width:900px;margin-inline:auto}
.frei-hero-description {max-width:680px;margin:28px auto}
.frei-hero-actions {justify-content:center}
