/*
Theme Name: Honda Frauenschuh Redesign
Description: Dark Elementor design system for Honda Frauenschuh.
Author: Honda Frauenschuh
Template: hello-elementor
Version: 2.1.16
Text Domain: hfs-redesign
*/

:root {
  --hfs-bg: #101214;
  --hfs-bg-soft: #171a1d;
  --hfs-panel: #202427;
  --hfs-line: #353a3d;
  --hfs-white: #f4f3f0;
  --hfs-muted: #b9bfc0;
  --hfs-red: #d62630;
  --hfs-red-light: #ed4650;
  --hfs-gutter: clamp(22px, 5vw, 88px);
  --hfs-width: 1440px;
}

html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { background: var(--hfs-bg); color: var(--hfs-white); font-family: Montserrat, "Segoe UI", Arial, sans-serif; }
body.elementor-kit-8 { background: var(--hfs-bg); color: var(--hfs-white); }
::selection { background: var(--hfs-red); color: #fff; }
body :focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.hfs-wrap { width: min(100%, var(--hfs-width)); margin-inline: auto; padding-inline: var(--hfs-gutter); }
.hfs-wrap.elementor-element { max-width: var(--hfs-width); }
.hfs-page .elementor-widget:not(:last-child) { margin-bottom: 0; }
.hfs-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.hfs-page .elementor-heading-title { color: var(--hfs-white); }
.hfs-page .elementor-button { border-radius: 0; box-shadow: none; }
.hfs-kicker { color: var(--hfs-red-light); font-size: .76rem; font-weight: 700; letter-spacing: .21em; text-transform: uppercase; line-height: 1.5; }
.hfs-kicker p { margin: 0; }
.hfs-h2 .elementor-heading-title { font-size: clamp(2.4rem, 5.1vw, 5.6rem); line-height: 1.05; letter-spacing: -.065em; font-weight: 500; }
.hfs-lead { color: var(--hfs-muted); font-size: 1.05rem; line-height: 1.7; }
.hfs-primary .elementor-button,
.hfs-secondary .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 23px; font-size: .77rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: background-color .2s, border-color .2s, color .2s; }
.hfs-primary .elementor-button { background: var(--hfs-red); border: 1px solid var(--hfs-red); color: #fff; }
.hfs-primary .elementor-button:hover { background: #ac1e27; border-color: #ac1e27; color: #fff; }
.hfs-secondary .elementor-button { background: transparent; border: 1px solid #a3a9aa; color: #fff; }
.hfs-secondary .elementor-button:hover { background: rgba(255,255,255,.1); border-color: #fff; color: #fff; }
.hfs-text-link .elementor-button { background: transparent; border: 0; border-bottom: 1px solid var(--hfs-red); padding: 0 0 10px; color: #fff; font-size: .83rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.hfs-text-link .elementor-button:hover { background: transparent; color: var(--hfs-red-light); }

/* Theme Builder: one top-level container hfs-header, one inner hfs-header__inner. */
.elementor-location-header .hfs-header { position: absolute; z-index: 100; inset: 0 0 auto; width: 100%; min-height: 86px; background: linear-gradient(180deg,rgba(7,9,11,.52),rgba(7,9,11,0)); border-bottom: 1px solid rgba(255,255,255,.18); transition: background-color .25s, border-color .25s; }
.elementor-location-header .hfs-header.is-scrolled { position: fixed; top: var(--wp-admin--admin-bar--height, 0px); background: rgba(14,17,19,.96); border-color: var(--hfs-line); backdrop-filter: blur(14px); }
body:not(.home) .elementor-location-header .hfs-header { background: rgba(14,17,19,.97); }
.elementor-location-header .hfs-header__inner { width: min(100%, var(--hfs-width)); min-height: 86px; margin-inline: auto; padding-inline: var(--hfs-gutter); display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: clamp(22px,3vw,50px); }
.elementor-location-header .hfs-header__inner > .elementor-element { width: auto; min-width: 0; }
.elementor-location-header .hfs-header__brand { flex: 0 0 auto; gap: 2px; padding-block: 13px; border-bottom: 2px solid var(--hfs-red); }
.elementor-location-header .hfs-header__eyebrow { margin: 0; color: #d1d5d4; font-size: .54rem; font-weight: 800; letter-spacing: .27em; line-height: 1.4; }
.elementor-location-header .hfs-header__eyebrow p { margin: 0; }
.elementor-location-header .hfs-brand .elementor-heading-title { color: #fff; font-size: clamp(1.05rem,1.6vw,1.3rem); font-weight: 600; letter-spacing: .14em; line-height: 1.08; }
.elementor-location-header .hfs-brand .elementor-heading-title a { color: inherit; }
.elementor-location-header .hfs-header__brand img { width: min(220px, 100%); height: auto; }
.elementor-location-header .hfs-nav { flex: 1 1 auto; }
.elementor-location-header .hfs-nav .elementor-nav-menu { display: flex; gap: clamp(15px,2vw,34px); align-items: center; justify-content: flex-end; }
.elementor-location-header .hfs-nav .elementor-item { color: #fff; font-size: .76rem; font-weight: 600; letter-spacing: .02em; padding: 12px 0; background: none; white-space: nowrap; }
.elementor-location-header .hfs-nav .elementor-item:hover,
.elementor-location-header .hfs-nav .elementor-item-active { color: var(--hfs-red-light); }
.elementor-location-header .hfs-header__contact { flex: 0 0 auto; }
.elementor-location-header .hfs-header__contact .elementor-button { min-height: 44px; padding: 9px 0 7px; border: 0; border-bottom: 1px solid var(--hfs-red); border-radius: 0; background: transparent; color: #fff; font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.elementor-location-header .hfs-header__contact .elementor-button:hover { background: transparent; color: var(--hfs-red-light); }
.elementor-location-header .hfs-nav .elementor-menu-toggle { min-height: 48px; min-width: 48px; border: 1px solid #adb3b4; border-radius: 0; color: #fff; background: transparent; }
.elementor-location-header .hfs-nav .elementor-menu-toggle::after { content: "Menü"; margin-left: 7px; font-size: .76rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.elementor-location-header .hfs-nav .elementor-nav-menu--dropdown { background: #171a1d; border: 1px solid var(--hfs-line); }
.elementor-location-header .hfs-nav .elementor-nav-menu--dropdown a { color: #fff; min-height: 48px; display: flex; align-items: center; }
.elementor-location-header .hfs-nav .elementor-nav-menu--main .menu-item-1746 { display: none; }

/* Home hero; Elementor container background image can replace this theme fallback. */
.hfs-page .hfs-hero { min-height: max(690px, 100svh); display: flex; align-items: flex-end; position: relative; background-color: #15191c; background-image: linear-gradient(90deg,rgba(8,10,12,.84),rgba(8,10,12,.44) 38%,rgba(8,10,12,.08) 76%),linear-gradient(0deg,rgba(8,10,12,.72),transparent 45%),url("assets/hero-prelude-concept.png"); background-position: center,center,center 54%; background-size: cover; }
.hfs-page .hfs-hero__wrap { padding: 170px var(--hfs-gutter) 90px; }
.hfs-page .hfs-hero__title .elementor-heading-title { font-size: clamp(3.4rem,7.4vw,8.7rem); line-height: .98; letter-spacing: -.075em; font-weight: 500; max-width: 850px; }
.hfs-page .hfs-hero__title strong { color: #ff5059; font-weight: 500; }
.hfs-page .hfs-hero__copy { color: #e5e6e3; max-width: 490px; font-size: clamp(1rem,1.25vw,1.18rem); line-height: 1.65; }
.hfs-page .hfs-actions { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; }
.hfs-page .hfs-hero__scroll { color: #c8cbca; font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }

/* Shared section rhythm and homepage blocks. */
.hfs-page .hfs-section { padding-block: clamp(80px,10vw,150px); }
.hfs-page .hfs-models { background: var(--hfs-bg-soft); border-bottom: 1px solid var(--hfs-line); }
.hfs-page .hfs-models__intro { display: flex; flex-direction: row; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 32px; }
.hfs-page .hfs-models__intro .hfs-lead { max-width: 380px; }
.hfs-page .hfs-proof { background: #15181a; border-bottom: 1px solid var(--hfs-line); }
.hfs-page .hfs-proof__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.hfs-page .hfs-proof__item { display: flex; flex-direction: row; align-items: center; gap: 17px; padding: 31px 34px; border-left: 1px solid var(--hfs-line); }
.hfs-page .hfs-proof__item:first-child { border-left: 0; padding-left: 0; }
.hfs-page .hfs-proof__number .elementor-heading-title { color: var(--hfs-red-light); font-size: 1.35rem; font-weight: 600; }
.hfs-page .hfs-proof__label { color: #d4d6d5; font-size: .8rem; line-height: 1.45; }
.hfs-page .hfs-services__intro { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(250px,.55fr); gap: 36px; align-items: end; margin-bottom: 46px; }
.hfs-page .hfs-service-list { border-top: 1px solid var(--hfs-line); }
.hfs-page .hfs-service-row { display: grid; grid-template-columns: 80px minmax(180px,1fr) minmax(260px,1fr) 110px; align-items: center; gap: 24px; min-height: 158px; padding-block: 22px; border-bottom: 1px solid var(--hfs-line); transition: background-color .2s, padding-inline .2s; }
.hfs-page .hfs-service-row:hover { background: #1a1e20; padding-inline: 18px; }
.hfs-page .hfs-service-row__num { color: var(--hfs-red-light); font-size: .75rem; font-weight: 700; letter-spacing: .12em; }
.hfs-page .hfs-service-row__title .elementor-heading-title { font-size: clamp(1.5rem,2.6vw,3rem); font-weight: 500; letter-spacing: -.05em; }
.hfs-page .hfs-service-row__copy { color: var(--hfs-muted); font-size: .93rem; line-height: 1.6; }
.hfs-page .hfs-service-row__link .elementor-button { background: transparent; border: 0; color: var(--hfs-red-light); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 10px; }
.hfs-page .hfs-service-row__link .elementor-button:hover { color: #fff; }
.hfs-page .hfs-feature { display: grid; grid-template-columns: 1fr 1fr; min-height: 600px; background: var(--hfs-bg-soft); border-block: 1px solid var(--hfs-line); }
.hfs-page .hfs-feature__visual { min-height: 470px; background: linear-gradient(90deg,rgba(12,15,17,.05),rgba(12,15,17,.65)),url("assets/hero-prelude-concept.png") 66% center/cover no-repeat; }
.hfs-page .hfs-feature__copy { padding: clamp(60px,7vw,115px); justify-content: center; }
.hfs-page .hfs-feature__copy .hfs-lead { max-width: 480px; }
.hfs-page .hfs-statement__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 10vw; }
.hfs-page .hfs-statement__title .elementor-heading-title { font-size: clamp(2.6rem,5.3vw,5.8rem); line-height: 1.05; font-weight: 500; letter-spacing: -.065em; }
.hfs-page .hfs-statement__title strong { color: var(--hfs-red-light); font-weight: 500; }
.hfs-page .hfs-statement__copy { max-width: 530px; }
.hfs-page .hfs-contact { background: #1b1f21; border-top: 1px solid var(--hfs-line); }
.hfs-page .hfs-contact__grid { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 45px; }
.hfs-page .hfs-contact__buttons { min-width: 240px; }
.hfs-page .hfs-contact__buttons .elementor-button { width: 100%; }

/* Match the existing published Elementor container hierarchy. */
.hfs-page { padding-inline: 0; }
.hfs-page > .e-con-inner { width: 100%; max-width: none; padding: 0; gap: 0; }
.hfs-page .hfs-hero { padding-inline: 0; }
.hfs-page .hfs-feature { padding-inline: 0; }
.hfs-page .hfs-feature > .e-con-inner { max-width: none; padding: 0; gap: 0; }
.hfs-page .hfs-feature > .e-con-inner > .e-con:first-child { padding: 0; }
.hfs-page .hfs-proof > .e-con-inner > .e-con > .e-con-inner { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.hfs-page .hfs-proof > .e-con-inner > .e-con > .e-con-inner > .e-con { padding: 31px 34px; border-left: 1px solid var(--hfs-line); }
.hfs-page .hfs-proof > .e-con-inner > .e-con > .e-con-inner > .e-con:first-child { padding-left: 0; border-left: 0; }
.hfs-page .hfs-proof > .e-con-inner > .e-con > .e-con-inner > .e-con > .e-con-inner { display: flex; flex-direction: row; align-items: center; gap: 17px; }
.hfs-page .hfs-services .hfs-service-list,
.hfs-page .hfs-services > .e-con-inner > .e-con > .e-con-inner > .e-con:last-child { border-top: 1px solid var(--hfs-line); }
.hfs-page .hfs-services > .e-con-inner > .e-con > .e-con-inner > .e-con:last-child > .e-con-inner > .e-con { padding-block: 22px; border-bottom: 1px solid var(--hfs-line); }
.hfs-page .hfs-services > .e-con-inner > .e-con > .e-con-inner > .e-con:last-child > .e-con-inner > .e-con > .e-con-inner { display: grid; grid-template-columns: 80px minmax(180px,1fr) minmax(260px,1fr) 110px; align-items: center; gap: 24px; }
.hfs-page .hfs-feature { display: block; }
.hfs-page .hfs-feature > .e-con-inner { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
.hfs-page .hfs-feature > .e-con-inner > .e-con:first-child { min-height: 470px; background: linear-gradient(90deg,rgba(12,15,17,.05),rgba(12,15,17,.65)),url("assets/hero-prelude-concept.png") 66% center/cover no-repeat; }
.hfs-page .hfs-feature > .e-con-inner > .e-con:last-child { padding: clamp(60px,7vw,115px); justify-content: center; }
.hfs-page .hfs-contact > .e-con-inner > .e-con > .e-con-inner { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 45px; }

/* Footer classes are assigned to Elementor Theme Builder containers/widgets. */
.elementor-location-footer .hfs-footer { padding: 65px 0 30px; background: var(--hfs-bg); border-top: 1px solid var(--hfs-line); color: var(--hfs-muted); }
.elementor-location-footer .hfs-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 45px; }
.elementor-location-footer .hfs-footer h3 { color: var(--hfs-red-light); font-size: .74rem; text-transform: uppercase; letter-spacing: .14em; }
.elementor-location-footer .hfs-brand .elementor-heading-title { color: #fff; font-size: 1.2rem; font-weight: 600; letter-spacing: .18em; }
.elementor-location-footer .hfs-footer a { color: var(--hfs-muted); }
.elementor-location-footer .hfs-footer a:hover { color: #fff; }
.elementor-location-footer .hfs-footer__bottom { border-top: 1px solid var(--hfs-line); margin-top: 60px; padding-top: 25px; color: #969d9e; font-size: .76rem; }

/* Inner pages: reusable Elementor classes, no page-ID dependency. */
.hfs-inner { background: var(--hfs-bg); color: var(--hfs-white); }
.hfs-inner .elementor-heading-title { color: var(--hfs-white); }
.hfs-inner .elementor-widget-text-editor { color: var(--hfs-muted); line-height: 1.7; }
.hfs-inner .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.hfs-inner .elementor-button { border-radius: 0; box-shadow: none; }
.hfs-inner .hfs-primary .elementor-button { background: var(--hfs-red); color: #fff; border: 1px solid var(--hfs-red); padding: 15px 24px; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.hfs-inner .hfs-primary .elementor-button:hover { background: #ac1e27; border-color: #ac1e27; }
.hfs-inner .hfs-secondary .elementor-button { background: transparent; color: #fff; border: 1px solid #a3a9aa; padding: 15px 24px; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.hfs-inner .hfs-secondary .elementor-button:hover { background: rgba(255,255,255,.1); border-color: #fff; }
.hfs-inner .hfs-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px; }
.hfs-inner a:not(.elementor-button) { text-decoration-color: var(--hfs-red); text-underline-offset: 4px; }
.hfs-inner .hfs-subhero { min-height: 400px; padding: 180px 0 88px; background: var(--hfs-bg-soft); border-bottom: 1px solid var(--hfs-line); }
.hfs-inner .hfs-subhero__title .elementor-heading-title { max-width: 1050px; font-size: clamp(3.1rem,6.2vw,7rem); font-weight: 500; letter-spacing: -.07em; line-height: 1.05; }
.hfs-inner .hfs-subhero__copy { max-width: 780px; font-size: clamp(1rem,1.35vw,1.2rem); color: #cbd0d0; }
.hfs-inner .hfs-subsection { padding: clamp(75px,9vw,135px) 0; border-bottom: 1px solid var(--hfs-line); }
.hfs-inner .hfs-subsection--soft { background: var(--hfs-bg-soft); }
.hfs-inner .hfs-subsection__intro { max-width: 830px; margin-bottom: 46px; }
.hfs-inner .hfs-subsection__intro .hfs-h2 { margin-top: 12px; }
.hfs-inner .hfs-subsection__intro .hfs-lead { margin-top: 22px; }
.hfs-inner .hfs-two-col { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(22px,4vw,68px); }
.hfs-inner .hfs-three-col { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.hfs-inner .hfs-panel { min-width: 0; padding: clamp(28px,3vw,48px); border-top: 2px solid var(--hfs-red); background: var(--hfs-panel); }
.hfs-inner .hfs-panel .elementor-heading-title { font-size: clamp(1.5rem,2.2vw,2.4rem); font-weight: 500; letter-spacing: -.045em; }
.hfs-inner .hfs-panel .elementor-widget-text-editor { color: #c9cece; }
.hfs-inner .hfs-rule-list { border-top: 1px solid var(--hfs-line); }
.hfs-inner .hfs-rule-row { display: grid; grid-template-columns: 56px minmax(200px,.8fr) minmax(260px,1.2fr); gap: 26px; align-items: start; padding: 30px 0; border-bottom: 1px solid var(--hfs-line); }
.hfs-inner .hfs-rule-row__num { color: var(--hfs-red-light); font-size: .75rem; font-weight: 700; letter-spacing: .13em; }
.hfs-inner .hfs-rule-row__title .elementor-heading-title { font-size: clamp(1.45rem,2.3vw,2.5rem); font-weight: 500; letter-spacing: -.04em; }
.hfs-inner .hfs-rule-row__copy { color: var(--hfs-muted); }
.hfs-inner .hfs-subcta { padding: clamp(75px,9vw,125px) 0; background: #1b1f21; }
.hfs-inner .hfs-subcta .hfs-h2 { max-width: 850px; }
.hfs-inner .hfs-subcta .hfs-actions { margin-top: 28px; }
.hfs-inner .hfs-stock-frame { min-height: 620px; background: #fff; border: 1px solid var(--hfs-line); overflow: hidden; }
.hfs-inner .hfs-stock-frame iframe { display: block; width: 100%; min-height: 850px; border: 0; background: #fff; }
.hfs-inner .hfs-person-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.hfs-inner .hfs-person { min-width: 0; padding-bottom: 24px; border-bottom: 1px solid var(--hfs-line); }
.hfs-inner .hfs-person__portrait { min-height: 310px; margin-bottom: 24px; background: linear-gradient(145deg,#32383b,#1b1f22); overflow: hidden; }
.hfs-inner .hfs-person__portrait .elementor-widget-image,
.hfs-inner .hfs-person__portrait .elementor-widget-container,
.hfs-inner .hfs-person__portrait img { width: 100%; height: 100%; }
.hfs-inner .hfs-person__portrait img { object-fit: cover; }
.hfs-inner .hfs-person__name .elementor-heading-title { font-size: clamp(1.25rem,1.7vw,1.8rem); font-weight: 600; letter-spacing: -.025em; }
.hfs-inner .hfs-person__role { color: var(--hfs-red-light); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.hfs-inner .hfs-actions-feed { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.hfs-inner .hfs-actions-feed > .e-con { min-width: 0; }
.hfs-inner .hfs-actions-feed .elementor-post,
.hfs-inner .hfs-actions-feed .eventon_list_event,
.hfs-inner .hfs-actions-feed .evcal_list_a { background: var(--hfs-panel) !important; color: var(--hfs-white) !important; border: 1px solid var(--hfs-line) !important; border-radius: 0 !important; box-shadow: none !important; }
.hfs-inner .hfs-actions-feed .elementor-post__title,
.hfs-inner .hfs-actions-feed .elementor-post__title a,
.hfs-inner .hfs-actions-feed .evcal_event_title { color: var(--hfs-white) !important; }
.hfs-inner .hfs-actions-feed .elementor-post__meta-data { color: var(--hfs-muted) !important; }
.hfs-inner .hfs-actions-feed .elementor-post__read-more { color: var(--hfs-red-light) !important; }
.hfs-inner .hfs-legal { max-width: 900px; }
.hfs-inner .hfs-legal :is(h2,h3,h4) { color: var(--hfs-white); font-weight: 500; line-height: 1.2; letter-spacing: -.03em; margin: 2em 0 .75em; }
.hfs-inner .hfs-legal p,
.hfs-inner .hfs-legal li { color: var(--hfs-muted); font-size: 1rem; line-height: 1.8; overflow-wrap: anywhere; }
.hfs-inner .hfs-legal a { color: #fff; }
body.archive .site-main { background: var(--hfs-bg); color: var(--hfs-white); }
body.archive .page-header { background: var(--hfs-bg-soft); padding: 180px var(--hfs-gutter) 75px; margin: 0; }
body.archive .page-header h1 { color: var(--hfs-white); font-size: clamp(3rem,5vw,5.8rem); font-weight: 500; letter-spacing: -.06em; }
body.archive .page-content { padding: 70px var(--hfs-gutter) 100px; }
body.archive article { border-top: 2px solid var(--hfs-red); padding-top: 24px; }
body.archive article .entry-title a { color: #fff; }
body.single-post .site-main { background: var(--hfs-bg); color: var(--hfs-white); }
body.single-post .site-main > article { width: min(100%, 960px); margin-inline: auto; padding: 175px var(--hfs-gutter) 100px; }
body.single-post .entry-title { color: var(--hfs-white); font-size: clamp(2.8rem,5vw,5.5rem); font-weight: 500; line-height: 1.07; letter-spacing: -.06em; }
body.single-post .entry-meta, body.single-post .entry-footer { color: var(--hfs-muted); }
body.single-post .entry-content { color: var(--hfs-muted); font-size: 1rem; line-height: 1.8; }
body.single-post .entry-content :is(h2,h3,h4) { color: var(--hfs-white); font-weight: 500; letter-spacing: -.03em; }
body.single-post .entry-content a { color: #fff; text-decoration-color: var(--hfs-red); text-underline-offset: 4px; }
body.single-post .entry-content img { height: auto; max-width: 100%; }

@media (max-width: 1100px) {
  .elementor-location-header .hfs-header__contact { display: none; }
  .elementor-location-header .hfs-nav { text-align: right; }
  .elementor-location-header .hfs-nav .elementor-nav-menu--main { display: none; }
  .elementor-location-header .hfs-nav .elementor-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .elementor-location-header .hfs-nav .elementor-widget-container { position: relative; }
  .elementor-location-header .hfs-nav .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown { display: block !important; visibility: visible !important; opacity: 1 !important; position: absolute; top: calc(100% + 14px); right: 0; left: auto; z-index: 120; width: min(360px, calc(100vw - 28px)); max-height: calc(100svh - 130px); overflow: auto; padding: 14px; background: #141719; border: 1px solid #454b4d; box-shadow: 0 18px 55px rgba(0,0,0,.45); text-align: left; }
  .elementor-location-header .hfs-nav nav.elementor-nav-menu--dropdown > .elementor-nav-menu { display: block; margin: 0; }
  .elementor-location-header .hfs-nav nav.elementor-nav-menu--dropdown .menu-item { border-bottom: 1px solid rgba(255,255,255,.1); }
  .elementor-location-header .hfs-nav nav.elementor-nav-menu--dropdown .menu-item:last-child { border-bottom: 0; }
  .elementor-location-header .hfs-nav nav.elementor-nav-menu--dropdown a { min-height: 48px; padding: 12px 10px; color: #f4f3f0; font-size: .87rem; font-weight: 600; letter-spacing: .02em; white-space: normal; }
  .elementor-location-header .hfs-nav nav.elementor-nav-menu--dropdown a:hover,
  .elementor-location-header .hfs-nav nav.elementor-nav-menu--dropdown a:focus-visible { color: #ff6971; background: #22272a; }
  .elementor-location-header .hfs-nav nav.elementor-nav-menu--dropdown .sub-menu { background: #202427; }
  .elementor-location-header .hfs-nav nav.elementor-nav-menu--dropdown .sub-menu a { padding-left: 22px; color: #d0d5d5; font-size: .8rem; }
  .hfs-page .hfs-service-row { grid-template-columns: 48px minmax(180px,1fr) minmax(200px,1fr) 70px; gap: 14px; }
}
@media (max-width: 900px) {
  .elementor-location-header .hfs-header,
  .elementor-location-header .hfs-header__inner { min-height: 76px; }
  .elementor-location-header .hfs-header__cta { display: none; }
  .hfs-page .hfs-models__intro { display: block; }
  .hfs-page .hfs-proof__grid { grid-template-columns: 1fr; }
  .hfs-page .hfs-proof > .e-con-inner > .e-con > .e-con-inner { grid-template-columns: 1fr; }
  .hfs-page .hfs-proof > .e-con-inner > .e-con > .e-con-inner > .e-con { padding: 22px 0; border-left: 0; border-bottom: 1px solid var(--hfs-line); }
  .hfs-page .hfs-proof__item { border-left: 0; border-bottom: 1px solid var(--hfs-line); padding: 22px 0; }
  .hfs-page .hfs-services__intro { grid-template-columns: 1fr; }
  .hfs-page .hfs-service-row { grid-template-columns: 40px 1fr 50px; }
  .hfs-page .hfs-services > .e-con-inner > .e-con > .e-con-inner > .e-con:last-child > .e-con-inner > .e-con > .e-con-inner { grid-template-columns: 40px 1fr 50px; }
  .hfs-page .hfs-service-row__copy { grid-column: 2; }
  .hfs-page .hfs-service-row__link { grid-column: 3; grid-row: 1; }
  .hfs-page .hfs-feature { grid-template-columns: 1fr; }
  .hfs-page .hfs-feature > .e-con-inner { grid-template-columns: 1fr; }
  .hfs-page .hfs-feature__visual { min-height: 380px; }
  .hfs-page .hfs-feature__copy { padding: 70px var(--hfs-gutter); }
  .hfs-page .hfs-statement__grid,
  .hfs-page .hfs-contact__grid { grid-template-columns: 1fr; }
  .hfs-page .hfs-contact > .e-con-inner > .e-con > .e-con-inner { grid-template-columns: 1fr; }
  .elementor-location-footer .hfs-footer__grid { grid-template-columns: 1fr 1fr; }
  .hfs-inner .hfs-three-col,
  .hfs-inner .hfs-person-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hfs-inner .hfs-rule-row { grid-template-columns: 38px 1fr; gap: 14px; }
  .hfs-inner .hfs-rule-row__copy { grid-column: 2; }
  .hfs-inner .hfs-actions-feed { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .elementor-location-header .hfs-header__inner { flex-direction: row !important; flex-wrap: nowrap; gap: 10px; padding-inline: 18px; }
  .elementor-location-header .hfs-header__brand { width: 185px !important; max-width: 185px; padding-block: 8px; }
  .elementor-location-header .hfs-header__brand img { width: 165px; }
  .elementor-location-header .hfs-nav { width: 88px !important; max-width: 88px; flex: 0 0 88px; }
  .elementor-location-header .hfs-nav .elementor-widget-container { width: 88px; justify-content: flex-end; }
  .elementor-location-header .hfs-nav .elementor-menu-toggle { margin: 0; }
  .hfs-page .hfs-hero { min-height: 100svh; background-position: center,center,62% center; }
  .hfs-page .hfs-hero__wrap { padding-top: 155px; padding-bottom: 42px; }
  .hfs-page .hfs-hero__title .elementor-heading-title { font-size: clamp(3rem,12vw,5.1rem); }
  .hfs-page .hfs-actions { flex-direction: column; align-items: stretch; }
  .hfs-page .hfs-actions .elementor-widget-button,
  .hfs-page .hfs-actions .elementor-button { width: 100%; }
  .hfs-page .hfs-service-row { grid-template-columns: 30px 1fr 40px; gap: 10px; }
  .hfs-page .hfs-service-row__title .elementor-heading-title { font-size: 1.55rem; }
  .hfs-page .hfs-service-row__copy { font-size: .86rem; }
  .hfs-page .hfs-feature__visual { min-height: 320px; }
  .elementor-location-footer .hfs-footer__grid { grid-template-columns: 1fr; gap: 25px; }
  .hfs-inner .hfs-subhero { min-height: 0; padding: 155px 0 70px; }
  .hfs-inner .hfs-subhero__title .elementor-heading-title { font-size: clamp(2.6rem,11vw,4.4rem); }
  .hfs-inner .hfs-two-col,
  .hfs-inner .hfs-three-col,
  .hfs-inner .hfs-person-grid { grid-template-columns: 1fr; }
  .hfs-inner .hfs-person__portrait { min-height: 290px; }
  .hfs-inner .hfs-stock-frame iframe { min-height: 650px; }
}

/* Narrow screens: keep the hero legible and give each service action its own line. */
@media (max-width: 600px) {
  .hfs-page .hfs-hero {
    min-height: 760px;
    background-color: #101214;
    background-image: linear-gradient(180deg,#101214 0%,#101214 43%,rgba(16,18,20,.93) 58%,rgba(16,18,20,.55) 100%),url("assets/hero-prelude-concept.png");
    background-size: cover,auto 55%;
    background-position: center,58% bottom;
    background-repeat: no-repeat;
  }
  .hfs-page .hfs-hero__wrap { padding-top: 180px; padding-bottom: 58px; }
  .hfs-page .hfs-hero__title .elementor-heading-title { font-size: clamp(2.75rem,11vw,4.4rem); }
  .hfs-page .hfs-hero__copy { max-width: 330px; }
  .hfs-page .hfs-services > .e-con-inner > .e-con > .e-con-inner > .e-con:last-child > .e-con-inner > .e-con > .e-con-inner { grid-template-columns: 46px minmax(0,1fr) !important; column-gap: 12px; row-gap: 10px; align-items: start; }
  .hfs-page .hfs-service-row__num { grid-column: 1; grid-row: 1; padding-top: 5px; }
  .hfs-page .hfs-service-row__title { grid-column: 2; grid-row: 1; min-width: 0; overflow-wrap: anywhere; }
  .hfs-page .hfs-service-row__title .elementor-heading-title { font-size: clamp(1.35rem,6vw,1.7rem); line-height: 1.2; }
  .hfs-page .hfs-service-row__copy { grid-column: 2; grid-row: 2; }
  .hfs-page .hfs-service-row__link { grid-column: 2; grid-row: 3; justify-self: start; }
  .hfs-page .hfs-service-row__link .elementor-button { padding: 10px 0; }
  .hfs-vs__controls { flex-direction: column; align-items: stretch; gap: 12px; }
  .hfs-vs__dots { display: flex; flex-wrap: nowrap; justify-content: space-between; max-width: none; width: 100%; gap: 0; }
  .hfs-vs .hfs-vs__controls button.hfs-vs__dot { flex: 1 1 0; min-width: 0; width: auto; height: 40px; min-height: 40px; }
  .hfs-vs__buttons { flex-wrap: nowrap; justify-content: flex-end; width: 100%; }
  .hfs-vs .hfs-vs__controls button.hfs-vs__control { height: 44px; min-width: 44px; font-size: 1rem; }
  .hfs-vs .hfs-vs__controls button.hfs-vs__pause { margin-right: auto; min-width: 78px; font-size: .66rem; }
}

/* Published inner pages keep their verified content while joining the dark redesign. */
body:is(.page-id-519,.page-id-515,.page-id-521,.page-id-523,.page-id-1607,.page-id-10) { background: var(--hfs-bg); color: var(--hfs-white); }
body.page-id-519.elementor-page-519 .elementor-element-5dcbfb0d,
body.page-id-515.elementor-page-515 .elementor-element-a0ff366,
body.page-id-521.elementor-page-521 .elementor-element-4be7e72,
body.page-id-523.elementor-page-523 .elementor-element-008891f,
body.page-id-1607.elementor-page-1607 .elementor-element-663dfa3,
body.page-id-10.elementor-page-10 .elementor-element-b94c339 { background: var(--hfs-bg-soft) !important; background-image: none !important; border-bottom: 1px solid var(--hfs-line); }
body.page-id-519.elementor-page-519 .elementor-element-5dcbfb0d :is(h1,h2,h3),
body.page-id-515.elementor-page-515 .elementor-element-a0ff366 :is(h1,h2,h3),
body.page-id-521.elementor-page-521 .elementor-element-4be7e72 :is(h1,h2,h3),
body.page-id-523.elementor-page-523 .elementor-element-008891f :is(h1,h2,h3),
body.page-id-1607.elementor-page-1607 .elementor-element-663dfa3 :is(h1,h2,h3),
body.page-id-10.elementor-page-10 .elementor-element-b94c339 :is(h1,h2,h3) { color: var(--hfs-white) !important; }
body.page-id-519.elementor-page-519 .elementor-element-5dcbfb0d :is(.elementor-widget-text-editor,p,li),
body.page-id-515.elementor-page-515 .elementor-element-a0ff366 :is(.elementor-widget-text-editor,p,li),
body.page-id-521.elementor-page-521 .elementor-element-4be7e72 :is(.elementor-widget-text-editor,p,li),
body.page-id-523.elementor-page-523 .elementor-element-008891f :is(.elementor-widget-text-editor,p,li),
body.page-id-1607.elementor-page-1607 .elementor-element-663dfa3 :is(.elementor-widget-text-editor,p,li),
body.page-id-10.elementor-page-10 .elementor-element-b94c339 :is(.elementor-widget-text-editor,p,li) { color: #c9cece !important; }
body:is(.page-id-519,.page-id-515,.page-id-521,.page-id-523,.page-id-1607,.page-id-10) .elementor-widget-image img { border-radius: 0 !important; }
body.page-id-519.elementor-page-519 .elementor-element-5dcbfb0d .elementor-widget-image img,
body.page-id-521.elementor-page-521 .elementor-element-4be7e72 .elementor-widget-image img { border-bottom: 3px solid var(--hfs-red) !important; }
body.page-id-519.elementor-page-519 .elementor-element-f31f509 .elementor-widget-container { background: none !important; }
body.page-id-519.elementor-page-519 .elementor-element-f31f509 h1 { font-size: clamp(2.7rem,4vw,4.5rem) !important; line-height: 1.1 !important; overflow-wrap: anywhere; }
body.page-id-519.elementor-page-519 .elementor-element-5871fac,
body.page-id-519.elementor-page-519 .elementor-element-52affec { display: none !important; }
body.page-id-1607.elementor-page-1607 .elementor-element-fa3a5d6 { background: var(--hfs-bg) !important; color: var(--hfs-white); }
body.page-id-1607.elementor-page-1607 .elementor-element-fa3a5d6 :is(h2,h3) { color: var(--hfs-white) !important; }
body.page-id-1607.elementor-page-1607 .elementor-element-fa3a5d6 :is(p,li) { color: var(--hfs-muted) !important; }
body.page-id-1607.elementor-page-1607 .elementor-element-663dfa3::after { content: none !important; }
body.page-id-1607.elementor-page-1607 .elementor-element-663dfa3 .e-con-inner { position: relative; z-index: 1; }
body:is(.page-id-519,.page-id-515,.page-id-521,.page-id-523,.page-id-1607,.page-id-10) .elementor-invisible { visibility: visible !important; animation: none !important; }
body:is(.page-id-323,.page-id-3) .elementor-element-68252a5,
body.page-id-3 .elementor-element-4d81498 { background: var(--hfs-bg-soft) !important; color: var(--hfs-white); }
body:is(.page-id-323,.page-id-3) :is(h1,h2,h3,h4) { color: var(--hfs-white) !important; }
body:is(.page-id-323,.page-id-3) .elementor-widget-text-editor :is(p,span,strong,li) { color: var(--hfs-muted) !important; }
body:is(.page-id-323,.page-id-3) .elementor-widget-text-editor a { color: #fff !important; text-decoration-color: var(--hfs-red); }
body.page-id-323.elementor-page-323 .elementor-element-68252a5 .elementor-widget-heading .elementor-heading-title,
body.page-id-3.elementor-page-3 .elementor-element-4d81498 .elementor-widget-text-editor :is(h1,h2,h3,h4) { color: var(--hfs-white) !important; }
body.page-id-323.elementor-page-323 .elementor-element-68252a5 .elementor-widget-text-editor :is(p,span,strong,li),
body.page-id-3.elementor-page-3 .elementor-element-4d81498 .elementor-widget-text-editor :is(p,span,strong,li) { color: #c9cece !important; }
body.page-id-323.elementor-page-323 .elementor-element-68252a5 .elementor-widget-text-editor a,
body.page-id-3.elementor-page-3 .elementor-element-4d81498 .elementor-widget-text-editor a { color: #fff !important; }

/* Motorcycle popup: compact editorial panel with a clear close control and action. */
#elementor-popup-modal-1504 { background: rgba(5,7,9,.78) !important; padding: 16px; }
#elementor-popup-modal-1504 .dialog-widget-content { width: min(680px,calc(100vw - 32px)) !important; max-height: calc(100svh - 32px); overflow-x: hidden; overflow-y: auto; background: #171a1d !important; border: 1px solid #444b4e; border-top: 3px solid var(--hfs-red); border-radius: 0 !important; box-shadow: 0 24px 80px rgba(0,0,0,.55); }
#elementor-popup-modal-1504 .dialog-close-button { z-index: 5; display: grid; place-items: center; width: 44px; height: 44px; color: #fff !important; background: #22272a; }
#elementor-popup-modal-1504 .dialog-close-button:hover { background: var(--hfs-red); }
.elementor-1504 .elementor-widget-image img { display: block; width: 100%; max-height: 230px; object-fit: cover; }
.elementor-1504 .elementor-heading-title { color: #fff !important; }
.elementor-1504 h2.elementor-heading-title { font-size: clamp(1.7rem,3.4vw,2.7rem) !important; line-height: 1.12 !important; letter-spacing: -.045em !important; }
.elementor-1504 h6.elementor-heading-title { color: var(--hfs-red-light) !important; font-size: .7rem !important; font-weight: 700 !important; letter-spacing: .18em !important; text-transform: uppercase; }
.elementor-1504 .elementor-widget-text-editor { color: #cbd0d0 !important; line-height: 1.65; }
.elementor-1504 .elementor-button { min-height: 50px; background: var(--hfs-red) !important; border: 1px solid var(--hfs-red) !important; border-radius: 0 !important; color: #fff !important; font-size: .8rem !important; font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase; }
.elementor-1504 .elementor-button:hover { background: #ac1e27 !important; border-color: #ac1e27 !important; }
@media (max-width: 600px) {
  #elementor-popup-modal-1504 { padding: 12px; }
  #elementor-popup-modal-1504 .dialog-widget-content { width: calc(100vw - 24px) !important; max-height: calc(100svh - 24px); }
  .elementor-1504 .elementor-widget-image img { max-height: 170px; }
  .elementor-1504 h2.elementor-heading-title { font-size: 1.65rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hfs-page *, .elementor-location-header .hfs-header { animation: none !important; transition: none !important; }
}
@media (max-width: 600px) {
  body.page-id-519.elementor-page-519 .elementor-element-f31f509 h1 { font-size: clamp(1.75rem,8vw,2.3rem) !important; overflow-wrap: normal; word-break: normal; }
  body.page-id-1607.elementor-page-1607 .elementor-element-663dfa3 h1 { font-size: clamp(1.9rem,8vw,2.4rem) !important; overflow-wrap: normal; word-break: normal; }
}



/* Keep the Team page title clear of the compact mobile header. */
@media (max-width: 767px) {
  body.page-id-521.elementor-page-521 .elementor-element-4be7e72 { padding-top: 120px !important; }
}


/* Remove the legacy empty spacer from the no-open-positions page. */
body.page-id-10.elementor-page-10 .elementor-element-ef9036e { display: none !important; }
@media (max-width: 767px) {
  body.page-id-10.elementor-page-10 .elementor-element-b94c339 { padding-top: 110px !important; }
}


/* Let existing workshop imagery fit its Elementor column. */
body.page-id-519.elementor-page-519 .elementor-widget-image img { width: 100% !important; max-width: 100% !important; height: auto; }
/* The four-column team rows exceed medium desktop viewports. */
@media (min-width: 768px) and (max-width: 1399px) {
  body.page-id-521.elementor-page-521 :is(.elementor-element-d989677,.elementor-element-de68a79,.elementor-element-128e917) { width: 100% !important; max-width: 100% !important; flex-wrap: wrap !important; }
  body.page-id-521.elementor-page-521 :is(.elementor-element-d989677,.elementor-element-de68a79,.elementor-element-128e917) > .elementor-element { flex: 1 1 calc(50% - 18px) !important; max-width: calc(50% - 18px) !important; }
}

