.elementor-kit-6{--e-global-color-primary:#F35C23;--e-global-color-secondary:#26212B;--e-global-color-text:#1E1F24;--e-global-color-accent:#EEEADF;--e-global-color-bxmcream:#FFFCF7;--e-global-color-bxmmuted:#57535C;--e-global-color-bxmorangd:#D94A14;--e-global-typography-primary-font-family:"Teko";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"Teko";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Exo 2";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Exo 2";--e-global-typography-accent-font-weight:600;background-color:#EEEADF;font-family:"Exo 2", Sans-serif;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:0px;}.elementor-kit-6 a{color:#FFFFFF;font-family:"Exo 2", Sans-serif;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Exo 2", Sans-serif;}.elementor-kit-6 label{font-family:"Exo 2", Sans-serif;}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Exo 2", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   BX-Motors – tyylijärjestelmä v2 "tumma" (Elementor Kit → Custom CSS)
   Pohjana vanhan bxm.fi:n tunnistettava ilme: tumma pohja, oranssi, kerma,
   Teko-otsikot kahdella värillä. Luettavuus ja kontrastit tarkistettu (WCAG AA).
   Kontrastit:  kerma #EEEADF tummalla #26212B 13,1:1 · harmaa #BDB6AA tummalla 7,8:1
                oranssi #F35C23 tummalla 4,8:1 · tumma oranssi #B03A0C kermalla 5,1:1
                valkoinen oranssilla 3,3:1 → vain isossa tekstissä (napit Teko 22px)
   Varmuuskopio v1 (vaalea): backup/bxm-v1.css
   ========================================================================== */


:root {
  --bxm-orange: #F35C23;
  --bxm-orange-hi: #FF7A45;
  --bxm-orange-ink: #B03A0C;
  --bxm-ink: #26212B;
  --bxm-ink-2: #1C1820;
  --bxm-black: #121015;
  --bxm-cream: #EEEADF;
  --bxm-cream-2: #E4DED0;
  --bxm-paper: #FFFCF7;
  --bxm-text: #1E1F24;
  --bxm-muted: #57535C;
  --bxm-muted-d: #BDB6AA;
  --bxm-line: rgba(38, 33, 43, .16);
  --bxm-line-w: rgba(238, 234, 223, .16);
  --bxm-display: 'Teko', 'Roboto Condensed', sans-serif;
  --bxm-body: 'Exo 2', sans-serif;
  --bxm-pad: clamp(64px, 8vw, 112px);
  --bxm-header-h: 96px;
  --bxm-slash: polygon(28% 0, 100% 0, 72% 100%, 0 100%);
}
@media (max-width: 1024px) { :root { --bxm-header-h: 72px; } }

body { font-family: var(--bxm-body); color: var(--bxm-cream); background: var(--bxm-ink); -webkit-font-smoothing: antialiased; }
body a { color: inherit; }
.elementor-widget-text-editor p { margin: 0 0 1em; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.bxm-acc { color: var(--bxm-orange); }

/* ---------- Osiot: tumma (oletus) · musta · kerma ---------- */
.e-con.bxm-sec { --padding-top: var(--bxm-pad); --padding-bottom: var(--bxm-pad); --padding-left: 24px; --padding-right: 24px; background: var(--bxm-ink); color: var(--bxm-cream); }
.e-con.bxm-sec--dark { background: var(--bxm-black); }
.e-con.bxm-sec--cream { background: var(--bxm-cream); color: var(--bxm-text); }
.e-con.bxm-sec--tight { --padding-top: 56px; --padding-bottom: 56px; }
.e-con.bxm-sec--flush { --padding-bottom: 48px; }
.e-con.bxm-sec--line { border-top: 1px solid var(--bxm-line-w); }
.e-con.bxm-sec > .e-con-inner { gap: 40px; }
@media (max-width: 767px) { .e-con.bxm-sec { --padding-left: 16px; --padding-right: 16px; } .e-con.bxm-sec > .e-con-inner { gap: 28px; } }

/* ---------- Typografia ---------- */
.bxm-h1 .elementor-heading-title { font-family: var(--bxm-display); font-weight: 600; text-transform: uppercase; font-size: clamp(2.9rem, 6vw, 5.4rem); line-height: .92; letter-spacing: .005em; color: var(--bxm-cream); }
.bxm-h1 .bxm-acc { display: block; }
.bxm-h2 .elementor-heading-title { font-family: var(--bxm-display); font-weight: 600; text-transform: uppercase; font-size: clamp(2.3rem, 4vw, 3.5rem); line-height: .95; letter-spacing: .005em; color: var(--bxm-cream); }
.bxm-h3 .elementor-heading-title { font-family: var(--bxm-body); font-weight: 700; font-size: 1.25rem; line-height: 1.3; color: var(--bxm-cream); }
.bxm-sec--cream .bxm-h2 .elementor-heading-title, .bxm-sec--cream .bxm-h3 .elementor-heading-title, .bxm-panel .bxm-h3 .elementor-heading-title, .bxm-card .bxm-h3 .elementor-heading-title { color: var(--bxm-ink); }
.bxm-sec--cream .bxm-acc, .bxm-panel .bxm-acc, .bxm-card .bxm-acc { color: var(--bxm-orange-ink); }
.bxm-lead { font-size: clamp(1.08rem, 1.3vw, 1.22rem); line-height: 1.6; color: var(--bxm-cream); max-width: 38em; }
.bxm-body { font-size: 1.08rem; line-height: 1.7; color: var(--bxm-cream); max-width: 40em; }
.bxm-body strong { font-weight: 700; color: #fff; }
.bxm-small { font-size: .95rem; line-height: 1.6; color: var(--bxm-muted-d); }
.bxm-sec--cream .bxm-lead, .bxm-sec--cream .bxm-body, .bxm-panel .bxm-body, .bxm-card .bxm-body { color: var(--bxm-text); }
.bxm-sec--cream .bxm-body strong, .bxm-panel .bxm-body strong, .bxm-card .bxm-body strong { color: var(--bxm-ink); }
.bxm-sec--cream .bxm-small, .bxm-panel .bxm-small, .bxm-card .bxm-small { color: var(--bxm-muted); }
.bxm-body a, .bxm-small a, .bxm-lead a { color: var(--bxm-orange-hi); text-decoration: underline; text-underline-offset: 3px; }
.bxm-sec--cream .bxm-body a, .bxm-sec--cream .bxm-small a, .bxm-panel a, .bxm-card .bxm-small a, .bxm-card .bxm-body a { color: var(--bxm-orange-ink); }

/* Yläotsikko: vino oranssi viiva (logon kulma) + pieni teksti */
.bxm-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 12px; font-family: var(--bxm-display); font-size: 1.3rem; font-weight: 500; line-height: 1; letter-spacing: .06em; text-transform: uppercase; color: var(--bxm-cream); padding-top: 3px; }
.bxm-eyebrow .elementor-heading-title::before { content: ""; width: 12px; height: 22px; background: var(--bxm-orange); clip-path: var(--bxm-slash); flex: none; margin-top: -3px; }
.bxm-sec--cream .bxm-eyebrow .elementor-heading-title, .bxm-panel .bxm-eyebrow .elementor-heading-title, .bxm-card .bxm-eyebrow .elementor-heading-title { color: var(--bxm-ink); }
.bxm-eyebrow--caps .elementor-heading-title { color: var(--bxm-orange); font-size: 1.45rem; }

/* ---------- Napit (Teko, kuten vanhalla sivulla) ---------- */
.bxm-btn .elementor-button, .bxm-btn-ghost .elementor-button, .bxm-btn-dark .elementor-button {
  position: relative; font-family: var(--bxm-display); font-weight: 600; font-size: 1.4rem; line-height: 1; letter-spacing: .05em; text-transform: uppercase;
  padding: 17px 28px 13px; border-radius: 0; background: var(--bxm-orange); color: #fff; fill: #fff; min-height: 56px;
  display: inline-flex; align-items: center; transition: background-color .2s ease, color .2s ease;
}
.bxm-btn .elementor-button:hover, .bxm-btn .elementor-button:focus-visible { background: #fff; color: var(--bxm-ink); }
.bxm-btn .elementor-button::before, .bxm-btn-ghost .elementor-button::before, .bxm-btn-dark .elementor-button::before {
  content: ""; position: absolute; inset: -7px; border: 1px solid rgba(238, 234, 223, .75); pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0 30%, transparent 30% 70%, #000 70% 100%);
  mask-image: linear-gradient(to bottom, #000 0 30%, transparent 30% 70%, #000 70% 100%); transition: inset .2s ease;
}
.bxm-btn .elementor-button:hover::before, .bxm-btn-ghost .elementor-button:hover::before { inset: -4px; }
.bxm-sec--cream .bxm-btn .elementor-button::before, .bxm-panel .bxm-btn .elementor-button::before, .bxm-card .bxm-btn .elementor-button::before, .bxm-sec--cream .bxm-btn-ghost .elementor-button::before { border-color: var(--bxm-ink); }
.bxm-sec--cream .bxm-btn .elementor-button:hover, .bxm-card .bxm-btn .elementor-button:hover, .bxm-panel .bxm-btn .elementor-button:hover { background: var(--bxm-ink); color: #fff; }
.bxm-btn-ghost .elementor-button { background: transparent; color: var(--bxm-cream); box-shadow: inset 0 0 0 2px var(--bxm-cream); }
.bxm-btn-ghost .elementor-button:hover { background: var(--bxm-cream); color: var(--bxm-ink); }
.bxm-sec--cream .bxm-btn-ghost .elementor-button, .bxm-card .bxm-btn-ghost .elementor-button { color: var(--bxm-ink); box-shadow: inset 0 0 0 2px var(--bxm-ink); }
.bxm-sec--cream .bxm-btn-ghost .elementor-button:hover, .bxm-card .bxm-btn-ghost .elementor-button:hover { background: var(--bxm-ink); color: var(--bxm-cream); }
.bxm-btn-dark .elementor-button { background: var(--bxm-ink); }
.bxm-btn--sm .elementor-button { font-size: 1.2rem; padding: 12px 18px 9px; min-height: 44px; }
.bxm-btn--sm .elementor-button::before { inset: -5px; }
.bxm-btn--block, .bxm-btn--block .elementor-button { width: 100%; justify-content: center; }
.bxm-textlink .elementor-button { background: none; padding: 16px 2px 10px; color: var(--bxm-cream); font-family: var(--bxm-display); font-weight: 600; font-size: 1.35rem; letter-spacing: .05em; text-transform: uppercase; border-radius: 0; border-bottom: 2px solid var(--bxm-orange); min-height: 0; line-height: 1; }
.bxm-textlink .elementor-button:hover { color: var(--bxm-orange-hi); background: none; }
.bxm-sec--cream .bxm-textlink .elementor-button, .bxm-card .bxm-textlink .elementor-button { color: var(--bxm-ink); }
.bxm-sec--cream .bxm-textlink .elementor-button:hover, .bxm-card .bxm-textlink .elementor-button:hover { color: var(--bxm-orange-ink); }
.e-con.bxm-actions { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 22px 28px; --padding-top: 10px; }
@media (max-width: 767px) {
  .e-con.bxm-actions { gap: 18px; }
  .bxm-actions .elementor-widget-button:not(.bxm-textlink), .bxm-actions .elementor-widget-button:not(.bxm-textlink) .elementor-button { width: 100%; justify-content: center; }
}

/* ---------- Hero ---------- */
.e-con.bxm-hero { position: relative; background-color: var(--bxm-ink); color: var(--bxm-cream); overflow: hidden;
  --padding-top: calc(var(--bxm-header-h) + clamp(44px, 6vw, 88px)); --padding-bottom: clamp(56px, 7vw, 96px); --padding-left: 24px; --padding-right: 24px;
  background-size: cover !important; background-position: 70% center !important; }
.e-con.bxm-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: linear-gradient(90deg, var(--bxm-ink) 0%, var(--bxm-ink) 34%, rgba(38, 33, 43, .82) 56%, rgba(38, 33, 43, .45) 100%), linear-gradient(0deg, rgba(18, 16, 21, .6), rgba(18, 16, 21, 0) 40%); }
.e-con.bxm-hero > .e-con-inner { position: relative; z-index: 2; flex-direction: row; gap: clamp(32px, 5vw, 80px); align-items: flex-end; }
.e-con.bxm-hero__main { --width: 60%; gap: 20px; }
.e-con.bxm-hero__side { --width: 36%; }
@media (max-width: 1024px) {
  .e-con.bxm-hero > .e-con-inner { flex-direction: column; align-items: stretch; }
  .e-con.bxm-hero__main, .e-con.bxm-hero__side { --width: 100%; }
  .e-con.bxm-hero::after { background: linear-gradient(0deg, var(--bxm-ink) 30%, rgba(38, 33, 43, .88) 100%); }
}
@media (max-width: 767px) { .e-con.bxm-hero { --padding-left: 16px; --padding-right: 16px; --padding-top: calc(var(--bxm-header-h) + 32px); } }
.bxm-crumbs { font-size: .92rem; color: var(--bxm-muted-d); }
.bxm-crumbs a { color: var(--bxm-cream); text-decoration: none; }
.bxm-crumbs a:hover { color: var(--bxm-orange-hi); text-decoration: underline; }
.bxm-crumbs .sep { margin: 0 .55em; color: var(--bxm-orange); }

/* Hintarivi */
.bxm-pricerow ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bxm-pricerow li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px; border: 1px solid var(--bxm-line-w); font-size: 1rem; font-weight: 600; color: var(--bxm-cream); background: rgba(18, 16, 21, .55); }
.bxm-pricerow li:first-child { background: var(--bxm-orange); border-color: var(--bxm-orange); color: var(--bxm-ink); }
.bxm-pricerow li svg { width: 16px; height: 16px; fill: var(--bxm-orange); }
.bxm-sec--cream .bxm-pricerow li { color: var(--bxm-ink); border-color: var(--bxm-line); background: var(--bxm-paper); }

/* Hero-kortti: kerma, nousee heron alareunan yli (vanhan sivun lomakekortin paikka) */
.e-con.bxm-quote { background: var(--bxm-cream); color: var(--bxm-text); --padding-top: 30px; --padding-bottom: 30px; --padding-left: 30px; --padding-right: 30px; gap: 16px; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .7); position: relative; }
.e-con.bxm-quote::before { content: ""; position: absolute; top: 0; left: 30px; width: 56px; height: 6px; background: var(--bxm-orange); }
.bxm-quote__label .elementor-heading-title { font-family: var(--bxm-display); font-size: 1.35rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--bxm-muted); }
.bxm-quote__price .elementor-heading-title { font-family: var(--bxm-display); font-weight: 600; font-size: 6rem; line-height: .78; color: var(--bxm-ink); }
.bxm-quote__meta { font-size: 1rem; line-height: 1.7; color: var(--bxm-text); padding-bottom: 16px; border-bottom: 1px solid var(--bxm-line); }
.bxm-quote__meta strong { font-weight: 700; color: var(--bxm-ink); }
.bxm-quote__meta a { color: var(--bxm-orange-ink) !important; }
.bxm-trust-mini { font-size: .98rem; line-height: 1.55; color: var(--bxm-text); }
.bxm-trust-mini strong { display: flex; align-items: center; gap: 10px; font-family: var(--bxm-display); font-weight: 600; font-size: 1.5rem; line-height: 1; letter-spacing: .03em; text-transform: uppercase; color: var(--bxm-ink); margin-bottom: 8px; padding-top: 3px; }
.bxm-trust-mini strong::before { content: ""; width: 22px; height: 24px; flex: none; margin-top: -3px; background: var(--bxm-orange);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Zm-1.2 14.2-3.5-3.5 1.4-1.4 2.1 2.1 4.9-4.9 1.4 1.4-6.3 6.3Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Zm-1.2 14.2-3.5-3.5 1.4-1.4 2.1 2.1 4.9-4.9 1.4 1.4-6.3 6.3Z'/%3E%3C/svg%3E") center/contain no-repeat; }
.bxm-brandlogo img { width: 84px !important; height: 84px; object-fit: contain; background: var(--bxm-paper); border-radius: 50%; padding: 12px; box-shadow: 0 0 0 1px var(--bxm-line); }
@media (min-width: 1025px) {
  .e-con.bxm-hero--overlap { overflow: visible; z-index: 3; }
  .bxm-hero--overlap .e-con.bxm-hero__side { margin-bottom: -150px; align-self: flex-end; }
  .bxm-hero--overlap + .e-con { --padding-top: calc(var(--bxm-pad) + 70px); }
}
@media (max-width: 767px) { .bxm-hero__side .bxm-quote__price, .bxm-hero__side .bxm-quote__label { display: none; } .e-con.bxm-quote { --padding-top: 22px; --padding-bottom: 22px; --padding-left: 20px; --padding-right: 20px; } .e-con.bxm-quote::before { left: 20px; } }

/* ---------- Asettelut ---------- */
.e-con.bxm-split { flex-direction: row; gap: clamp(32px, 6vw, 96px); align-items: flex-start; }
.e-con.bxm-split > .bxm-col-a { --width: 38%; gap: 18px; }
.e-con.bxm-split > .bxm-col-b { --width: 56%; gap: 18px; }
.e-con.bxm-split--even > .bxm-col-a, .e-con.bxm-split--even > .bxm-col-b { --width: 48%; }
.e-con.bxm-split > .e-con, .e-con.bxm-hero > .e-con-inner > .e-con, .e-con.bxm-footer__grid > .e-con, .e-con.bxm-header > .e-con { flex-shrink: 1; min-width: 0; }
@media (min-width: 1025px) { .e-con.bxm-split > .bxm-col-a.bxm-sticky { position: sticky; top: calc(var(--bxm-header-h) + 24px); } }
@media (max-width: 1024px) { .e-con.bxm-split { flex-direction: column; } .e-con.bxm-split > .bxm-col-a, .e-con.bxm-split > .bxm-col-b { --width: 100%; } }
.e-con.bxm-stack { gap: 18px; }
.e-con.bxm-center { align-items: center; text-align: center; }
.e-con.bxm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.e-con.bxm-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.e-con.bxm-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.e-con.bxm-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1024px) { .e-con.bxm-grid, .e-con.bxm-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .e-con.bxm-grid--5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .e-con.bxm-grid, .e-con.bxm-grid--2, .e-con.bxm-grid--4 { grid-template-columns: 1fr; gap: 16px; } .e-con.bxm-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
.e-con.bxm-grid > .e-con { --width: auto; width: auto; }

/* Kermapaneeli tummalla (vanhan sivun kermalaatikot) */
.e-con.bxm-panel { background: var(--bxm-cream); color: var(--bxm-text); --padding-top: clamp(28px, 3vw, 40px); --padding-bottom: clamp(24px, 3vw, 40px); --padding-left: clamp(22px, 3vw, 40px); --padding-right: clamp(22px, 3vw, 40px); gap: 18px; position: relative; }
.e-con.bxm-panel::before { content: ""; position: absolute; top: 0; left: clamp(22px, 3vw, 40px); width: 56px; height: 6px; background: var(--bxm-orange); }
.bxm-panel__title .elementor-heading-title { font-family: var(--bxm-display); font-weight: 600; font-size: 1.9rem; line-height: 1; text-transform: uppercase; color: var(--bxm-ink); padding-top: 4px; }
.e-con.bxm-card { background: var(--bxm-cream); color: var(--bxm-text); --padding-top: 28px; --padding-bottom: 28px; --padding-left: 28px; --padding-right: 28px; gap: 14px; }

/* Oranssi kuvake-ympyrä (vanhan sivun palvelukuvakkeet) */
.bxm-ico .elementor-icon { background: var(--bxm-orange) !important; color: var(--bxm-ink) !important; fill: var(--bxm-ink) !important; font-size: 28px; padding: 18px; }
.bxm-ico .elementor-icon svg { fill: var(--bxm-ink); width: 1em; height: 1em; }

/* ---------- Palvelukortti ---------- */
.e-con.bxm-svc { position: relative; background: var(--bxm-ink-2); border: 1px solid var(--bxm-line-w); color: var(--bxm-cream);
  --padding-top: 28px; --padding-bottom: 24px; --padding-left: 28px; --padding-right: 28px; gap: 16px; justify-content: space-between; transition: border-color .2s, transform .2s, background-color .2s; }
.e-con.bxm-svc:hover { border-color: var(--bxm-orange); transform: translateY(-3px); background: #221D27; }
.e-con.bxm-svc__top { flex-direction: row; align-items: center; gap: 18px; }
.bxm-num .elementor-heading-title { display: inline-block; background: var(--bxm-orange); color: var(--bxm-ink) !important; font-family: var(--bxm-display); font-size: 1.2rem; font-weight: 600; line-height: 1; padding: 6px 6px 3px; }
.bxm-svc__name .elementor-heading-title { font-family: var(--bxm-display); font-size: 2.1rem; font-weight: 600; line-height: .95; text-transform: uppercase; color: var(--bxm-orange); padding-top: 4px; }
.bxm-svc__name .elementor-heading-title a { color: inherit; text-decoration: none; }
.bxm-svc__name .elementor-heading-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bxm-svc__desc { font-size: 1.02rem; line-height: 1.55; color: var(--bxm-cream); }
.e-con.bxm-svc__foot { flex-direction: row; justify-content: space-between; align-items: flex-end; border-top: 1px solid var(--bxm-line-w); --padding-top: 16px; gap: 12px; }
.bxm-svc__price .elementor-heading-title { font-family: var(--bxm-display); font-size: 2.6rem; font-weight: 600; line-height: .8; color: var(--bxm-cream); }
.bxm-svc__price .elementor-heading-title small { font-family: var(--bxm-body); font-size: .9rem; font-weight: 600; color: var(--bxm-muted-d); margin-right: 6px; letter-spacing: 0; }
.bxm-svc__go { position: relative; z-index: 2; }
.bxm-svc__go .elementor-heading-title { font-family: var(--bxm-display); font-size: 1.35rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.bxm-svc__go .elementor-heading-title a { color: var(--bxm-cream); text-decoration: none; border-bottom: 2px solid var(--bxm-orange); padding: 8px 0 2px; display: inline-block; }
.bxm-svc__go .elementor-heading-title a:hover { color: var(--bxm-orange-hi); }
.e-con.bxm-svc:focus-within { outline: 3px solid var(--bxm-orange); outline-offset: 3px; }
@media (max-width: 767px) { .e-con.bxm-svc { --padding-top: 20px; --padding-bottom: 18px; --padding-left: 20px; --padding-right: 20px; } .bxm-svc__name .elementor-heading-title { font-size: 1.8rem; } }

/* ---------- Tarkistuslista ---------- */
.bxm-check .elementor-icon-list-items { display: grid; gap: 0; }
.bxm-check .elementor-icon-list-item { padding: 14px 0 !important; margin: 0 !important; border-bottom: 1px solid var(--bxm-line-w); align-items: flex-start !important; }
.bxm-check .elementor-icon-list-item:first-child { border-top: 1px solid var(--bxm-line-w); }
.bxm-check .elementor-icon-list-icon { width: 24px; height: 24px; background: var(--bxm-orange); display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; flex: none; }
.bxm-check .elementor-icon-list-icon svg { width: 12px !important; height: 12px !important; fill: var(--bxm-ink) !important; }
.bxm-check .elementor-icon-list-text { font-size: 1.07rem; line-height: 1.5; color: var(--bxm-cream); padding-left: 14px !important; font-weight: 500; }
.bxm-panel .bxm-check .elementor-icon-list-item, .bxm-sec--cream .bxm-check .elementor-icon-list-item { border-color: var(--bxm-line); }
.bxm-panel .bxm-check .elementor-icon-list-text, .bxm-sec--cream .bxm-check .elementor-icon-list-text, .bxm-card .bxm-check .elementor-icon-list-text { color: var(--bxm-text); }
.bxm-check--warn .elementor-icon-list-icon { background: var(--bxm-ink); }
.bxm-check--warn .elementor-icon-list-icon svg { fill: var(--bxm-orange) !important; }
.bxm-sec:not(.bxm-sec--cream) .bxm-check--warn:not(.bxm-panel *) .elementor-icon-list-icon { background: var(--bxm-orange); }
.bxm-sec:not(.bxm-sec--cream) .bxm-check--warn:not(.bxm-panel *) .elementor-icon-list-icon svg { fill: var(--bxm-ink) !important; }

/* Huomio */
.e-con.bxm-note { background: var(--bxm-ink-2); border: 1px solid var(--bxm-line-w); --padding-top: 22px; --padding-bottom: 22px; --padding-left: 24px; --padding-right: 24px; gap: 8px; }
.bxm-panel .e-con.bxm-note, .bxm-sec--cream .e-con.bxm-note { background: var(--bxm-paper); border-color: var(--bxm-line); }
.bxm-panel .bxm-note .bxm-body, .bxm-sec--cream .bxm-note .bxm-body { color: var(--bxm-text); }
.e-con.bxm-note--alert { background: var(--bxm-orange) !important; border-color: var(--bxm-orange) !important; }
.bxm-note--alert .bxm-body, .bxm-note--alert .elementor-heading-title { color: var(--bxm-ink) !important; }
.bxm-note__title .elementor-heading-title { font-family: var(--bxm-body); font-weight: 700; font-size: 1.1rem; color: var(--bxm-cream); display: flex; gap: 10px; align-items: center; }
.bxm-panel .bxm-note__title .elementor-heading-title, .bxm-sec--cream .bxm-note__title .elementor-heading-title { color: var(--bxm-ink); }
.bxm-note__title .elementor-heading-title::before { content: "!"; width: 24px; height: 24px; border-radius: 50%; background: var(--bxm-orange); color: var(--bxm-ink); font-size: .85rem; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.bxm-note--alert .bxm-note__title .elementor-heading-title::before { background: var(--bxm-ink); color: var(--bxm-orange); }

/* ---------- Luottamus: oranssi kaista ---------- */
.e-con.bxm-trust { background: var(--bxm-orange); color: var(--bxm-ink); flex-direction: row; gap: 28px; align-items: center; position: relative; overflow: hidden;
  --padding-top: clamp(28px, 4vw, 44px); --padding-bottom: clamp(28px, 4vw, 44px); --padding-left: clamp(24px, 4vw, 48px); --padding-right: clamp(24px, 4vw, 48px); }
.e-con.bxm-trust::after { content: ""; position: absolute; right: -40px; top: 0; bottom: 0; width: 180px; background: var(--bxm-ink); clip-path: var(--bxm-slash); opacity: .14; }
.bxm-trust__icon svg { width: 64px; height: 64px; display: block; }
.bxm-trust__icon svg path:first-child { fill: var(--bxm-ink); }
.bxm-trust__icon svg path:last-child { fill: var(--bxm-orange); }
.bxm-trust__text { font-size: 1.12rem; line-height: 1.6; color: var(--bxm-ink); max-width: 48em; font-weight: 500; position: relative; z-index: 1; }
.bxm-trust__text strong { display: block; font-family: var(--bxm-display); font-weight: 600; text-transform: uppercase; font-size: clamp(2rem, 3vw, 2.6rem); line-height: .95; color: var(--bxm-ink); margin-bottom: 8px; }
@media (max-width: 767px) { .e-con.bxm-trust { flex-direction: column; align-items: flex-start; gap: 14px; } .bxm-trust__icon svg { width: 48px; height: 48px; } }

/* ---------- Varauksen askeleet ---------- */
.e-con.bxm-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--bxm-line-w); }
.e-con.bxm-step { --padding-top: 26px; --padding-bottom: 8px; --padding-right: 28px; --padding-left: 0; gap: 12px; --width: auto; width: auto; }
.e-con.bxm-step + .e-con.bxm-step { border-left: 1px solid var(--bxm-line-w); --padding-left: 28px; }
.bxm-step__n .elementor-heading-title { font-family: var(--bxm-display); font-size: 4rem; line-height: .8; color: var(--bxm-orange); font-weight: 600; }
.bxm-step__t { font-size: 1.1rem; line-height: 1.5; color: var(--bxm-cream); font-weight: 500; }
@media (max-width: 767px) { .e-con.bxm-steps { grid-template-columns: 1fr; } .e-con.bxm-step { --padding-top: 18px; --padding-bottom: 18px; --padding-right: 0; flex-direction: row; align-items: center; gap: 18px; }
  .e-con.bxm-step + .e-con.bxm-step { border-left: 0; border-top: 1px solid var(--bxm-line-w); --padding-left: 0; } .bxm-step__n .elementor-heading-title { font-size: 3rem; } }
/* Loppukaista: musta + vino oranssi kolmio vasemmalla (vanhan sivun "Turvallisen matkan alku") */
.e-con.bxm-final { background: var(--bxm-black); position: relative; overflow: hidden; }
.e-con.bxm-final::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: clamp(90px, 16vw, 260px); background: var(--bxm-orange); clip-path: polygon(0 0, 100% 0, 0 100%); pointer-events: none; }
.e-con.bxm-final > .e-con-inner { position: relative; z-index: 1; }
@media (max-width: 767px) { .e-con.bxm-final::before { width: 60px; height: 100px; bottom: auto; } }

/* ---------- UKK (kermalla) ---------- */
.bxm-faq .elementor-accordion { border-top: 2px solid var(--bxm-ink); }
.bxm-faq .elementor-accordion-item { border: 0 !important; border-bottom: 1px solid var(--bxm-line) !important; }
.bxm-faq .elementor-tab-title { padding: 22px 0 !important; display: flex; align-items: center; gap: 16px; flex-direction: row-reverse; justify-content: space-between; cursor: pointer; }
.bxm-faq .elementor-tab-title .elementor-accordion-title { font-family: var(--bxm-body); font-weight: 700; font-size: 1.14rem; line-height: 1.35; color: var(--bxm-ink) !important; text-decoration: none; }
.bxm-faq .elementor-tab-title:hover .elementor-accordion-title, .bxm-faq .elementor-tab-title.elementor-active .elementor-accordion-title { color: var(--bxm-orange-ink) !important; }
.bxm-faq .elementor-accordion-icon { flex: none; width: 34px; height: 34px; background: var(--bxm-ink); display: inline-flex !important; align-items: center; justify-content: center; float: none !important; }
.bxm-faq .elementor-accordion-icon svg { width: 12px; height: 12px; fill: var(--bxm-cream); }
.bxm-faq .elementor-tab-title.elementor-active .elementor-accordion-icon { background: var(--bxm-orange); }
.bxm-faq .elementor-tab-title.elementor-active .elementor-accordion-icon svg { fill: var(--bxm-ink); }
.bxm-faq .elementor-tab-content { border: 0 !important; padding: 0 50px 24px 0 !important; font-size: 1.06rem; line-height: 1.7; color: var(--bxm-text); }
.bxm-faq .elementor-tab-content a { color: var(--bxm-orange-ink); }

/* ---------- Hinnasto (kermalla) ---------- */
.e-con.bxm-ptable { gap: 0; border-top: 3px solid var(--bxm-ink); }
.e-con.bxm-prow { display: grid; grid-template-columns: 56px minmax(0, 1.2fr) minmax(0, 1.6fr) 100px 130px 130px; align-items: center; gap: 22px;
  border-bottom: 1px solid var(--bxm-line); --padding-top: 18px; --padding-bottom: 18px; }
.e-con.bxm-prow > * { --width: auto; width: auto; min-width: 0; }
.e-con.bxm-prow--head { --padding-top: 12px; --padding-bottom: 12px; }
.bxm-prow--head .elementor-heading-title { font-family: var(--bxm-display); font-size: 1.15rem !important; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--bxm-muted) !important; }
.bxm-prow .bxm-ico .elementor-icon { font-size: 20px; padding: 13px; }
.bxm-prow__name .elementor-heading-title { font-family: var(--bxm-display); font-weight: 600; font-size: 1.75rem; line-height: 1; text-transform: uppercase; padding-top: 3px; }
.bxm-prow__name .elementor-heading-title a { color: var(--bxm-ink); text-decoration: none; }
.bxm-prow__name .elementor-heading-title a:hover { color: var(--bxm-orange-ink); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.bxm-prow__desc { font-size: 1rem; line-height: 1.5; color: var(--bxm-muted); }
.bxm-prow__dur .elementor-heading-title { font-family: var(--bxm-body); font-size: 1rem; font-weight: 600; color: var(--bxm-text); white-space: nowrap; }
.bxm-prow__price .elementor-heading-title { font-family: var(--bxm-display); font-size: 2.5rem; font-weight: 600; line-height: .85; color: var(--bxm-ink); white-space: nowrap; }
.bxm-prow__price .elementor-heading-title small { font-family: var(--bxm-body); font-size: .88rem; font-weight: 600; color: var(--bxm-muted); margin-right: 5px; }
.bxm-prow .bxm-btn { justify-self: end; }
@media (max-width: 1024px) {
  .e-con.bxm-prow { grid-template-columns: 46px minmax(0, 1fr) auto; grid-template-areas: "ico name price" "ico desc desc" "ico dur btn"; gap: 6px 16px; align-items: start; }
  .e-con.bxm-prow--head { display: none; }
  .bxm-prow .bxm-ico { grid-area: ico; } .bxm-prow__name { grid-area: name; } .bxm-prow__desc { grid-area: desc; } .bxm-prow__dur { grid-area: dur; align-self: center; } .bxm-prow__price { grid-area: price; justify-self: end; } .bxm-prow .bxm-btn { grid-area: btn; }
  .bxm-prow__dur .elementor-heading-title::before { content: "Kesto "; color: var(--bxm-muted); font-weight: 500; }
  .bxm-prow .bxm-ico .elementor-icon { font-size: 16px; padding: 11px; }
}

/* ---------- Automerkit (tummat tiilet, kuten vanhalla sivulla) ---------- */
a.e-con.bxm-brand { position: relative; background-color: var(--bxm-ink-2); border: 1px solid var(--bxm-line-w); min-height: 128px; text-decoration: none; overflow: hidden;
  --padding-top: 20px; --padding-bottom: 18px; --padding-left: 22px; --padding-right: 22px; justify-content: space-between; gap: 10px; transition: border-color .2s, background-color .2s; }
a.e-con.bxm-brand:hover { border-color: var(--bxm-orange); background: #221D27; }
.bxm-brand__name .elementor-heading-title { font-family: var(--bxm-display); font-size: 1.9rem; font-weight: 600; text-transform: uppercase; color: var(--bxm-cream) !important; line-height: .95; padding-top: 3px; }
.bxm-brand__more .elementor-heading-title { font-family: var(--bxm-display); font-size: 1.2rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--bxm-orange) !important; }
.bxm-brand__logo { position: absolute !important; right: -8px; bottom: -10px; width: 84px !important; opacity: .16; pointer-events: none; }
.bxm-brand__logo img { width: 84px; height: 84px; object-fit: contain; filter: grayscale(1) brightness(3); }
a.e-con.bxm-brand:hover .bxm-brand__logo { opacity: .32; }
@media (max-width: 767px) { a.e-con.bxm-brand { min-height: 100px; --padding-left: 16px; --padding-right: 16px; } .bxm-brand__name .elementor-heading-title { font-size: 1.55rem; } }

/* Palvelulinkit (merkkisivut, "sopii yhdistää") */
.e-con.bxm-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--bxm-line-w); }
.e-con.bxm-links--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
a.e-con.bxm-link { flex-direction: row; justify-content: space-between; align-items: center; gap: 12px; text-decoration: none; color: var(--bxm-cream);
  border-bottom: 1px solid var(--bxm-line-w); --padding-top: 18px; --padding-bottom: 16px; --padding-left: 4px; --padding-right: 20px; --width: auto; width: auto; transition: background-color .2s; }
a.e-con.bxm-link:hover { background: rgba(243, 92, 35, .1); }
.bxm-link__name .elementor-heading-title { font-family: var(--bxm-display); font-weight: 600; font-size: 1.6rem; line-height: 1; text-transform: uppercase; color: var(--bxm-cream) !important; padding-top: 3px; }
a.e-con.bxm-link:hover .bxm-link__name .elementor-heading-title { color: var(--bxm-orange) !important; }
.bxm-link__meta .elementor-heading-title { font-family: var(--bxm-body); font-size: .92rem; color: var(--bxm-muted-d) !important; white-space: nowrap; font-weight: 600; }
.bxm-link__meta .elementor-heading-title b { font-family: var(--bxm-display); font-weight: 600; font-size: 1.9rem; line-height: .8; color: var(--bxm-cream); margin-left: 4px; }
@media (min-width: 768px) { .e-con.bxm-links--2 > a.e-con.bxm-link:nth-child(even) { border-left: 1px solid var(--bxm-line-w); --padding-left: 20px; } }
@media (min-width: 1025px) { .e-con.bxm-links:not(.bxm-links--2) > a.e-con.bxm-link:not(:nth-child(3n+1)) { border-left: 1px solid var(--bxm-line-w); --padding-left: 20px; } }
@media (max-width: 1024px) { .e-con.bxm-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .e-con.bxm-links, .e-con.bxm-links--2 { grid-template-columns: 1fr; } }

/* ---------- Loppu-CTA ---------- */
.e-con.bxm-cta { background: var(--bxm-black); color: var(--bxm-cream); --padding-top: clamp(56px, 7vw, 96px); --padding-bottom: clamp(56px, 7vw, 96px); --padding-left: 24px; --padding-right: 24px; position: relative; overflow: hidden; }
.e-con.bxm-cta::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: clamp(90px, 16vw, 260px); background: var(--bxm-orange); clip-path: polygon(0 0, 100% 0, 0 100%); }
.e-con.bxm-cta > .e-con-inner { flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; position: relative; z-index: 1; }
.bxm-cta__title .elementor-heading-title { font-family: var(--bxm-display); font-weight: 600; text-transform: uppercase; font-size: clamp(2.3rem, 4vw, 3.6rem); line-height: .95; color: var(--bxm-cream); max-width: 18em; }
.bxm-cta__sub { font-size: 1.02rem; color: var(--bxm-muted-d); margin-top: 10px; }
.bxm-cta__sub a { color: var(--bxm-cream); }
@media (max-width: 767px) { .e-con.bxm-cta > .e-con-inner { flex-direction: column; align-items: stretch; } .e-con.bxm-cta { --padding-left: 16px; --padding-right: 16px; } .bxm-cta .bxm-btn, .bxm-cta .bxm-btn .elementor-button { width: 100%; justify-content: center; } .e-con.bxm-cta::before { width: 60px; height: 100px; bottom: auto; } }

/* ---------- Kuva oranssilla vinokehyksellä (vanhan etusivun kuvakehys) ---------- */
.elementor-widget-image.bxm-photo { position: relative; }
.elementor-widget-image.bxm-photo::before { content: ""; position: absolute; right: -18px; top: -18px; bottom: 18px; left: 25%; background: var(--bxm-orange); clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%); z-index: 0; }
.bxm-photo img { position: relative; z-index: 1; width: 100% !important; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
@media (max-width: 767px) { .elementor-widget-image.bxm-photo::before { right: -10px; top: -10px; bottom: 10px; } .elementor-widget-image.bxm-photo { margin-right: 10px; } }

/* ---------- Yhteystiedot ---------- */
.bxm-contact dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 12px 24px; font-size: 1.06rem; }
.bxm-contact dt { color: var(--bxm-muted-d); font-weight: 500; }
.bxm-contact dd { margin: 0; color: var(--bxm-cream); font-weight: 700; }
.bxm-contact a { color: var(--bxm-cream); text-decoration: underline; text-decoration-color: var(--bxm-orange); text-underline-offset: 4px; }
.bxm-contact a:hover { color: var(--bxm-orange-hi); }
.bxm-sec--cream .bxm-contact dt { color: var(--bxm-muted); }
.bxm-sec--cream .bxm-contact dd, .bxm-sec--cream .bxm-contact a { color: var(--bxm-ink); }
.bxm-map iframe { filter: grayscale(1) contrast(1.05); display: block; }
.bxm-stepnum .elementor-heading-title { font-family: var(--bxm-display); font-size: 4rem; line-height: .8; color: var(--bxm-orange); font-weight: 600; }
.bxm-sec--cream .bxm-stepnum .elementor-heading-title { color: var(--bxm-orange-ink); }

/* ---------- Lomake (kermakentät, kuten vanhalla sivulla) ---------- */
.bxm-form .elementor-field-group { margin-bottom: 18px; }
.bxm-form .elementor-field-label { font-family: var(--bxm-body); font-weight: 700; font-size: .98rem; color: var(--bxm-ink); margin-bottom: 6px; }
.bxm-form .elementor-field-textual, .bxm-form input[type=file] { background: var(--bxm-paper) !important; border: 1px solid rgba(38, 33, 43, .5) !important; border-radius: 0 !important; font-family: var(--bxm-body); font-size: 1.04rem !important; color: var(--bxm-text) !important; padding: 14px !important; min-height: 52px; }
.bxm-form .elementor-field-textual::placeholder { color: #6B6670; }
.bxm-form .elementor-field-textual:focus { outline: 3px solid var(--bxm-orange); outline-offset: 0; border-color: var(--bxm-ink) !important; }
.bxm-form textarea.elementor-field-textual { min-height: 150px; }
.bxm-form .elementor-mark-required .elementor-field-label::after { color: var(--bxm-orange-ink); }
.bxm-form .elementor-button { background: var(--bxm-orange) !important; color: #fff !important; font-family: var(--bxm-display); font-weight: 600; font-size: 1.45rem; letter-spacing: .05em; text-transform: uppercase; border-radius: 0; padding: 17px 26px 13px; min-height: 58px; }
.bxm-form .elementor-button:hover { background: var(--bxm-ink) !important; }
.bxm-form .elementor-message-success { background: var(--bxm-ink); color: var(--bxm-cream); padding: 16px 18px; }
.bxm-form .elementor-message-danger { color: #9B1C1C; }

/* ---------- Header ---------- */
.e-con.bxm-header { position: fixed !important; top: 0; left: 0; right: 0; z-index: 999; min-height: var(--bxm-header-h); background: rgba(28, 24, 32, .72); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: background-color .3s ease, box-shadow .3s ease; flex-direction: row; align-items: stretch; }
body.admin-bar .e-con.bxm-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .e-con.bxm-header { top: 46px; } }
.e-con.bxm-header.is-scrolled { background: var(--bxm-ink); box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .8); }
.e-con.bxm-header > .e-con { border-right: 1px solid var(--bxm-line-w); border-bottom: 1px solid var(--bxm-line-w); align-items: center; justify-content: center; }
.e-con.bxm-h-logo { --width: 14%; --padding-left: 16px; --padding-right: 16px; }
.bxm-h-logo img { width: 178px; max-width: 100%; height: auto; }
.e-con.bxm-h-nav { --width: 50%; --padding-left: 22px; align-items: flex-start !important; }
.e-con.bxm-h-info { --width: 18%; --padding-left: 18px; --padding-right: 16px; }
.e-con.bxm-h-cta { --width: 18%; background: var(--bxm-orange); clip-path: polygon(24px 0, 100% 0, 100% 100%, 0 100%); border: 0 !important; --padding-left: 30px; --padding-right: 16px; transition: background-color .2s; }
.e-con.bxm-h-cta:hover { background: #fff; }
.bxm-h-info, .bxm-h-info .elementor-widget-container { color: var(--bxm-cream); font-size: .92rem; line-height: 1.35; }
.bxm-h-info .lbl { display: block; font-family: var(--bxm-display); font-size: 1.1rem; letter-spacing: .06em; text-transform: uppercase; color: var(--bxm-muted-d); line-height: 1.1; }
.bxm-h-info a { color: var(--bxm-cream); text-decoration: none; font-weight: 700; font-size: 1.12rem; }
.bxm-h-info a:hover { color: var(--bxm-orange-hi); }
.bxm-h-info .dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #3DDC84; margin-right: 6px; vertical-align: 2px; }
.bxm-h-cta .elementor-button { background: transparent !important; color: var(--bxm-ink) !important; font-family: var(--bxm-display); font-weight: 600; font-size: 1.65rem; letter-spacing: .05em; text-transform: uppercase; padding: 12px 6px 7px; line-height: 1; min-height: 0; }
.bxm-h-cta .elementor-button::before { display: none; }
/* Päävalikko: Teko isoin kirjaimin, kuten vanhalla sivulla */
.bxm-nav .elementor-nav-menu--main .elementor-item { font-family: var(--bxm-display); font-size: 1.4rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: var(--bxm-cream) !important; padding: 12px 14px 8px !important; }
.bxm-nav .elementor-nav-menu--main .elementor-item:hover, .bxm-nav .elementor-nav-menu--main .elementor-item.highlighted, .bxm-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--bxm-orange) !important; }
.bxm-nav .elementor-nav-menu--main .elementor-item::after { background-color: var(--bxm-orange) !important; height: 3px !important; }
.bxm-nav .elementor-nav-menu--dropdown { background: var(--bxm-cream) !important; border-top: 4px solid var(--bxm-orange); box-shadow: 0 24px 48px -20px rgba(0, 0, 0, .7); padding: 8px 0; min-width: 310px !important; }
.bxm-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown a { font-family: var(--bxm-body); font-size: 1.02rem; font-weight: 600; color: var(--bxm-ink) !important; padding: 11px 20px !important; background: none !important; display: flex; justify-content: space-between; gap: 18px; border: 0 !important; text-transform: none; letter-spacing: 0; }
.bxm-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown a:hover { color: var(--bxm-orange-ink) !important; background: var(--bxm-paper) !important; }
.bxm-nav .bxm-mprice { color: var(--bxm-muted); font-size: .9rem; font-weight: 600; white-space: nowrap; }
.bxm-nav .elementor-nav-menu--main .menu-item.bxm-brands > .sub-menu { display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 520px !important; }
@media (min-width: 1025px) {
  .bxm-nav .elementor-nav-menu--main .sub-menu { top: 100%; left: 0; }
}
/* Mobiilivalikko */
.bxm-nav .elementor-menu-toggle { background: var(--bxm-orange) !important; color: var(--bxm-ink) !important; font-size: 24px; padding: 10px; border-radius: 0; }
.bxm-nav .elementor-menu-toggle svg { fill: var(--bxm-ink) !important; }
.bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { background: var(--bxm-ink) !important; max-height: calc(100vh - var(--bxm-header-h)); overflow-y: auto !important; border-top: 4px solid var(--bxm-orange); }
.bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container a { color: var(--bxm-cream) !important; font-family: var(--bxm-display); font-size: 1.6rem; letter-spacing: .05em; text-transform: uppercase; padding: 14px 20px 10px !important; border-bottom: 1px solid var(--bxm-line-w); background: none !important; justify-content: space-between; }
.bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu a { font-family: var(--bxm-body); font-size: 1.05rem; text-transform: none; letter-spacing: 0; padding: 13px 20px 13px 32px !important; color: var(--bxm-cream) !important; font-weight: 600; }
.bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .bxm-mprice { color: var(--bxm-muted-d); }
@media (max-width: 1024px) {
  .e-con.bxm-header { flex-wrap: nowrap; background: var(--bxm-ink); }
  .e-con.bxm-h-logo { --width: auto; flex: 1 1 auto; align-items: flex-start !important; border-right: 0 !important; }
  .bxm-h-logo img { width: 140px; }
  .e-con.bxm-h-nav { --width: auto; flex: none; --padding-left: 10px; --padding-right: 14px; border-right: 0 !important; align-items: flex-end !important; order: 3; }
  .e-con.bxm-h-info { display: none !important; }
  .e-con.bxm-h-cta { --width: auto; flex: none; }
}
@media (max-width: 767px) { .e-con.bxm-h-cta { display: none !important; } }

/* ---------- Mobiilin alapalkki ---------- */
.bxm-mbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 998; display: none; grid-template-columns: 1fr 76px; background: var(--bxm-ink); box-shadow: 0 -8px 24px -12px rgba(0, 0, 0, .6); padding-bottom: env(safe-area-inset-bottom); }
.bxm-mbar a { display: flex; align-items: center; justify-content: center; min-height: 62px; text-decoration: none; font-family: var(--bxm-display); font-weight: 600; font-size: 1.6rem; letter-spacing: .05em; text-transform: uppercase; padding-top: 4px; }
.bxm-mbar__book { background: var(--bxm-orange); color: #fff !important; gap: 8px; }
.bxm-mbar__tel { color: var(--bxm-cream) !important; border-left: 1px solid var(--bxm-line-w); }
.bxm-mbar__tel svg { width: 26px; height: 26px; fill: var(--bxm-orange); }
@media (max-width: 767px) { .bxm-mbar { display: grid; } body { padding-bottom: calc(62px + env(safe-area-inset-bottom)); } }
body:has(.bxm-mbar--page) .bxm-mbar--global { display: none !important; }

/* ---------- Footer (tumma, kuten vanhalla sivulla) ---------- */
.e-con.bxm-footer { background: var(--bxm-black); color: var(--bxm-cream); --padding-left: 24px; --padding-right: 24px; position: relative; border-top: 6px solid var(--bxm-orange); }
.e-con.bxm-footer__grid { flex-direction: row; gap: 0; border-bottom: 1px solid var(--bxm-line-w); }
.e-con.bxm-footer__grid > .e-con { --padding-top: 72px; --padding-bottom: 64px; gap: 18px; }
.e-con.bxm-f-brand { --width: 32%; --padding-right: 48px; border-right: 1px solid var(--bxm-line-w); }
.e-con.bxm-f-svc { --width: 32%; --padding-left: 48px; --padding-right: 32px; border-right: 1px solid var(--bxm-line-w); }
.e-con.bxm-f-brands { --width: 36%; --padding-left: 48px; }
.elementor-widget-image.bxm-f-logo, .elementor-widget-image.bxm-h-logo { text-align: left; }
.bxm-f-logo img { width: 210px; height: auto; }
.bxm-f-slogan .elementor-heading-title { font-family: var(--bxm-display); font-weight: 500; font-size: 1.7rem; line-height: 1; text-transform: uppercase; color: var(--bxm-cream); padding-top: 3px; }
.bxm-f-contact { font-size: 1.02rem; line-height: 1.8; color: var(--bxm-muted-d); }
.bxm-f-contact a { color: var(--bxm-cream); font-weight: 700; text-decoration: none; }
.bxm-f-contact a:hover { color: var(--bxm-orange-hi); text-decoration: underline; }
.bxm-f-title .elementor-heading-title { font-family: var(--bxm-display); font-size: 1.8rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--bxm-cream); padding-top: 3px; }
.bxm-f-list .elementor-icon-list-item { padding: 5px 0 !important; }
.bxm-f-list .elementor-icon-list-icon { display: none !important; }
.bxm-f-list .elementor-icon-list-text { font-family: var(--bxm-body); font-size: 1.06rem; color: var(--bxm-cream); padding-left: 0 !important; transition: color .2s; }
.bxm-f-list .elementor-icon-list-text::before { content: "›"; color: var(--bxm-orange); font-weight: 800; margin-right: 10px; }
.bxm-f-list .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--bxm-orange-hi); }
.e-con.bxm-f-brandcols { flex-direction: row; gap: 32px; }
.e-con.bxm-f-brandcols > .elementor-widget { flex: 1; }
.e-con.bxm-footer__bar { flex-direction: row; justify-content: space-between; align-items: center; gap: 16px; --padding-top: 22px; --padding-bottom: 22px; flex-wrap: wrap; }
.bxm-f-legal { font-size: .92rem; color: var(--bxm-muted-d); }
.bxm-f-legal a { color: var(--bxm-cream); text-decoration: none; margin-left: 20px; }
.bxm-f-legal a:first-child { margin-left: 0; }
.bxm-f-legal a:hover { color: var(--bxm-orange-hi); text-decoration: underline; }
.bxm-footer .bxm-btn .elementor-button::before { border-color: rgba(238, 234, 223, .75); }
@media (max-width: 1024px) {
  .e-con.bxm-footer__grid { flex-wrap: wrap; }
  .e-con.bxm-f-brand { --width: 100%; border-right: 0; border-bottom: 1px solid var(--bxm-line-w); --padding-right: 0; --padding-bottom: 40px; }
  .e-con.bxm-f-svc { --width: 50%; --padding-left: 0; --padding-top: 40px; }
  .e-con.bxm-f-brands { --width: 50%; --padding-left: 32px; --padding-top: 40px; }
}
@media (max-width: 767px) {
  .e-con.bxm-footer { --padding-left: 16px; --padding-right: 16px; }
  .e-con.bxm-footer__grid { flex-direction: column; }
  .e-con.bxm-f-svc, .e-con.bxm-f-brands { --width: 100%; --padding-left: 0; border-right: 0; --padding-bottom: 32px; }
  .e-con.bxm-f-svc { border-bottom: 1px solid var(--bxm-line-w); }
  .bxm-f-legal a { display: inline-block; margin: 0 16px 8px 0; }
}

/* ---------- Etusivu ---------- */
.e-con.bxm-home-hero { --padding-top: calc(var(--bxm-header-h) + 40px) !important; --padding-left: max(24px, calc((100% - 1240px) / 2)); --padding-right: max(24px, calc((100% - 1240px) / 2)); flex-direction: row; align-items: flex-end; gap: clamp(32px, 5vw, 80px); }
.e-con.bxm-home-hero::after { background: linear-gradient(90deg, rgba(38, 33, 43, .95) 0%, rgba(38, 33, 43, .8) 42%, rgba(38, 33, 43, .3) 100%), linear-gradient(0deg, rgba(18, 16, 21, .7), rgba(18, 16, 21, 0) 45%); z-index: 1; }
.e-con.bxm-home-hero > .e-con { position: relative; z-index: 2; }
.bxm-home-hero .bxm-h1 .elementor-heading-title { font-size: clamp(3.1rem, 6.6vw, 6.2rem); }
@media (max-width: 1024px) { .e-con.bxm-home-hero { flex-direction: column; align-items: stretch; justify-content: flex-end; } .e-con.bxm-home-hero > .e-con { --width: 100%; } .e-con.bxm-home-hero::after { background: linear-gradient(0deg, var(--bxm-ink) 35%, rgba(38, 33, 43, .6) 100%); } }
@media (max-width: 767px) { .e-con.bxm-home-hero { --padding-left: 16px; --padding-right: 16px; --padding-bottom: 40px; } .bxm-home-hero .bxm-hero__side { display: none; } }
.e-con.bxm-glass { background: var(--bxm-cream); color: var(--bxm-text); --padding-top: 28px; --padding-bottom: 24px; --padding-left: 28px; --padding-right: 28px; gap: 8px; position: relative; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .8); }
.e-con.bxm-glass::before { content: ""; position: absolute; top: 0; left: 28px; width: 56px; height: 6px; background: var(--bxm-orange); }
.bxm-glass .bxm-quote__label .elementor-heading-title { color: var(--bxm-ink); font-size: 1.6rem; font-weight: 600; }
.bxm-glass__row ul { list-style: none; margin: 0; padding: 0; }
.bxm-glass__row li { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 10px 0 8px; border-bottom: 1px solid var(--bxm-line); }
.bxm-glass__row li a { color: var(--bxm-ink); text-decoration: none; font-weight: 700; font-size: 1.04rem; }
.bxm-glass__row li a:hover { color: var(--bxm-orange-ink); text-decoration: underline; }
.bxm-glass__row li span { white-space: nowrap; color: var(--bxm-ink); }
.bxm-glass__row li b { font-family: var(--bxm-display); font-weight: 600; font-size: 2rem; line-height: .8; }
.bxm-glass__row li small { font-size: .85rem; font-weight: 600; color: var(--bxm-muted); margin-right: 4px; }
.bxm-glass__all a { color: var(--bxm-ink); font-family: var(--bxm-display); font-size: 1.35rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; border-bottom: 2px solid var(--bxm-orange); padding-top: 6px; display: inline-block; }
.bxm-glass__all a:hover { color: var(--bxm-orange-ink); }
/* Kolme laatikkoa: kerma · oranssi · kerma (vanhan etusivun laatikot) */
.e-con.bxm-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.e-con.bxm-trio > .e-con { --width: auto; width: auto; --padding-top: clamp(32px, 4vw, 52px); --padding-bottom: clamp(32px, 4vw, 52px); --padding-left: clamp(24px, 3vw, 44px); --padding-right: clamp(24px, 3vw, 44px); gap: 16px; background: var(--bxm-cream); color: var(--bxm-text); }
.e-con.bxm-trio > .e-con:nth-child(2) { background: var(--bxm-orange); }
.e-con.bxm-trio > .e-con:nth-child(2) .bxm-ico .elementor-icon { background: var(--bxm-ink) !important; }
.e-con.bxm-trio > .e-con:nth-child(2) .bxm-ico .elementor-icon svg { fill: var(--bxm-orange); }
.bxm-why__t .elementor-heading-title { font-family: var(--bxm-display); font-weight: 600; font-size: clamp(2rem, 2.8vw, 2.6rem); line-height: .95; text-transform: uppercase; color: var(--bxm-ink); padding-top: 4px; }
.bxm-why__p { color: var(--bxm-text); font-size: 1.06rem; line-height: 1.65; font-weight: 500; }
@media (max-width: 1024px) { .e-con.bxm-trio { grid-template-columns: 1fr; } }
.bxm-reviews .ti-widget { font-family: var(--bxm-body) !important; }

/* ---------- Blogi ---------- */
.bxm-posts .elementor-post { background: var(--bxm-cream); overflow: hidden; }
.bxm-posts .elementor-post__text { padding: 24px 26px 28px; }
.bxm-posts .elementor-post__title a { font-family: var(--bxm-display); font-weight: 600; font-size: 2rem; line-height: .95; text-transform: uppercase; color: var(--bxm-ink); }
.bxm-posts .elementor-post__title a:hover { color: var(--bxm-orange-ink); }
.bxm-posts .elementor-post__meta-data { color: var(--bxm-muted) !important; font-weight: 600; }
.bxm-posts .elementor-post__excerpt p { font-size: 1rem; color: var(--bxm-text); line-height: 1.6; }
.bxm-posts .elementor-post__read-more { color: var(--bxm-orange-ink) !important; font-family: var(--bxm-display); font-weight: 600; font-size: 1.3rem !important; letter-spacing: .05em; text-transform: uppercase; }
.bxm-prose { font-size: 1.1rem; line-height: 1.75; color: var(--bxm-text); max-width: 44rem; }
.bxm-prose h2 { font-family: var(--bxm-display); font-weight: 600; text-transform: uppercase; font-size: clamp(2rem, 3vw, 2.6rem); line-height: .95; margin: 1.8em 0 .5em; color: var(--bxm-ink); }
.bxm-prose h3 { font-family: var(--bxm-body); font-weight: 700; font-size: 1.25rem; margin: 1.6em 0 .5em; color: var(--bxm-ink); }
.bxm-prose p, .bxm-prose ul, .bxm-prose ol { margin: 0 0 1.1em; }
.bxm-prose li { margin-bottom: .4em; }
.bxm-prose a { color: var(--bxm-orange-ink); text-decoration: underline; text-underline-offset: 3px; }
.bxm-prose img { height: auto; }

/* ---------- Odottaa vahvistusta ---------- */
.bxm-odottaa { display: none !important; }
body.elementor-editor-active .bxm-odottaa { display: flex !important; outline: 2px dashed var(--bxm-orange); outline-offset: 4px; position: relative; }
body.elementor-editor-active .elementor-widget.bxm-odottaa { display: block !important; }
body.elementor-editor-active .bxm-odottaa::before { content: "Piilotettu: odottaa BX-Motorsin vahvistusta (poista luokka bxm-odottaa)"; position: absolute; top: -28px; left: 0; background: var(--bxm-orange); color: var(--bxm-ink); font: 700 12px/1 var(--bxm-body); padding: 6px 8px; z-index: 5; }

/* Saavutettavuus */
a:focus-visible, .elementor-button:focus-visible, a.e-con:focus-visible { outline: 3px solid var(--bxm-orange); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }
.bxm-sec--cream .e-con.bxm-card { background: var(--bxm-paper); box-shadow: 0 0 0 1px var(--bxm-line); }
.e-con.bxm-card.bxm-card--dark { background: var(--bxm-ink); color: var(--bxm-cream); box-shadow: none; }
.bxm-card--dark .bxm-h3 .elementor-heading-title, .bxm-card--dark .bxm-eyebrow .elementor-heading-title { color: var(--bxm-cream) !important; }
.bxm-card--dark .bxm-small { color: var(--bxm-muted-d) !important; }
.bxm-card--dark .bxm-btn .elementor-button::before { border-color: rgba(238, 234, 223, .75); }
/* Loppukaistan kolmio ei saa jäädä tekstin alle */
@media (min-width: 768px) { .e-con.bxm-final > .e-con-inner, .e-con.bxm-cta > .e-con-inner { padding-left: clamp(56px, 9vw, 150px); } }
.e-con.bxm-final::before, .e-con.bxm-cta::before { width: clamp(70px, 11vw, 190px); }
.bxm-pricerow li:first-child svg { fill: var(--bxm-ink); }

/* Palvelukortti: kuvake nimen yläpuolella, jotta pitkät sanat (MÄÄRÄAIKAISHUOLTO) eivät katkea */
.e-con.bxm-svc__top { flex-direction: column !important; align-items: flex-start !important; gap: 16px; }
.bxm-svc__name .elementor-heading-title { font-size: clamp(1.9rem, 2.3vw, 2.3rem); hyphens: manual; }
.bxm-brand__name .elementor-heading-title { font-size: clamp(1.5rem, 1.9vw, 1.9rem); }
/* Kontrasti: oranssin napin teksti tumma (4,8:1, WCAG AA kaikissa kokoissa). Valkoinen oranssilla olisi vain 3,3:1. */
.bxm-btn .elementor-button, .bxm-form .elementor-button, .bxm-mbar__book { color: var(--bxm-ink) !important; fill: var(--bxm-ink) !important; }
.bxm-btn .elementor-button:hover, .bxm-btn .elementor-button:focus-visible { background: var(--bxm-cream) !important; color: var(--bxm-ink) !important; }
.bxm-sec--cream .bxm-btn .elementor-button:hover, .bxm-card .bxm-btn .elementor-button:hover, .bxm-panel .bxm-btn .elementor-button:hover, .bxm-form .elementor-button:hover { background: var(--bxm-ink) !important; color: var(--bxm-cream) !important; }
.bxm-mbar__book:active { background: var(--bxm-cream); }
.bxm-posts .elementor-post__excerpt p, .bxm-posts .elementor-posts .elementor-post__excerpt p { color: var(--bxm-text) !important; font-size: 1rem !important; }
.bxm-posts .elementor-post__meta-data, .bxm-posts .elementor-post__meta-data span { color: var(--bxm-muted) !important; }

/* ==========================================================================
   Kultainen leikkaus (φ = 1,618)
   Tyyppiasteikko: 18 px perus × φ → 29 → 47 → 76 (→ 123), välissä √φ-askel (1,272): 23 · 37 · 60 · 97
   Välit (Fibonacci): 8 · 13 · 21 · 34 · 55 · 89 · 144
   Palstat: 38,2 % / 61,8 %. Leipätekstin rivikorkeus φ.
   ========================================================================== */
:root {
  --fs-sm: .889rem;    /* 14,2 px = 18 / √φ */
  --fs-body: 1.125rem; /* 18 px */
  --fs-lead: 1.431rem; /* 22,9 px = 18 × √φ */
  --fs-h3: 1.82rem;    /* 29 px = 18 × φ */
  --fs-h2: 2.945rem;   /* 47 px = 18 × φ² */
  --fs-h1: 4.765rem;   /* 76 px = 18 × φ³ */
  --fs-hero: 6.06rem;  /* 97 px = 76 × √φ */
  --sp-1: 8px; --sp-2: 13px; --sp-3: 21px; --sp-4: 34px; --sp-5: 55px; --sp-6: 89px; --sp-7: 144px;
  --bxm-pad: clamp(89px, 10vw, 144px);
}
.bxm-body, .bxm-prose { font-size: var(--fs-body); line-height: 1.618; }
.bxm-lead { font-size: clamp(1.125rem, 1.6vw, var(--fs-lead)); line-height: 1.5; }
.bxm-small { font-size: var(--fs-sm); line-height: 1.618; }
.bxm-h1 .elementor-heading-title { font-size: clamp(2.945rem, 6.2vw, var(--fs-h1)); line-height: .9; }
.bxm-home-hero .bxm-h1 .elementor-heading-title { font-size: clamp(2.945rem, 7.4vw, var(--fs-hero)); }
.bxm-h2 .elementor-heading-title, .bxm-cta__title .elementor-heading-title { font-size: clamp(2.3rem, 4.2vw, var(--fs-h2)); line-height: .95; }
.bxm-h3 .elementor-heading-title, .bxm-note__title .elementor-heading-title { font-size: clamp(1.25rem, 1.8vw, var(--fs-lead)); }
.bxm-svc__name .elementor-heading-title, .bxm-panel__title .elementor-heading-title, .bxm-brand__name .elementor-heading-title, .bxm-prow__name .elementor-heading-title, .bxm-link__name .elementor-heading-title { font-size: clamp(1.431rem, 2vw, var(--fs-h3)); }
.bxm-why__t .elementor-heading-title, .bxm-trust__text strong { font-size: clamp(1.82rem, 2.8vw, 2.3rem); }
.bxm-quote__price .elementor-heading-title { font-size: var(--fs-h1); }
.bxm-step__n .elementor-heading-title, .bxm-stepnum .elementor-heading-title { font-size: var(--fs-h2); }
/* Välit */
.e-con.bxm-sec > .e-con-inner { gap: var(--sp-5); }
.e-con.bxm-split { gap: var(--sp-6); }
.e-con.bxm-split > .bxm-col-a { --width: calc((100% - var(--sp-6)) * .382); gap: var(--sp-3); }
.e-con.bxm-split > .bxm-col-b { --width: calc((100% - var(--sp-6)) * .618); gap: var(--sp-3); }
.e-con.bxm-split--even > .bxm-col-a, .e-con.bxm-split--even > .bxm-col-b { --width: calc((100% - var(--sp-6)) / 2); }
.e-con.bxm-stack, .e-con.bxm-hero__main { gap: var(--sp-3); }
.e-con.bxm-grid { gap: var(--sp-3); }
.e-con.bxm-card, .e-con.bxm-quote, .e-con.bxm-glass, .e-con.bxm-svc { --padding-top: var(--sp-4); --padding-bottom: var(--sp-4); --padding-left: var(--sp-4); --padding-right: var(--sp-4); }
.e-con.bxm-panel { --padding-top: var(--sp-5); --padding-bottom: var(--sp-4); --padding-left: var(--sp-4); --padding-right: var(--sp-4); }
.e-con.bxm-trust { --padding-top: var(--sp-5); --padding-bottom: var(--sp-5); --padding-left: var(--sp-5); --padding-right: var(--sp-5); gap: var(--sp-4); }
.e-con.bxm-actions { gap: var(--sp-3) var(--sp-4); --padding-top: var(--sp-2); }
@media (max-width: 1024px) { .e-con.bxm-split { gap: var(--sp-5); } .e-con.bxm-split > .bxm-col-a, .e-con.bxm-split > .bxm-col-b { --width: 100%; } }
@media (max-width: 767px) {
  :root { --bxm-pad: 89px; }
  .e-con.bxm-sec > .e-con-inner { gap: var(--sp-4); }
  .e-con.bxm-split { gap: var(--sp-4); }
  .e-con.bxm-card, .e-con.bxm-quote, .e-con.bxm-glass, .e-con.bxm-svc, .e-con.bxm-panel { --padding-left: var(--sp-3); --padding-right: var(--sp-3); --padding-top: var(--sp-4); --padding-bottom: var(--sp-3); }
  .e-con.bxm-trust { --padding-left: var(--sp-3); --padding-right: var(--sp-3); --padding-top: var(--sp-4); --padding-bottom: var(--sp-4); }
}

/* ==========================================================================
   Liike (GSAP). Tila asetetaan vasta JS:llä; ilman JS:ää kaikki näkyy normaalisti.
   ========================================================================== */
.bxm-w { display: inline-block; overflow: hidden; vertical-align: top; padding: .16em 0 .06em; margin: -.16em 0 -.06em; }
.bxm-w > i { display: inline-block; font-style: normal; will-change: transform; }
html.bxm-anim .bxm-hero .bxm-h1 .elementor-heading-title { visibility: hidden; }
.e-con.bxm-final::before, .e-con.bxm-cta::before { transform: scale(var(--bxm-tri, 1)); transform-origin: 0 0; }
.elementor-widget-image.bxm-photo::before { transform: translateY(var(--bxm-frame, 0px)); }
.e-con.bxm-header { transition: transform .45s cubic-bezier(.2, .7, .2, 1), background-color .3s ease, box-shadow .3s ease; }
.e-con.bxm-header.is-hidden { transform: translateY(-100%); }
body.admin-bar .e-con.bxm-header.is-hidden { transform: translateY(calc(-100% - 32px)); }
/* Hienovarainen filmirae tummille pinnoille (premium-tuntuma, ei vaikuta luettavuuteen) */
body::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 9990; opacity: .045;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
@media (prefers-reduced-motion: reduce) { body::after { display: none; } }

/* ==========================================================================
   v3 konversio: varauspaneeli, hintapalkki, mobiilin tiivistys, huomionohjaus
   ========================================================================== */
/* Karsinta: oranssi vain toimintaan, hintaan ja varoituksiin */
.e-con.bxm-panel::before, .e-con.bxm-quote::before, .e-con.bxm-glass::before { display: none; }
.e-con.bxm-panel, .e-con.bxm-quote, .e-con.bxm-glass { border-top: 1px solid var(--bxm-line); }

/* Varauspaneeli */
.bxm-drawer { position: fixed; inset: 0; z-index: 100000; visibility: hidden; pointer-events: none; }
.bxm-drawer.is-open { visibility: visible; pointer-events: auto; }
.bxm-drawer__backdrop { position: absolute; inset: 0; background: rgba(18, 16, 21, .72); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); opacity: 0; }
.bxm-drawer.is-open .bxm-drawer__backdrop { opacity: 1; }
.bxm-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(1180px, 94vw); background: #EFEAE1; display: flex; flex-direction: column; box-shadow: -40px 0 80px -30px rgba(0, 0, 0, .7); transform: translateX(100%); }
.bxm-drawer.is-open .bxm-drawer__panel { transform: none; }
.bxm-drawer__head { display: flex; justify-content: space-between; align-items: center; gap: 21px; padding: 16px 24px; background: var(--bxm-ink); color: var(--bxm-cream); border-bottom: 4px solid var(--bxm-orange); }
.bxm-drawer__title { margin: 0; font-family: var(--bxm-display); font-weight: 600; font-size: 1.82rem; line-height: 1; text-transform: uppercase; padding-top: 4px; }
.bxm-drawer__trust { margin: 6px 0 0; display: flex; align-items: center; gap: 8px; font-size: .95rem; color: var(--bxm-muted-d); }
.bxm-drawer__trust svg { width: 20px; height: 20px; flex: none; }
.bxm-drawer__trust svg path:first-child { fill: var(--bxm-orange); }
.bxm-drawer__trust svg .ck { stroke: var(--bxm-ink); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 20; }
.bxm-drawer__side { display: flex; align-items: center; gap: 16px; }
.bxm-drawer__tel { color: var(--bxm-cream); font-weight: 700; text-decoration: none; white-space: nowrap; }
.bxm-drawer__tel:hover { color: var(--bxm-orange-hi); }
.bxm-drawer__close { width: 44px; height: 44px; border: 1px solid var(--bxm-line-w); background: transparent; color: var(--bxm-cream); font-size: 28px; line-height: 1; cursor: pointer; border-radius: 0; padding: 0; }
.bxm-drawer__close:hover, .bxm-drawer__close:focus-visible { background: var(--bxm-orange); color: var(--bxm-ink); border-color: var(--bxm-orange); }
.bxm-drawer__body { position: relative; flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.bxm-drawer__body iframe { display: block; width: 100%; min-height: 100%; height: 900px; border: 0; opacity: 0; transition: opacity .3s; }
.bxm-drawer.is-loaded .bxm-drawer__body iframe { opacity: 1; }
.bxm-drawer__loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--bxm-muted); font-weight: 600; }
.bxm-drawer.is-loaded .bxm-drawer__loading { display: none; }
html.bxm-lock, html.bxm-lock body { overflow: hidden; }
@media (max-width: 767px) {
  .bxm-drawer__panel { top: 8px; width: 100vw; transform: translateY(100%); border-radius: 12px 12px 0 0; overflow: hidden; }
  .bxm-drawer__head { padding: 12px 16px; }
  .bxm-drawer__title { font-size: 1.431rem; }
  .bxm-drawer__trust { font-size: .82rem; }
  .bxm-drawer__tel { display: none; }
}

/* Desktop: hintapalkki heron jälkeen (palvelusivut) */
.bxm-ctx { position: fixed; left: 0; right: 0; top: var(--bxm-header-h); z-index: 990; background: rgba(28, 24, 32, .96); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--bxm-line-w); transform: translateY(-110%); opacity: 0; transition: transform .45s cubic-bezier(.16, 1, .3, 1), opacity .3s; pointer-events: none; }
.bxm-ctx.is-shown { transform: none; opacity: 1; pointer-events: auto; }
body.admin-bar .bxm-ctx { top: calc(var(--bxm-header-h) + 32px); }
.bxm-ctx__in { max-width: 1240px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; gap: 21px; }
.bxm-ctx__name { font-family: var(--bxm-display); font-weight: 600; font-size: 1.431rem; text-transform: uppercase; color: var(--bxm-cream); padding-top: 3px; }
.bxm-ctx__meta { color: var(--bxm-muted-d); font-size: .95rem; flex: 1; }
.bxm-ctx a.bxm-ctx__btn { background: var(--bxm-orange); color: var(--bxm-ink) !important; font-family: var(--bxm-display); font-weight: 600; font-size: 1.25rem; letter-spacing: .05em; text-transform: uppercase; text-decoration: none; padding: 11px 20px 8px; }
.bxm-ctx a.bxm-ctx__btn:hover { background: var(--bxm-cream); }
@media (max-width: 1024px) { .bxm-ctx { display: none; } }

/* Mobiilin alapalkki vasta heron varausnapin jälkeen (ilman JS:ää aina näkyvissä) */
@media (max-width: 767px) {
  html.bxm-js .bxm-mbar { transform: translateY(110%); transition: transform .4s cubic-bezier(.16, 1, .3, 1); }
  html.bxm-js.bxm-past-hero .bxm-mbar { transform: none; }
}

/* Varausrivi ensimmäisen sisältöosion perään */
.e-con.bxm-bookrow { flex-direction: row; align-items: center; justify-content: space-between; gap: 21px; background: var(--bxm-ink-2); border: 1px solid var(--bxm-line-w); --padding-top: 21px; --padding-bottom: 21px; --padding-left: 34px; --padding-right: 21px; }
.bxm-bookrow__txt { font-size: var(--fs-body); color: var(--bxm-cream); }
.bxm-bookrow__txt strong { font-family: var(--bxm-display); font-weight: 600; font-size: 1.82rem; text-transform: uppercase; color: var(--bxm-cream); margin-right: 13px; letter-spacing: .01em; }
.bxm-bookrow__txt span { color: var(--bxm-muted-d); }
@media (max-width: 767px) { .e-con.bxm-bookrow { flex-direction: column; align-items: stretch; --padding-left: 21px; } .bxm-bookrow .elementor-button { width: 100%; justify-content: center; } }
/* Yksi hiljainen muistutus: kiilto kerran */
.bxm-bookrow .elementor-button { overflow: hidden; }
.bxm-bookrow.bxm-nudge .elementor-button::after { content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -60%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent); animation: bxm-sheen 1.1s ease-out 1; }
@keyframes bxm-sheen { to { left: 130%; } }

/* Mobiili: "Lue lisää" */
.bxm-more { display: none; }
@media (max-width: 767px) {
  .bxm-col-b.is-collapsed { display: none !important; }
  .bxm-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 13px; background: transparent; border: 0; border-bottom: 2px solid var(--bxm-orange); color: var(--bxm-cream); font-family: var(--bxm-display); font-weight: 600; font-size: 1.35rem; letter-spacing: .05em; text-transform: uppercase; padding: 10px 0 6px; cursor: pointer; border-radius: 0; }
  .bxm-more::after { content: "+"; font-size: 1.2em; line-height: 1; color: var(--bxm-orange); }
  .bxm-more[aria-expanded="true"]::after { content: "–"; }
  .e-con.bxm-collapse { --padding-top: 55px; --padding-bottom: 55px; }
  .e-con.bxm-collapse .e-con.bxm-split { gap: 0; }
}

/* Headerin auki/suljettu-tila */
.bxm-h-info .dot { background: #8C8690; box-shadow: none; }
.bxm-h-info .is-open .dot { background: #3DDC84; box-shadow: 0 0 0 3px rgba(61, 220, 132, .2); }

/* Luottamusmerkin valintamerkki piirtyy (GSAP) */
.bxm-trust__icon svg .ck { fill: none !important; stroke: var(--bxm-orange); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 60; }
/* Hello-teeman pinkki button-oletus pois omista painikkeista */
.bxm-drawer .bxm-drawer__close, .bxm-drawer .bxm-drawer__close:hover, .bxm-drawer .bxm-drawer__close:focus { background: transparent; color: var(--bxm-cream); }
.bxm-drawer .bxm-drawer__close:hover, .bxm-drawer .bxm-drawer__close:focus-visible { background: var(--bxm-orange); color: var(--bxm-ink); border-color: var(--bxm-orange); }
button.bxm-more, button.bxm-more:hover, button.bxm-more:focus { background: transparent; color: var(--bxm-cream); }
button.bxm-more:hover { color: var(--bxm-orange-hi); }
.bxm-hero-alt { font-size: 1rem !important; color: var(--bxm-cream) !important; } .bxm-hero-alt a { color: var(--bxm-orange-hi) !important; font-weight: 700; }
/* Leveys: ei 100vw:tä (Windowsissa vierityspalkki → vaakavieritys). overflow-x: clip ei riko sticky-elementtejä kuten hidden. */
html:not(#bxm), html:not(#bxm) body { overflow-x: clip !important; max-width: 100%; }
@media (min-width: 1600px) {
  .e-con.bxm-sec, .e-con.bxm-hero, .e-con.bxm-cta, .e-con.bxm-footer { --content-width: 1400px; }
  .e-con.bxm-home-hero { --padding-left: calc((100% - 1400px) / 2); --padding-right: calc((100% - 1400px) / 2); }
  .bxm-ctx__in { max-width: 1400px; }
}
@media (min-width: 1600px) {
  .e-con.bxm-sec > .e-con-inner, .e-con.bxm-hero > .e-con-inner, .e-con.bxm-cta > .e-con-inner, .e-con.bxm-footer > .e-con-inner { max-width: 1400px !important; }
}
/* Etusivun hero: kuva omalla kerroksellaan, jotta GSAP voi lähestyä sitä hitaasti (--kb) liikuttamatta sisältöä */
.e-con.bxm-home-hero { background-image: none !important; background-color: #15121A; }
.e-con.bxm-home-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: url("https://bxmfi.frault2.hostarmada.net/wp/wp-content/uploads/2026/09/bxm-garage-1.webp") 72% 60% / cover no-repeat;
  transform: scale(var(--kb, 1)); transform-origin: 70% 55%; will-change: transform; }
.e-con.bxm-home-hero::after { background: linear-gradient(90deg, rgba(21, 18, 26, .96) 0%, rgba(21, 18, 26, .82) 38%, rgba(21, 18, 26, .25) 70%, rgba(21, 18, 26, .1) 100%), linear-gradient(0deg, rgba(18, 16, 21, .8), rgba(18, 16, 21, 0) 40%) !important; }
@media (max-width: 1024px) {
  .e-con.bxm-home-hero::before { background-position: 78% 40%; }
  .e-con.bxm-home-hero::after { background: linear-gradient(0deg, rgba(21, 18, 26, .97) 42%, rgba(21, 18, 26, .35) 100%) !important; }
}
/* Heron yläotsikko kermana (oranssi vain H1-korostukseen ja varausnappiin) */
.bxm-hero .bxm-eyebrow .elementor-heading-title { color: var(--bxm-cream) !important; }
.bxm-body p.bxm-tm { font-size: .95rem; color: var(--bxm-muted-d); }
/* Merkkilogot: yksiväriset tummat PNG:t. Ruudukossa vaaleiksi (tumma tausta), merkkisivulla tummina kermapohjalla. */
.bxm-brand__logo img { filter: brightness(0) invert(1) !important; }
.bxm-brand__logo { opacity: .14; right: 10px !important; bottom: 10px !important; width: 64px !important; }
.bxm-brand__logo img { width: 64px !important; height: 64px !important; }
a.e-con.bxm-brand:hover .bxm-brand__logo { opacity: .5; }
.bxm-brandlogo img { padding: 16px !important; }

/* =====================================================================
   v6 PREMIUM (25.9.2026): pidättyvyys. Oranssi vain varaukseen ja otsikon korostukseen,
   isot kirjaimet vain H1/H2:ssa, tiukka φ-asteikko 14 / 18 / 23 / 29 / 47 / 76 px,
   Fibonacci-välit 21 / 34 / 55 / 89 / 144, 1 px viivat ja 2 px kulmat kaikkialla.
   ===================================================================== */
:root { --bxm-pad: clamp(89px, 10vw, 144px); --bxm-r: 2px; --fs-hero: var(--fs-h1); --fs-ui: 1.125rem; }
@media (max-width: 767px) { :root { --bxm-pad: 89px; } }

/* H1 76 px myös etusivulla */
.bxm-home-hero .bxm-h1 .elementor-heading-title { font-size: clamp(2.945rem, 6vw, var(--fs-h1)) !important; }

/* Käyttöliittymäteksti: Exo 2, puolilihava, tavalliset kirjaimet */
.bxm-btn .elementor-button, .bxm-btn-ghost .elementor-button, .bxm-btn-dark .elementor-button, .bxm-form .elementor-button,
.bxm-textlink .elementor-button, .bxm-h-cta .elementor-button, .bxm-nav .elementor-nav-menu--main .elementor-item,
.bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container a, .bxm-mbar a, .bxm-ctx a.bxm-ctx__btn,
.bxm-svc__go .elementor-heading-title, .bxm-brand__more .elementor-heading-title, .bxm-glass__all a, .bxm-more,
.bxm-posts .elementor-post__read-more, .bxm-prow__go .elementor-heading-title {
  font-family: var(--bxm-body) !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: .01em !important; }
.bxm-btn .elementor-button, .bxm-btn-ghost .elementor-button, .bxm-btn-dark .elementor-button, .bxm-form .elementor-button {
  font-size: var(--fs-ui) !important; padding: 18px 34px !important; min-height: 55px; border-radius: var(--bxm-r) !important; }
.bxm-btn--sm .elementor-button { font-size: 1rem !important; padding: 13px 21px !important; min-height: 44px; }
.bxm-textlink .elementor-button, .bxm-glass__all a, .bxm-brand__more .elementor-heading-title, .bxm-svc__go .elementor-heading-title,
.bxm-posts .elementor-post__read-more, .bxm-more { font-size: 1rem !important; }
.bxm-nav .elementor-nav-menu--main .elementor-item { font-size: 1rem !important; }
.bxm-h-cta .elementor-button { font-size: var(--fs-ui) !important; }
.bxm-mbar a, .bxm-ctx a.bxm-ctx__btn { font-size: 1rem !important; }

/* Napin täyttö liukuu sisään vasemmalta */
.bxm-btn .elementor-button { background: linear-gradient(var(--bxm-cream), var(--bxm-cream)) no-repeat left / 0% 100%, var(--bxm-orange) !important;
  transition: background-size .5s cubic-bezier(.19, 1, .22, 1), color .3s !important; }
.bxm-btn .elementor-button:hover, .bxm-btn .elementor-button:focus-visible { background: linear-gradient(var(--bxm-cream), var(--bxm-cream)) no-repeat left / 100% 100%, var(--bxm-orange) !important; }
.bxm-sec--cream .bxm-btn .elementor-button, .bxm-card .bxm-btn .elementor-button, .bxm-panel .bxm-btn .elementor-button {
  background: linear-gradient(var(--bxm-ink), var(--bxm-ink)) no-repeat left / 0% 100%, var(--bxm-orange) !important; }
.bxm-sec--cream .bxm-btn .elementor-button:hover, .bxm-card .bxm-btn .elementor-button:hover, .bxm-panel .bxm-btn .elementor-button:hover {
  background: linear-gradient(var(--bxm-ink), var(--bxm-ink)) no-repeat left / 100% 100%, var(--bxm-orange) !important; color: var(--bxm-cream) !important; }
.bxm-btn .elementor-button::before, .bxm-btn-ghost .elementor-button::before, .bxm-btn-dark .elementor-button::before { border-width: 1px !important; border-radius: 3px; }
.bxm-btn-ghost .elementor-button { box-shadow: inset 0 0 0 1px currentColor !important; }

/* Yläotsikot: pienet, väljästi harvennetut */
.bxm-eyebrow .elementor-heading-title { font-family: var(--bxm-body) !important; font-size: .889rem !important; font-weight: 600 !important; letter-spacing: .16em !important; gap: 13px; }
.bxm-eyebrow .elementor-heading-title::before { width: 8px; height: 14px; }
.bxm-eyebrow--caps .elementor-heading-title { font-size: .889rem !important; }

/* Korttien, rivien ja paneelien otsikot: Exo 2, tavalliset kirjaimet */
.bxm-svc__name .elementor-heading-title, .bxm-panel__title .elementor-heading-title, .bxm-brand__name .elementor-heading-title,
.bxm-prow__name .elementor-heading-title, .bxm-link__name .elementor-heading-title, .bxm-why__t .elementor-heading-title,
.bxm-quote__label .elementor-heading-title, .bxm-trust-mini strong, .bxm-trust__text strong, .bxm-f-title .elementor-heading-title,
.bxm-f-slogan .elementor-heading-title, .bxm-posts .elementor-post__title a, .bxm-drawer__title, .bxm-ctx__name, .bxm-bookrow__txt strong,
.bxm-h-info .lbl, .bxm-prow--head .elementor-heading-title, .bxm-note__title .elementor-heading-title, .bxm-h3 .elementor-heading-title,
.bxm-promise__t .elementor-heading-title {
  font-family: var(--bxm-body) !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; line-height: 1.25 !important; padding-top: 0 !important; }
.bxm-svc__name .elementor-heading-title, .bxm-panel__title .elementor-heading-title, .bxm-prow__name .elementor-heading-title,
.bxm-link__name .elementor-heading-title, .bxm-why__t .elementor-heading-title, .bxm-trust__text strong, .bxm-posts .elementor-post__title a,
.bxm-drawer__title, .bxm-bookrow__txt strong, .bxm-h3 .elementor-heading-title { font-size: clamp(1.25rem, 1.8vw, var(--fs-lead)) !important; }
.bxm-brand__name .elementor-heading-title, .bxm-f-title .elementor-heading-title, .bxm-ctx__name, .bxm-promise__t .elementor-heading-title,
.bxm-note__title .elementor-heading-title, .bxm-trust-mini strong { font-size: var(--fs-ui) !important; }
.bxm-quote__label .elementor-heading-title, .bxm-prow--head .elementor-heading-title, .bxm-h-info .lbl {
  font-size: .889rem !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
.bxm-f-slogan .elementor-heading-title { font-size: var(--fs-lead) !important; }

/* Hinnasto ruokalistan tapaan */
.e-con.bxm-ptable { border-top: 1px solid var(--bxm-ink); }
.e-con.bxm-prow { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.8fr) 130px 110px 90px; gap: 34px; --padding-top: 21px; --padding-bottom: 21px; }
.bxm-prow__price .elementor-heading-title { font-size: var(--fs-h3) !important; line-height: 1; }
.bxm-prow__go { justify-self: end; }
.bxm-prow__go .elementor-heading-title { font-size: 1rem !important; }
.bxm-prow__go .elementor-heading-title a { color: var(--bxm-ink); text-decoration: none; border-bottom: 1px solid var(--bxm-orange-ink); padding-bottom: 3px; }
.bxm-prow__go .elementor-heading-title a:hover { color: var(--bxm-orange-ink); }
.e-con.bxm-prow:not(.bxm-prow--head):hover { background: rgba(38, 33, 43, .03); }
@media (max-width: 1024px) {
  .e-con.bxm-prow { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name price" "desc desc" "dur go"; gap: 8px 21px; }
  .bxm-prow__go { grid-area: go; } .bxm-prow__name { grid-area: name; } .bxm-prow__price { grid-area: price; }
  .bxm-prow__dur .elementor-heading-title::before { content: "Alustava kesto "; }
}

/* Oranssit pinnat pois */
.e-con.bxm-trust { background: var(--bxm-ink-2) !important; color: var(--bxm-cream) !important; border: 1px solid var(--bxm-line-w); border-left: 2px solid var(--bxm-orange); border-radius: var(--bxm-r); }
.e-con.bxm-trust::after { display: none; }
.bxm-trust__text strong { color: var(--bxm-cream) !important; }
.bxm-trust__text p { color: var(--bxm-muted-d) !important; }
.bxm-sec--cream .e-con.bxm-trust { background: var(--bxm-paper) !important; border-color: var(--bxm-line); border-left-color: var(--bxm-orange-ink); }
.bxm-sec--cream .bxm-trust__text strong { color: var(--bxm-ink) !important; }
.bxm-sec--cream .bxm-trust__text p { color: var(--bxm-text) !important; }
.e-con.bxm-trio > .e-con:nth-child(2) { background: var(--bxm-ink-2); color: var(--bxm-cream); }
.bxm-ico .elementor-icon { background: transparent !important; box-shadow: inset 0 0 0 1px var(--bxm-line-w); color: var(--bxm-orange) !important; fill: var(--bxm-orange) !important; border-radius: 50%; }
.bxm-ico .elementor-icon svg { fill: var(--bxm-orange) !important; }
.bxm-sec--cream .bxm-ico .elementor-icon, .bxm-panel .bxm-ico .elementor-icon, .bxm-card .bxm-ico .elementor-icon { box-shadow: inset 0 0 0 1px var(--bxm-line); color: var(--bxm-orange-ink) !important; fill: var(--bxm-orange-ink) !important; }
.bxm-sec--cream .bxm-ico .elementor-icon svg, .bxm-panel .bxm-ico .elementor-icon svg, .bxm-card .bxm-ico .elementor-icon svg { fill: var(--bxm-orange-ink) !important; }

/* Lupausrivi heron alla */
.e-con.bxm-promises { --padding-top: 34px; --padding-bottom: 34px; border-bottom: 1px solid var(--bxm-line-w); }
.e-con.bxm-promise-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.e-con.bxm-promise { --padding-left: 34px; --padding-right: 34px; --padding-top: 0; --padding-bottom: 0; gap: 8px; border-left: 1px solid var(--bxm-line-w); --width: auto; width: auto; }
.e-con.bxm-promise:first-child { border-left: 0; --padding-left: 0; }
.bxm-promise__t .elementor-heading-title { color: var(--bxm-cream) !important; }
.bxm-promise__p { font-size: 1rem; line-height: 1.5; color: var(--bxm-muted-d); }
@media (max-width: 767px) { .e-con.bxm-promise-row { grid-template-columns: 1fr; gap: 21px; } .e-con.bxm-promise { border-left: 0; --padding-left: 0; --padding-right: 0; } }

/* Arvosanarivi heron napin vieressä */
.bxm-rating p { margin: 0; font-size: 1rem; color: var(--bxm-cream); }
.bxm-rating a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--bxm-line-w); padding-bottom: 3px; }
.bxm-rating a:hover { border-color: var(--bxm-cream); }
.bxm-stars { color: var(--bxm-orange); letter-spacing: .1em; margin-right: 8px; }

/* 2 px kulmat ja 1 px viivat */
.e-con.bxm-card, .e-con.bxm-quote, .e-con.bxm-glass, .e-con.bxm-svc, .e-con.bxm-panel, .e-con.bxm-note, .e-con.bxm-bookrow, a.e-con.bxm-brand,
.bxm-form .elementor-field-textual, .bxm-pricerow li { border-radius: var(--bxm-r) !important; }
.e-con.bxm-svc:hover { transform: none; }
.bxm-nav .elementor-nav-menu--dropdown { border-top-width: 2px !important; }
/* v6: viimeiset oranssit pinnat pieniksi merkeiksi, headerin tila yhdelle riville */
.e-con.bxm-final::before, .e-con.bxm-cta::before { width: 55px !important; height: 89px; bottom: auto !important; }
@media (min-width: 768px) { .e-con.bxm-final > .e-con-inner, .e-con.bxm-cta > .e-con-inner { padding-left: 0; } }
.bxm-step__n .elementor-heading-title, .bxm-stepnum .elementor-heading-title { color: var(--bxm-muted-d) !important; }
.bxm-sec--cream .bxm-stepnum .elementor-heading-title { color: var(--bxm-muted) !important; }
.bxm-h-info .lbl { font-size: .75rem !important; letter-spacing: .1em !important; white-space: nowrap; }

/* =====================================================================
   v6 HEADER: valikot koko headerin levyisinä tummina paneeleina (mega-menu).
   Palvelut: nimi + hinta ja kesto kolmessa sarakkeessa. Automerkit: logo + nimi kuudessa sarakkeessa.
   Ankkurina fixed-header, joten välissä olevat elementit asetetaan static-tilaan.
   ===================================================================== */
@media (min-width: 1025px) {
  .e-con.bxm-h-nav, .bxm-nav, .bxm-nav > .elementor-widget-container, .bxm-nav .elementor-nav-menu--main,
  .bxm-nav .elementor-nav-menu--main > ul, .bxm-nav .elementor-nav-menu--main > ul > li { position: static !important; }
  .e-con.bxm-h-nav { align-items: stretch !important; }
  .bxm-nav .elementor-nav-menu--main > ul { gap: 8px; }

  /* Pääkohdat: kerma, hover ja nykyinen sivu ohuella viivalla, ei oranssia tekstiä */
  .bxm-nav .elementor-nav-menu--main .elementor-item { padding: 14px 16px !important; color: var(--bxm-cream) !important; }
  .bxm-nav .elementor-nav-menu--main .elementor-item:hover, .bxm-nav .elementor-nav-menu--main .elementor-item.highlighted,
  .bxm-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--bxm-cream) !important; }
  .bxm-nav .elementor-nav-menu--main .elementor-item::after { height: 1px !important; background-color: var(--bxm-orange) !important; }
  .bxm-nav .elementor-nav-menu--main .sub-arrow { opacity: .55; margin-left: 6px; }
  .bxm-nav .elementor-nav-menu--main .sub-arrow svg { width: 10px; height: 10px; }

  /* Paneeli */
  .bxm-nav .elementor-nav-menu--main .menu-item-has-children > .sub-menu {
    position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; width: auto !important; min-width: 0 !important; max-width: none !important;
    margin: 0 !important; background: var(--bxm-ink-2) !important; border: 0 !important; border-top: 1px solid var(--bxm-line-w) !important; border-bottom: 1px solid var(--bxm-line-w) !important;
    box-shadow: 0 34px 55px -21px rgba(0, 0, 0, .75) !important; border-radius: 0 !important;
    padding: 34px max(24px, calc((100% - 1240px) / 2)) 34px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 34px; }
  /* Avaus: JS lisää .is-open-luokan viiveellä (lib/motion.js megaMenu), ilman JS:ää :hover. Näppäimistö: :focus-within. */
  .bxm-nav .elementor-nav-menu--main .menu-item-has-children > .sub-menu { display: grid !important; visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
  html:not(.bxm-js) .bxm-nav .elementor-nav-menu--main .menu-item-has-children:hover > .sub-menu,
  .bxm-nav .elementor-nav-menu--main .menu-item-has-children.is-open > .sub-menu,
  .bxm-nav .elementor-nav-menu--main .menu-item-has-children:focus-within > .sub-menu { visibility: visible; opacity: 1; pointer-events: auto; transform: none; transition: opacity .18s ease, transform .18s ease, visibility 0s; }
  .bxm-nav .elementor-nav-menu--main .menu-item-has-children.is-open > a.elementor-item::after { opacity: 1 !important; width: 100% !important; }
  .bxm-nav .elementor-nav-menu--main .menu-item.bxm-brands > .sub-menu { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 21px; }
  .bxm-nav .elementor-nav-menu--main .sub-menu > li { position: static !important; }

  /* Palvelurivit */
  .bxm-nav .elementor-nav-menu--main .sub-menu a { display: flex !important; flex-direction: column; align-items: flex-start !important; justify-content: flex-start !important; gap: 3px !important;
    padding: 13px 0 !important; border-bottom: 1px solid var(--bxm-line-w) !important; color: var(--bxm-cream) !important; background: none !important; font-family: var(--bxm-body) !important;
    font-size: 1rem !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.3 !important; white-space: normal !important; }
  .bxm-nav .elementor-nav-menu--main .sub-menu a:hover, .bxm-nav .elementor-nav-menu--main .sub-menu a:focus-visible { color: var(--bxm-cream) !important; background: none !important; }
  .bxm-nav .elementor-nav-menu--main .sub-menu a:hover .bxm-mname { box-shadow: inset 0 -1px 0 var(--bxm-orange); }
  .bxm-nav .sub-menu .bxm-mprice { color: var(--bxm-muted-d) !important; font-size: .889rem !important; font-weight: 400 !important; }

  /* Merkit: logo + nimi */
  .bxm-nav .elementor-nav-menu--main .bxm-brands > .sub-menu a { flex-direction: row; align-items: center !important; gap: 13px !important; }
  .bxm-nav .bxm-mlogo { width: 34px !important; height: 34px !important; object-fit: contain; filter: brightness(0) invert(1); opacity: .55; flex: none; transition: opacity .3s; }
  .bxm-nav .elementor-nav-menu--main .bxm-brands > .sub-menu a:hover .bxm-mlogo { opacity: 1; }

  /* "Kaikki palvelut ja hinnat" / "Merkkiä ei listalla?" koko rivin levyisenä alalinkkinä */
  .bxm-nav .elementor-nav-menu--main .sub-menu > li.bxm-mall { grid-column: 1 / -1; }
  .bxm-nav .elementor-nav-menu--main .sub-menu > li.bxm-mall > a { flex-direction: row; border-bottom: 0 !important; padding: 21px 0 0 !important; color: var(--bxm-cream) !important; }
  .bxm-nav .elementor-nav-menu--main .sub-menu > li.bxm-mall > a:hover { color: var(--bxm-orange-hi) !important; }
}

/* Mobiili: sama rakenne listana */
@media (max-width: 1024px) {
  .bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container a { font-family: var(--bxm-body) !important; font-size: 1.125rem !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 600; padding: 16px 20px !important; }
  .bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu a { font-size: 1rem !important; padding: 13px 20px 13px 34px !important; gap: 13px; align-items: center; }
  .bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .bxm-mname { flex: 1; }
  .bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .bxm-mprice { font-size: .889rem; font-weight: 400; }
  .bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .bxm-mlogo { width: 24px; height: 24px; object-fit: contain; filter: brightness(0) invert(1); opacity: .6; }
  .bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container { border-top-width: 1px !important; }
}
@media (max-width: 1024px) { .bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu { background: var(--bxm-ink-2) !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; } .bxm-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container .sub-menu a { color: var(--bxm-cream) !important; } }


/* =====================================================================
   v7: autokaavio, tekstiviestitarina ja matkamittarihinnat
   ===================================================================== */
/* Autokaavio palvelusivun ensimmäisessä osiossa */
.bxm-car-w { width: 100%; }
.bxm-car { margin: 21px 0 0; }
.bxm-car svg { display: block; width: 100%; height: auto; overflow: visible; }
.bxm-car__body { stroke: var(--bxm-cream); stroke-width: 1.6; }
.bxm-car__ground { stroke: rgba(238, 234, 223, .22); stroke-dasharray: 2 8; }
.bxm-car__x { stroke: rgba(238, 234, 223, .32); stroke-width: 1; stroke-dasharray: 3 4; }
.bxm-car__hl { stroke: var(--bxm-orange); stroke-width: 2.4; }
.bxm-car__hl rect, .bxm-car__hl circle { fill: rgba(243, 92, 35, .1); }
.bxm-car__key { display: flex; align-items: center; gap: 8px; margin-top: 13px; font-size: .889rem; font-weight: 600; color: var(--bxm-cream); }
.bxm-car__key i { width: 8px; height: 8px; border-radius: 50%; background: var(--bxm-orange); flex: none; }
.bxm-sec--cream .bxm-car__body { stroke: var(--bxm-ink); }
.bxm-sec--cream .bxm-car__x, .bxm-sec--cream .bxm-car__ground { stroke: rgba(38, 33, 43, .3); }
.bxm-sec--cream .bxm-car__key { color: var(--bxm-ink); }
@media (max-width: 1024px) { .bxm-car { max-width: 520px; } }

/* Tekstiviestitarina */
.e-con.bxm-story { background: var(--bxm-ink); }
.bxm-phone-w { display: flex; justify-content: center; }
.bxm-phone { width: min(100%, 377px); background: #151218; border: 1px solid var(--bxm-line-w); border-radius: 34px; padding: 13px 13px 21px;
  box-shadow: 0 55px 89px -34px rgba(0, 0, 0, .8), inset 0 0 0 6px #1C1820; }
.bxm-phone__bar { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 21px 0 13px; border-bottom: 1px solid var(--bxm-line-w); margin: 0 8px 13px; }
.bxm-phone__bar b { font-size: 1rem; color: var(--bxm-cream); }
.bxm-phone__bar span { font-size: .8rem; color: var(--bxm-muted-d); }
.bxm-phone__list { list-style: none; margin: 0; padding: 0 8px; display: flex; flex-direction: column; gap: 13px; min-height: 380px; }
.bxm-msg { max-width: 86%; }
.bxm-msg p { margin: 0; padding: 13px 16px; border-radius: 18px 18px 18px 4px; background: #2A2530; color: var(--bxm-cream); font-size: .95rem; line-height: 1.45; }
.bxm-msg__meta { display: block; font-size: .72rem; letter-spacing: .04em; color: var(--bxm-muted-d); margin: 0 0 5px 4px; }
.bxm-msg--call p { background: transparent; border: 1px solid var(--bxm-orange); border-radius: 4px 18px 18px 18px; }
.bxm-msg--call .bxm-msg__meta { color: var(--bxm-orange-hi); }
.bxm-msg--call .bxm-msg__meta::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--bxm-orange); margin-right: 6px; vertical-align: 1px; }
.bxm-msg--me { align-self: flex-end; text-align: right; }
.bxm-msg--me p { background: var(--bxm-cream); color: var(--bxm-ink); border-radius: 18px 18px 4px 18px; font-weight: 600; }
.bxm-msg--me .bxm-msg__meta { margin: 0 4px 5px 0; }
@media (max-width: 767px) { .bxm-phone { border-radius: 26px; } .bxm-phone__list { min-height: 0; } }

/* Matkamittari: oikea numero on tekstinä (läpinäkyvä animaation ajan), rulla on ::after */
.bxm-odo { position: relative; display: inline-block; clip-path: inset(0); height: 1em; line-height: 1; --odo: 0; }
.bxm-odo::after { content: attr(data-seq); white-space: pre; position: absolute; left: 0; top: 0; width: 100%; text-align: center; line-height: 1;
  color: var(--bxm-odo-c); transform: translateY(calc(var(--odo) * -1%)); display: none; }
.bxm-odo-on .bxm-odo { color: transparent; }
.bxm-odo-on .bxm-odo::after { display: block; }

/* v7 korjaukset: varoituslaatikko tummaksi oranssilla reunalla, varausrivi ei rivity rumasti, kaavion kuvateksti suoraksi */
.e-con.bxm-note--alert { background: var(--bxm-ink-2) !important; border: 1px solid var(--bxm-line-w) !important; border-left: 2px solid var(--bxm-orange) !important; }
.bxm-note--alert .bxm-body { color: var(--bxm-cream) !important; }
.bxm-note--alert .elementor-heading-title { color: var(--bxm-cream) !important; }
.bxm-note--alert .bxm-note__title .elementor-heading-title::before { background: transparent; color: var(--bxm-orange); box-shadow: inset 0 0 0 1px currentColor; }
.bxm-sec--cream .e-con.bxm-note--alert, .bxm-panel .e-con.bxm-note--alert { background: var(--bxm-paper) !important; border-color: var(--bxm-line) !important; border-left-color: var(--bxm-orange-ink) !important; }
.bxm-sec--cream .bxm-note--alert .bxm-body, .bxm-sec--cream .bxm-note--alert .elementor-heading-title { color: var(--bxm-ink) !important; }
.bxm-bookrow__txt span { white-space: nowrap; }
.bxm-bookrow .bxm-btn .elementor-button, .bxm-prow__go .elementor-heading-title a { white-space: nowrap; }
.bxm-bookrow__txt strong { margin-right: 13px; }
.bxm-car, .bxm-car__key { font-style: normal; }

/* =====================================================================
   v8 SEO/saavutettavuus: UKK <details>-rakenteena, linkit alleviivattuina tekstissä
   ===================================================================== */
.bxm-qa-list { border-top: 1px solid var(--bxm-ink); }
.bxm-qa { border-bottom: 1px solid var(--bxm-line); }
.bxm-qa > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 21px; padding: 21px 0; cursor: pointer; }
.bxm-qa > summary::-webkit-details-marker { display: none; }
.bxm-qa > summary:focus-visible { outline: 2px solid var(--bxm-orange-ink); outline-offset: 4px; }
.bxm-qa__q { margin: 0; font-family: var(--bxm-body); font-weight: 600; font-size: var(--fs-ui); line-height: 1.35; color: var(--bxm-ink); text-transform: none; letter-spacing: 0; }
.bxm-qa > summary:hover .bxm-qa__q { color: var(--bxm-orange-ink); }
.bxm-qa__i { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--bxm-line); transition: transform .4s cubic-bezier(.19, 1, .22, 1), background-color .3s; }
.bxm-qa__i::before, .bxm-qa__i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; background: var(--bxm-ink); transform: translate(-50%, -50%); }
.bxm-qa__i::after { transform: translate(-50%, -50%) rotate(90deg); transition: opacity .3s; }
.bxm-qa[open] .bxm-qa__i { transform: rotate(180deg); background: var(--bxm-ink); }
.bxm-qa[open] .bxm-qa__i::before { background: var(--bxm-cream); }
.bxm-qa[open] .bxm-qa__i::after { opacity: 0; }
.bxm-qa__a { padding: 0 55px 21px 0; }
.bxm-qa__a p { margin: 0; font-size: 1rem; line-height: 1.618; color: var(--bxm-text); }
.bxm-qa__a a, .bxm-body p a, .bxm-small p a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.bxm-qa__a a { color: var(--bxm-orange-ink); }
.bxm-sec:not(.bxm-sec--cream) .bxm-qa__q { color: var(--bxm-cream); }
.bxm-sec:not(.bxm-sec--cream) .bxm-qa__a p { color: var(--bxm-muted-d); }
.bxm-sec:not(.bxm-sec--cream) .bxm-qa__i::before, .bxm-sec:not(.bxm-sec--cream) .bxm-qa__i::after { background: var(--bxm-cream); }
.bxm-sec:not(.bxm-sec--cream) .bxm-qa-list { border-top-color: var(--bxm-line-w); }
.bxm-sec:not(.bxm-sec--cream) .bxm-qa { border-bottom-color: var(--bxm-line-w); }
.elementor-editor-active .bxm-faq.bxm-odottaa, .bxm-faq.bxm-odottaa .bxm-qa-list { border-top: 0; }
@media (max-width: 767px) { .bxm-qa__a { padding-right: 0; } }
.elementor-widget.bxm-preload { display: none !important; }

/* =====================================================================
   v9 SISÄLTÖOSIOIDEN RYTMI (palvelusivut): osio näyttää siltä, mitä se kertoo.
   Iso luku (väli, määrä), kolme kohtaa, hintalappu, "Hyvä tietää" -paneeli, etäisyydet.
   ===================================================================== */
/* Ensimmäinen kappale ingressinä */
.bxm-body--lead p { font-size: var(--fs-lead) !important; line-height: 1.5 !important; color: var(--bxm-cream) !important; }
.bxm-body--lead + .bxm-body p, .bxm-body--lead ~ .bxm-body p { color: var(--bxm-muted-d); }
.bxm-sec--cream .bxm-body--lead p { color: var(--bxm-ink) !important; }

/* Iso luku otsikon alla */
.bxm-stat { margin: 34px 0 0; padding-top: 21px; border-top: 1px solid var(--bxm-line-w); display: flex; flex-direction: column; gap: 8px; }
.bxm-stat b { font-family: var(--bxm-display); font-weight: 600; font-size: clamp(2.945rem, 4.4vw, var(--fs-h1)); line-height: .9; color: var(--bxm-cream); letter-spacing: .01em; white-space: nowrap; }
.bxm-stat span { font-size: 1rem; line-height: 1.5; color: var(--bxm-muted-d); max-width: 26ch; }
.bxm-sec--cream .bxm-stat { border-top-color: var(--bxm-line); } .bxm-sec--cream .bxm-stat b { color: var(--bxm-ink); } .bxm-sec--cream .bxm-stat span { color: var(--bxm-muted); }

/* Kolme kohtaa: numeroidut sarakkeet ohuilla viivoilla */
.bxm-points { list-style: none; margin: 0 0 13px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); counter-reset: bxmp; border-top: 1px solid var(--bxm-line-w); }
.bxm-points li { counter-increment: bxmp; padding: 21px 21px 21px 0; display: flex; flex-direction: column; gap: 8px; }
.bxm-points li + li { padding-left: 21px; border-left: 1px solid var(--bxm-line-w); }
.bxm-points li::before { content: "0" counter(bxmp); font-family: var(--bxm-display); font-weight: 600; font-size: var(--fs-h3); line-height: 1; color: var(--bxm-muted-d); }
.bxm-points b { font-size: var(--fs-ui); font-weight: 600; color: var(--bxm-cream); }
.bxm-points span { font-size: 1rem; line-height: 1.55; color: var(--bxm-muted-d); }
@media (max-width: 767px) { .bxm-points { grid-template-columns: 1fr; } .bxm-points li, .bxm-points li + li { padding: 21px 0; border-left: 0; border-bottom: 1px solid var(--bxm-line-w); } }

/* Hyvä tietää -paneeli */
.e-con.bxm-panel--tip { background: var(--bxm-ink-2) !important; border: 1px solid var(--bxm-line-w); border-left: 2px solid var(--bxm-orange); }
.bxm-panel--tip .bxm-body p { color: var(--bxm-cream) !important; }
.bxm-panel--tip .bxm-body p + p { color: var(--bxm-muted-d) !important; }

/* Hintalappu hintaosion otsikon alla */
.bxm-pricetag { margin-top: 34px; padding: 21px 0 0; border-top: 1px solid var(--bxm-line-w); display: flex; flex-direction: column; gap: 8px; }
.bxm-pricetag__p { margin: 0; display: flex; align-items: baseline; gap: 8px; }
.bxm-pricetag__p small { font-size: 1rem; font-weight: 600; color: var(--bxm-muted-d); }
.bxm-pricetag__p b { font-family: var(--bxm-display); font-weight: 600; font-size: clamp(2.945rem, 4.4vw, var(--fs-h1)); line-height: .9; color: var(--bxm-cream); }
.bxm-pricetag__d { margin: 0; font-size: 1rem; color: var(--bxm-muted-d); }
.bxm-pricetag a { align-self: flex-start; margin-top: 13px; color: var(--bxm-cream); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--bxm-orange); padding-bottom: 3px; }
.bxm-pricetag a:hover { color: var(--bxm-orange-hi); }

/* Etäisyydet sijaintiosiossa */
.bxm-dist { list-style: none; margin: 34px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--bxm-line-w); }
.bxm-dist li { display: flex; flex-direction: column; gap: 3px; padding: 13px 0; border-bottom: 1px solid var(--bxm-line-w); }
.bxm-dist li:nth-child(odd) { padding-right: 21px; }
.bxm-dist li:nth-child(even) { padding-left: 21px; border-left: 1px solid var(--bxm-line-w); }
.bxm-dist b { font-family: var(--bxm-display); font-weight: 600; font-size: var(--fs-h3); line-height: 1; color: var(--bxm-cream); }
.bxm-dist span { font-size: .889rem; color: var(--bxm-muted-d); }

/* v10: arvostelunostot ja piilotettu rakenteinen data */
.elementor-widget.bxm-ld { display: none !important; }
.e-con.bxm-quotes { background: var(--bxm-ink-2); border-top: 1px solid var(--bxm-line-w); border-bottom: 1px solid var(--bxm-line-w); }
.bxm-quotes__head { display: flex; align-items: baseline; justify-content: space-between; gap: 21px; flex-wrap: wrap; margin-bottom: 21px; }
.bxm-quotes__score { margin: 0; display: flex; align-items: baseline; gap: 13px; flex-wrap: wrap; color: var(--bxm-muted-d); font-size: 1rem; }
.bxm-quotes__score b { font-family: var(--bxm-display); font-weight: 600; font-size: var(--fs-h2); line-height: .9; color: var(--bxm-cream); }
.bxm-quotes__head a { color: var(--bxm-cream); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--bxm-orange); padding-bottom: 3px; }
.bxm-quotes__head a:hover { color: var(--bxm-orange-hi); }
.bxm-quotes__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--bxm-line-w); }
.bxm-quotes__list li { padding: 21px 21px 0 0; display: flex; flex-direction: column; gap: 13px; }
.bxm-quotes__list li + li { padding-left: 21px; border-left: 1px solid var(--bxm-line-w); }
.bxm-quotes__list blockquote { margin: 0; padding: 0; border: 0; }
.bxm-quotes__list blockquote p { margin: 0; font-size: var(--fs-ui); line-height: 1.5; color: var(--bxm-cream); font-style: normal; }
.bxm-quotes__list cite { font-style: normal; font-size: .889rem; color: var(--bxm-muted-d); }
@media (max-width: 767px) { .bxm-quotes__list { grid-template-columns: 1fr; } .bxm-quotes__list li, .bxm-quotes__list li + li { padding: 21px 0; border-left: 0; border-bottom: 1px solid var(--bxm-line-w); } }

/* =====================================================================
   v11 VÄLIT: kaikki pystyvälit Fibonacci-asteikolla (21 / 34 / 55 / 89 / 144),
   rivinpituus enintään ~68 merkkiä, kosketusalueet vähintään 44 px.
   ===================================================================== */
.e-con.bxm-sec--tight { --padding-top: 55px !important; --padding-bottom: 55px !important; }
.e-con.bxm-cta { --padding-top: 89px !important; --padding-bottom: 89px !important; }
.e-con.bxm-hero:not(.bxm-home-hero) { --padding-bottom: 89px !important; }
@media (max-width: 767px) {
  .e-con.bxm-cta, .e-con.bxm-sec--tight { --padding-top: 55px !important; --padding-bottom: 55px !important; }
  .e-con.bxm-hero:not(.bxm-home-hero) { --padding-bottom: 55px !important; }
}
/* Luettava rivinpituus: kapeat palstat eivät muutu, leveät tekstirivit katkeavat ~68 merkkiin */
.bxm-body p, .bxm-small p, .bxm-trust__text p, .bxm-cta__sub p, .bxm-qa__a p, .bxm-prose p, .bxm-prose li { max-width: 68ch; }
.bxm-lead p { max-width: 60ch; }
/* Kosketusalueet mobiilissa */
@media (max-width: 1024px) {
  /* näkyvä alleviivaus pysyy tekstin alla, osuma-alue laajenee näkymättömällä ::after-kerroksella */
  .bxm-pricetag a, .bxm-quotes__head a, .bxm-prow__go .elementor-heading-title a, .bxm-rating a, .bxm-glass__all a { position: relative; }
  .bxm-pricetag a::after, .bxm-quotes__head a::after, .bxm-prow__go .elementor-heading-title a::after, .bxm-rating a::after, .bxm-glass__all a::after { content: ''; position: absolute; left: -4px; right: -4px; top: -12px; bottom: -12px; }
  .bxm-more { min-height: 44px; }
}

/* v11b: hiominen */
/* Hero-sirut ääriviivoina (oranssi täyttö vain varausnapissa) */
.bxm-pricerow li:first-child { background: transparent !important; border-color: var(--bxm-line-w) !important; color: var(--bxm-cream) !important; }
.bxm-pricerow li:first-child svg { fill: var(--bxm-orange) !important; }
/* Hinnaston kestosarake ei rivity */
@media (min-width: 1025px) { .e-con.bxm-prow { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.7fr) 150px 110px 90px; } }
.bxm-prow--head .elementor-heading-title { white-space: nowrap; }
/* Automerkit kuuteen sarakkeeseen desktopilla: 6 / 6 / 5 */
@media (min-width: 1025px) { .e-con.bxm-grid--5 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 13px; } }
/* Google-kartta tummaan ilmeeseen, värit palaavat kun kartta otetaan käyttöön */
.bxm-map iframe { filter: grayscale(1) invert(.92) contrast(.88) brightness(.95); border: 1px solid var(--bxm-line-w) !important; border-radius: var(--bxm-r); transition: filter .4s; }
.bxm-map:hover iframe, .bxm-map:focus-within iframe { filter: none; }
.bxm-contact dd { text-wrap: balance; }

/* v11c mobiilihiominen */
html, body { background: var(--bxm-black) !important; }
/* Varausrivi saa rivittyä kapealla näytöllä */
@media (max-width: 767px) { .bxm-bookrow__txt span { white-space: normal; } .e-con.bxm-bookrow { flex-direction: column; align-items: stretch; gap: 13px; } }
/* Hintakortti näyttää hinnan myös mobiilissa (ilman hintaa kortti oli irrallinen) */
@media (max-width: 767px) { .bxm-hero__side .bxm-quote__price, .bxm-hero__side .bxm-quote__label { display: block !important; } .bxm-hero__side .bxm-quote__price .elementor-heading-title { font-size: var(--fs-h2) !important; } }
/* Footer mobiilissa: Fibonacci-välit, ei ylimääräisiä tyhjiä kaistoja */
@media (max-width: 767px) {
  .e-con.bxm-footer__grid > .e-con { --padding-top: 34px !important; --padding-bottom: 34px !important; gap: 13px; }
  .e-con.bxm-f-svc, .e-con.bxm-f-brands { --padding-top: 34px !important; --padding-bottom: 34px !important; }
  .e-con.bxm-f-brand { --padding-top: 55px !important; }
}

/* v12 kielivalinta (15.10.2026): liput pois, tekstinä "EN" / "FI". Suomenkielisessä valikossa WPML:n kielivalitsin,
   englanninkielisessä oma bxm-lang-kohde. Nykyistä kieltä ei näytetä. */
.wpml-ls-menu-item .wpml-ls-flag { display: none !important; }
.wpml-ls-menu-item.wpml-ls-current-language { display: none !important; }
.wpml-ls-menu-item.wpml-ls-item-en-us > a::after { content: "EN"; }
.wpml-ls-menu-item.wpml-ls-item-fi > a::after { content: "FI"; }
@media (min-width: 1025px) {
  .bxm-nav .elementor-nav-menu--main .wpml-ls-menu-item > a.elementor-item, .bxm-nav .elementor-nav-menu--main .bxm-lang > a.elementor-item {
    font-size: .8rem !important; letter-spacing: .12em !important; color: var(--bxm-muted-d) !important;
    padding: 6px 10px !important; margin: 0 0 0 8px; border: 1px solid var(--bxm-line-w); border-radius: 2px; align-self: center; }
  .bxm-nav .elementor-nav-menu--main .wpml-ls-menu-item > a.elementor-item:hover, .bxm-nav .elementor-nav-menu--main .bxm-lang > a.elementor-item:hover { color: var(--bxm-cream) !important; border-color: var(--bxm-cream); }
  .bxm-nav .elementor-nav-menu--main .wpml-ls-menu-item > a.elementor-item::before, .bxm-nav .elementor-nav-menu--main .bxm-lang > a.elementor-item::before { display: none !important; }
}

/* v12b: Elementorin alleviivausefekti käyttää samaa ::after-elementtiä, joten teksti pakotetaan näkyviin */
.bxm-nav .elementor-nav-menu .wpml-ls-menu-item.wpml-ls-item-en-us > a::after { content: "EN" !important; }
.bxm-nav .elementor-nav-menu .wpml-ls-menu-item.wpml-ls-item-fi > a::after { content: "FI" !important; }
.bxm-nav .elementor-nav-menu .wpml-ls-menu-item > a::after { position: static !important; display: inline !important; width: auto !important; height: auto !important; background: none !important; opacity: 1 !important; transform: none !important; }
/* WPML-liput: WP Rocketin "Add missing image dimensions" lisää width=640, pakotetaan pieneksi (piilotettu yllä) */
.wpml-ls-flag, .wpml-ls-item img { width: 20px !important; height: auto !important; max-width: 20px !important; }

/* v13: mobiilin hero-kuva kevyempänä (800 px, 29 kt, rajattu ovelle). Esilataus etusivun bxm-preload-widgetissä media-ehdoilla. */
@media (max-width: 767px) {
  .e-con.bxm-home-hero::before { background-image: url("https://bxm.fi/wp-content/uploads/2026/10/bxm-garage-mobile.webp") !important; background-position: 66% 40% !important; }
}

/* v13b: headerin auki/suljettu-tila mahtuu kokonaan (suomeksi pidempi teksti) */
.bxm-h-info .lbl { letter-spacing: .04em !important; font-size: .72rem !important; white-space: nowrap; }
@media (min-width: 1025px) and (max-width: 1500px) { .e-con.bxm-h-info { --padding-left: 13px !important; --padding-right: 8px !important; } }

/* v13c: kapeammilla näytöillä tila saa rivittyä kahdelle riville (headerissa on tilaa) */
@media (max-width: 1366px) { .bxm-h-info .lbl { white-space: normal !important; line-height: 1.25 !important; margin-bottom: 3px; } }

/* v13d: pienet läppärit (1025–1240 px): valikko ja varausnappi mahtuvat yhdelle riville */
@media (min-width: 1025px) and (max-width: 1240px) {
  .bxm-nav .elementor-nav-menu--main .elementor-item { padding: 14px 10px !important; }
  .bxm-nav .elementor-nav-menu--main > ul { gap: 2px !important; }
  .bxm-nav .elementor-nav-menu--main .wpml-ls-menu-item > a.elementor-item, .bxm-nav .elementor-nav-menu--main .bxm-lang > a.elementor-item { margin-left: 4px; padding: 6px 8px !important; }
  .bxm-h-cta .elementor-button { font-size: 1rem !important; white-space: nowrap; }
  .e-con.bxm-h-cta { --padding-left: 26px !important; --padding-right: 10px !important; }
  .bxm-nav .elementor-nav-menu--main .sub-arrow { margin-left: 2px; }
}

/* v14-guides: Autohuolto-opas (artikkelipohja 1020, arkisto 1021, sisällön lohkot) */
.bxm-hero--guide .bxm-h1 .elementor-heading-title { max-width: 16em; }
.bxm-lead--dyn .elementor-heading-title { font-family: var(--bxm-body); font-weight: 400; font-size: clamp(1.125rem, 1.6vw, 1.3rem); line-height: 1.5; text-transform: none; letter-spacing: 0; color: var(--bxm-cream); max-width: 38em; }
.e-con.bxm-guide { --padding-top: 55px; }
.bxm-guide__body { font-size: 1.125rem; }
.bxm-guide__body h2:first-of-type { margin-top: 1.2em; }
/* Lyhyesti: vastaus heti alkuun (hakutulosten nostot ja tekoälyvastaukset) */
.bxm-tldr { background: var(--bxm-paper); border: 1px solid var(--bxm-line); border-radius: 2px; padding: 21px 26px; margin: 0 0 34px; }
.bxm-tldr p { margin: 0; max-width: none !important; }
.bxm-tldr .bxm-tldr__k { font-family: var(--bxm-body); font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bxm-orange-ink); margin-bottom: 8px; }
/* CTA tekstin välissä */
.bxm-incta { display: flex; align-items: center; gap: 21px 34px; background: var(--bxm-ink); color: var(--bxm-cream); border-radius: 2px; padding: 26px 29px; margin: 34px 0 40px; }
.bxm-incta p { margin: 0; max-width: none !important; }
.bxm-incta__body { flex: 1; min-width: 0; }
.bxm-incta__k { font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--bxm-muted-d); margin-bottom: 6px !important; }
.bxm-incta__t { font-family: var(--bxm-display); font-weight: 600; text-transform: uppercase; font-size: 1.85rem; line-height: 1; color: var(--bxm-cream); margin-bottom: 8px !important; }
.bxm-incta__x { font-size: 1rem; line-height: 1.55; color: var(--bxm-muted-d); }
.bxm-prose .bxm-incta a:not(.bxm-incta__btn) { color: var(--bxm-cream); }
.bxm-prose .bxm-incta .bxm-incta__btn, .bxm-incta__btn { flex: none; display: inline-flex; align-items: center; min-height: 52px; padding: 0 26px; background: var(--bxm-orange); color: var(--bxm-ink); font-weight: 700; font-size: 1.05rem; text-decoration: none; border-radius: 2px; white-space: nowrap; transition: background .2s; }
.bxm-incta__btn:hover, .bxm-incta__btn:focus-visible { background: var(--bxm-orange-hi); color: var(--bxm-ink); }
@media (max-width: 767px) { .bxm-incta { flex-direction: column; align-items: stretch; padding: 21px; } .bxm-incta__btn { justify-content: center; } .bxm-incta__t { font-size: 1.6rem; } }
/* UKK artikkelissa */
.bxm-prose .bxm-faq { margin: 0 0 34px; }
.bxm-prose .bxm-qa__q { margin: 0; font-size: 1.1rem; }
.bxm-prose .bxm-qa__a p { margin: 0 0 21px; }
.bxm-readnext { padding-top: 21px; border-top: 1px solid var(--bxm-line); font-weight: 600; }
/* Sivupalkki: hinnat suoraan palvelusivuille */
.bxm-gside .bxm-h3 .elementor-heading-title { font-size: 1.35rem; }
.bxm-gside__list { list-style: none; margin: 8px 0 0; padding: 0; border-top: 1px solid var(--bxm-line-w); }
.bxm-gside__list li { border-bottom: 1px solid var(--bxm-line-w); margin: 0; }
.bxm-gside__list a { display: flex; justify-content: space-between; gap: 13px; padding: 11px 0; color: var(--bxm-cream); text-decoration: none; font-size: .98rem; }
.bxm-gside__list a:hover span { color: var(--bxm-orange-hi); }
.bxm-gside__list b { font-weight: 700; white-space: nowrap; }
.bxm-gside__all { margin: 13px 0 8px; font-size: .95rem; }
.bxm-gside__all a { color: var(--bxm-orange-hi); text-decoration: none; font-weight: 600; }
/* Korttilistat (arkisto + lue seuraavaksi) */
.bxm-cards .elementor-posts-container { gap: 34px 29px; }
.bxm-cards .elementor-post { display: flex; flex-direction: column; background: var(--bxm-paper); border: 1px solid var(--bxm-line); border-radius: 2px; overflow: hidden; transition: transform .25s, border-color .25s; position: relative; }
.bxm-guide-more .bxm-cards .elementor-post { background: rgba(238, 234, 223, .04); border-color: var(--bxm-line-w); }
.bxm-cards .elementor-post:hover { transform: translateY(-3px); border-color: var(--bxm-ink); }
.bxm-guide-more .bxm-cards .elementor-post:hover { border-color: rgba(238, 234, 223, .5); }
.bxm-cards .elementor-post__thumbnail__link { margin: 0 !important; }
.bxm-cards .elementor-post__text { padding: 21px 24px 24px; display: flex; flex-direction: column; flex: 1; }
.bxm-cards .elementor-post__title { margin: 0 0 10px; font-family: var(--bxm-body); font-weight: 700; font-size: 1.2rem; line-height: 1.3; }
.bxm-cards .elementor-post__title a { color: var(--bxm-ink); text-decoration: none; }
.bxm-cards .elementor-post__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bxm-guide-more .bxm-cards .elementor-post__title a { color: var(--bxm-cream); }
.bxm-cards .elementor-post__excerpt p { margin: 0; font-size: 1rem; line-height: 1.55; color: var(--bxm-muted); }
.bxm-guide-more .bxm-cards .elementor-post__excerpt p { color: var(--bxm-muted-d); }
.bxm-cards .elementor-post__read-more { margin-top: auto; padding-top: 16px; font-size: .95rem; font-weight: 700; color: var(--bxm-orange-ink) !important; text-transform: none; letter-spacing: 0; }
.bxm-guide-more .bxm-cards .elementor-post__read-more { color: var(--bxm-orange-hi) !important; }
.bxm-guide-more .bxm-h2 { margin-bottom: 34px; }
@media (min-width: 1025px) {
  .bxm-cards--archive .elementor-post:first-child { grid-column: span 2; flex-direction: row; }
  .bxm-cards--archive .elementor-post:first-child .elementor-post__thumbnail__link { flex: 0 0 58%; }
  .bxm-cards--archive .elementor-post:first-child .elementor-post__thumbnail { height: 100%; padding-bottom: 0 !important; min-height: 300px; }
  .bxm-cards--archive .elementor-post:first-child .elementor-post__text { justify-content: center; padding: 34px; }
  .bxm-cards--archive .elementor-post:first-child .elementor-post__title { font-family: var(--bxm-display); font-weight: 600; text-transform: uppercase; font-size: 2.3rem; line-height: .95; }
}
.bxm-cards--archive .elementor-pagination { margin-top: 55px; font-weight: 700; }
.bxm-cta .bxm-btn .elementor-button { white-space: nowrap; }
/* v14b: oppaiden UKK-ikoni CSS:llä (wpautop käärisi spanin p-tagiin), nostokortin otsikko */
.bxm-guide__body .bxm-qa > summary::after { content: ""; flex: none; width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--bxm-line);
  background: linear-gradient(var(--bxm-ink), var(--bxm-ink)) center / 12px 1.5px no-repeat, linear-gradient(var(--bxm-ink), var(--bxm-ink)) center / 1.5px 12px no-repeat; transition: transform .4s cubic-bezier(.19, 1, .22, 1); }
.bxm-guide__body .bxm-qa[open] > summary::after { transform: rotate(180deg); background: var(--bxm-ink) linear-gradient(var(--bxm-cream), var(--bxm-cream)) center / 12px 1.5px no-repeat; }
.bxm-guide__body .bxm-qa > summary > p { display: none; }
@media (min-width: 1025px) { .bxm-cards--archive .elementor-post:first-child .elementor-post__title, .bxm-cards--archive .elementor-post:first-child .elementor-post__title a { font-family: var(--bxm-display) !important; font-weight: 600; font-size: 2.6rem; line-height: .92; letter-spacing: 0; } }
/* v14c: Opas-valikkokohta mukana, pienet läppärit pysyvät yhdellä rivillä */
@media (min-width: 1025px) and (max-width: 1240px) {
  .bxm-nav .elementor-nav-menu--main > ul { flex-wrap: nowrap !important; }
  .bxm-nav .elementor-nav-menu--main .elementor-item { padding: 14px 7px !important; font-size: .98rem !important; }
}
@media (min-width: 1025px) and (max-width: 1120px) { .bxm-nav .elementor-nav-menu--main .elementor-item { padding: 14px 5px !important; font-size: .94rem !important; } }
/* v14d: korttien hover ei siirrä kuvaa (Elementor keskittää kuvan translate(-50%,-50%):lla), oppaiden linkit palvelusivuilla */
.bxm-cards .elementor-post__thumbnail img { transition: transform .6s cubic-bezier(.19, 1, .22, 1), filter .3s; }
.bxm-cards .elementor-post:hover .elementor-post__thumbnail img { transform: scale(1.05) translate(-50%, -50%); filter: brightness(1.06); }
.bxm-cards .elementor-post:hover { transform: none; }
.bxm-cards .elementor-post { transition: border-color .25s, box-shadow .25s; }
.bxm-cards .elementor-post:hover { box-shadow: 0 14px 34px -18px rgba(18, 16, 21, .45); }
.bxm-glinks { margin-top: 34px; padding: 21px 0 0; border-top: 1px solid var(--bxm-line); }
.bxm-glinks__k { margin: 0 0 8px; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--bxm-orange-ink); }
.bxm-glinks ul { list-style: none; margin: 0; padding: 0; }
.bxm-glinks li { margin: 0; border-bottom: 1px solid var(--bxm-line); }
.bxm-glinks a { display: block; padding: 13px 28px 13px 0; font-weight: 600; color: var(--bxm-ink); text-decoration: none; position: relative; }
.bxm-glinks a::after { content: "→"; position: absolute; right: 4px; top: 13px; color: var(--bxm-orange-ink); transition: transform .2s; }
.bxm-glinks a:hover { color: var(--bxm-orange-ink); } .bxm-glinks a:hover::after { transform: translateX(4px); }
.bxm-sec:not(.bxm-sec--cream) .bxm-glinks a { color: var(--bxm-cream); }
.bxm-sec:not(.bxm-sec--cream) .bxm-glinks, .bxm-sec:not(.bxm-sec--cream) .bxm-glinks li { border-color: var(--bxm-line-w); }
@media (min-width: 1025px) and (max-width: 1120px) { .e-con.bxm-h-cta { --padding-left: 16px !important; --padding-right: 8px !important; } }
/* v15-consent: evästekäytäntösivu */
.bxm-table { overflow-x: auto; margin: 0 0 34px; border-top: 2px solid var(--bxm-ink); }
.bxm-table table { width: 100%; border-collapse: collapse; font-size: .98rem; line-height: 1.5; }
.bxm-table th { text-align: left; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--bxm-muted); padding: 13px 13px 13px 0; border-bottom: 1px solid var(--bxm-line); }
.bxm-table td { padding: 13px 13px 13px 0; border-bottom: 1px solid var(--bxm-line); vertical-align: top; }
.bxm-table td:first-child { font-family: ui-monospace, Consolas, monospace; font-size: .92rem; white-space: nowrap; }
.bxm-table td[colspan] { font-family: var(--bxm-body); white-space: normal; padding-top: 21px; color: var(--bxm-ink); }
.bxm-consent-btn { min-height: 48px; padding: 0 22px; border: 1px solid var(--bxm-ink); border-radius: 2px; background: var(--bxm-ink); color: var(--bxm-cream); font: 700 1rem var(--bxm-body); cursor: pointer; }
.bxm-consent-btn:hover { background: var(--bxm-black); }
@media (max-width: 767px) { .bxm-table td:first-child { white-space: normal; word-break: break-word; } }/* End custom CSS */