.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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;}}:root { --ink:#14181B; --dark:#1C2124; --card-dark:#252B2F; --light-bg:#EAE7E1; --header-cream:#ECEAE5; --orange-accent:#D9612B; --orange-hover:#C2531F; --olive:#3E4636; --olive-tag:#56603F; --text-on-dark:#B4B9BC; --text-on-light:#4F5559; --white:#FFFFFF; --font-heading:Oswald; --font-body:DM Sans; --container-max:1240px; --btn-font-size:13px; --btn-radius:4px; --topbar-text:#D6D2CA; --hero-heading:#F1EEE8; --hero-text:#D3D0CA; --stat-label:#A8ADB0; --divider-dark:#3A4246; --ghost-border:#5A6266; --dot-muted:#5F666A; --line-light:#D8D4CC; --line-dark:#2F363A; --eyebrow-muted:#C9C3B6; --card-border:#333A3E; --card-text:#A3A8AB; --tag-text:#E9E6DD; --step-arrow:#B9AE98; --icon-cream:#F1EEE6; --testi-border:#384044; --testi-hover-border:#5B5148; --quote-text:#E6E3DD; --circ-border:#6D7478; --dot-border:#9AA0A3; --label-gold:#E0A56B; --faq-border:#3E464A; --faq-question:#E3E0DA; --orange-light:#E0743A; --cta-text:#FBE4D9; --footer-icon:#D8D5CF; --dd-heading:#8E9497; --dd-line:#F0EEE9; --meta-text:#7A8084; }
/* Start custom CSS *//* Outline (stroke) SVG icons: Elementor inlines SVGs with fill="currentColor"; keep them as outlines */
.e-svg-base svg[stroke] { fill: none; }
/* Offer strip gradient on the global variables (Elementor stores gradient stops as hex, so this keeps it tied to --orange-accent / --orange-light) */
body .elementor #quote:not(.of-sec) { background-image: linear-gradient(90deg, var(--orange-accent), var(--orange-light)); }
/* View Style arrow turns dark on the white mobile cards */
@media (max-width: 767px) { .style-card-arrow svg { stroke: var(--ink); } }
/* Can't See Your Style card: white icon in orange circle, orange arrow (white on mobile) */
.cta-icon svg { stroke: var(--white); }
.cta-arrow svg { stroke: var(--orange-accent); }
@media (max-width: 767px) { .cta-arrow svg { stroke: var(--white); } }
/* Process: step arrows, outlined numbers fill on hover, workshop image zoom */
.step-arrow svg { stroke: var(--step-arrow); stroke-width: 1.6; }
.step-num { -webkit-text-stroke: 1.5px var(--orange-accent); }
.step:hover .step-num { color: var(--orange-accent); }
.wide-img:hover .wide-img-photo { transform: scale(1.03); }
/* Customisation + Why Us hovers, mobile chevron colour */
.cust-option:hover .cust-icon { background-color: var(--orange-accent); }
.cust-chev svg { stroke: var(--text-on-light); stroke-width: 1.8; }
.why-item:hover .why-icon { transform: translateY(-4px); }
.cust-img:hover img { transform: scale(1.03); }
/* Selected Work: image zoom on card hover */
.work-card:hover .work-photo { transform: scale(1.05); }
/* Header Jacket Styles dropdown (desktop hover) */
.dd::before { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 32px; }
.dd-chev svg { stroke: var(--ink); }
.dd:hover .dd-chev { transform: rotate(-90deg); }
.dd:hover .dd-trigger .nav-link { color: var(--orange-accent); }
body .elementor .dd:hover .dd-menu, body .elementor .dd:focus-within .dd-menu { opacity: 1; visibility: visible; transform: none; }
/* Mobile menu Jacket Styles list */
body .m-dd > summary::-webkit-details-marker { display: none; }
.m-dd .faq-x svg { stroke: var(--ink); }
/* FAQ + footer/mobile-menu accordions: plus icon rotates 45deg and turns orange when open */
body .faq-item > summary::-webkit-details-marker, body .footer-acc-item > summary::-webkit-details-marker { display: none; }
body .faq-x svg { transition: transform .2s; }
body .faq-item[open] > summary .faq-x svg, body .footer-acc-item[open] > summary .faq-x svg, body .m-dd[open] > summary .faq-x svg { transform: rotate(45deg); stroke: var(--orange-accent); }
body .elementor .faq-item[open] { border-color: var(--testi-hover-border); }
/* Footer: social icons turn orange on hover */
.social-btn svg { transition: stroke .2s; }
.social-btn:hover svg { stroke: var(--orange-accent); }
/* Style (service) pages */
.crumb-sep svg { stroke: var(--dd-heading); }
.tick-svg svg { stroke: var(--orange-accent); }
body .elementor .sv-meta-item:last-child { padding: 0; margin: 0; border-right: 0; }
.feat-card:hover .feat-ic { background-color: var(--orange-accent); }
body .elementor .spec-row:nth-child(odd) { border-right: 1px solid var(--line-light); }
body .elementor .spec-row:nth-last-child(-n+2) { border-bottom: 0; }
@media (max-width: 767px) { body .elementor .spec-row:nth-child(odd) { border-right: 0; } body .elementor .spec-row:nth-last-child(2) { border-bottom: 1px solid var(--line-light); } }
/* Testimonials carousel: native scroll-snap; arrows + dots via CSS carousel controls where supported.
   Other browsers get the same controls from the site Custom Code script (classes testi-js / testi-arrow / testi-dots).
   Note: never write the word s-e-l-e-c-t-o-r in this field, Elementor rewrites it. */
.testi-track::-webkit-scrollbar { display: none; }
@media (min-width: 768px) { body .elementor .testi-card:nth-child(even) { scroll-snap-align: none; } }
@supports (scroll-marker-group: after) {
  body .elementor .testi-wrap { padding: 0 68px; }
  body .elementor .testi-track { scroll-marker-group: after; }
  .testi-track::scroll-button(*) { position: absolute; top: 50%; translate: 0 -50%; width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--circ-border); background: transparent center / 18px no-repeat; color: var(--white); cursor: pointer; transition: border-color .2s, opacity .2s; }
  .testi-track::scroll-button(left) { content: "" / "Previous review"; left: 0; background-image: url(/wp-content/uploads/2026/10/arrow-left.svg); }
  .testi-track::scroll-button(right) { content: "" / "Next review"; right: 0; background-image: url(/wp-content/uploads/2026/10/arrow-right.svg); }
  .testi-track::scroll-button(*):hover { border-color: var(--orange-accent); }
  .testi-track::scroll-button(*):disabled { opacity: .35; cursor: default; }
  .testi-track::scroll-marker-group { display: flex; justify-content: center; gap: 8px; margin-top: 22px; }
  .testi-card::scroll-marker { content: ""; width: 9px; height: 9px; border-radius: 50%; border: 1.5px solid var(--dot-border); box-sizing: border-box; cursor: pointer; }
  .testi-card::scroll-marker:target-current { background-color: var(--orange-accent); border-color: var(--orange-accent); }
  @media (min-width: 768px) { .testi-card:nth-child(even)::scroll-marker { display: none; } }
  @media (max-width: 767px) { body .elementor .testi-wrap { padding: 0; } .testi-track::scroll-button(*) { display: none; } }
}
/* Script fallback controls (Safari, Firefox) */
body .elementor .testi-wrap.testi-js { padding: 0 68px; }
.testi-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; padding: 0; border-radius: 50%; border: 1.5px solid var(--circ-border); background: transparent center / 18px no-repeat; cursor: pointer; transition: border-color .2s, opacity .2s; }
.testi-arrow--prev { left: 0; background-image: url(/wp-content/uploads/2026/10/arrow-left.svg); }
.testi-arrow--next { right: 0; background-image: url(/wp-content/uploads/2026/10/arrow-right.svg); }
.testi-arrow:hover { border-color: var(--orange-accent); }
.testi-arrow:disabled { opacity: .35; cursor: default; }
.testi-dots { display: flex; justify-content: center; gap: 8px; margin-top: 22px; }
.testi-dots button { width: 9px; height: 9px; padding: 0; border-radius: 50%; border: 1.5px solid var(--dot-border); background: transparent; cursor: pointer; }
.testi-dots button.is-active { background-color: var(--orange-accent); border-color: var(--orange-accent); }
@media (max-width: 767px) { body .elementor .testi-wrap.testi-js { padding: 0; } .testi-arrow { display: none; } }
/* About page: numbers strip (outlined numbers fill on hover, dividers), value card top bar, Who We Make For icon hover, quote band */
body .elementor .nm-num { color: transparent; -webkit-text-stroke: 1.5px var(--orange-accent); transition: color .3s; }
body .elementor .nm:hover .nm-num { color: var(--orange-accent); }
body .elementor .nm:first-child { border-left: 0; }
@media (max-width: 1024px) { body .elementor .nm:nth-child(3) { border-left: 0; } body .elementor .nm:nth-child(n+3) { border-top: 1px solid var(--line-dark); } }
.vc::before { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 0; background: var(--orange-accent); transition: width .35s; }
.vc:hover::before { width: 100%; }
body .elementor .wf:hover .wf-ic { background-color: var(--orange-accent); }
.qb-quote em { font-style: normal; color: var(--orange-accent); }
body .elementor .qb-fade { background-image: linear-gradient(90deg, var(--ink) 10%, rgba(20, 24, 27, .55)); }
/* Contact page: card icon hover; map box (drop the Google Maps widget into .map-embed: it fills the box, greyscale like the design, and hides the placeholder text) */
body .elementor .cc:hover .cc-ic { background-color: var(--orange-accent); }
body .elementor .map-embed .elementor-widget-google_maps { position: absolute; inset: 0; margin: 0; }
body .elementor .map-embed .elementor-widget-google_maps .elementor-widget-container, body .elementor .map-embed .elementor-custom-embed { height: 100%; }
.map-embed iframe { display: block; width: 100%; height: 100%; border: 0; filter: grayscale(.85) contrast(1.05); }
body .elementor .map-embed:has(iframe) .map-placeholder { display: none; }
/* Blog page: first post in the loop is the large featured card (full row, image left on desktop/tablet); card hovers; hide the category tag when a post has none */
@media (min-width: 768px) {
  body .elementor .blog-grid > :first-child { grid-column: 1 / -1; }
  body .elementor .blog-grid > :first-child .bc { flex-direction: row; }
  body .elementor .blog-grid > :first-child .bc-img { flex: 0 0 55%; aspect-ratio: auto; min-height: 380px; }
  body .elementor .blog-grid > :first-child .bc-body { padding: 44px 46px; justify-content: center; }
  body .elementor .blog-grid > :first-child .bc-title { font-size: 34px; }
  body .elementor .blog-grid > :first-child .bc-text { flex-grow: 0; font-size: 16px; margin-bottom: 26px; }
}
body .elementor .bc-photo { position: absolute; inset: 0; }
.bc:hover .bc-photo { transform: scale(1.06); }
.bc:hover .bc-rm-ic { transform: translateX(4px); }
body .elementor .bc-tag:empty { display: none; }
/* Single post template: post content written in the WordPress editor (inside .post-body) */
html { scroll-behavior: smooth; }
body .elementor .post-body p { margin: 0 0 20px; }
body .elementor .post-body .elementor-widget-theme-post-content > p:first-child, body .elementor .post-body .elementor-widget-container > p:first-child, body .elementor .post-body p.lead { font-size: 20px; line-height: 1.6; font-weight: 500; color: var(--ink); margin-bottom: 26px; }
body .elementor .post-body h2 { font-family: var(--font-heading); font-weight: 600; text-transform: uppercase; letter-spacing: .01em; line-height: 1.08; font-size: 32px; color: var(--ink); margin: 44px 0 16px; scroll-margin-top: 110px; }
body .elementor .post-body h3 { font-family: var(--font-heading); font-weight: 600; text-transform: uppercase; letter-spacing: .01em; line-height: 1.08; font-size: 22px; color: var(--ink); margin: 30px 0 12px; }
body .elementor .post-body a:not(.wp-element-button) { color: var(--orange-accent); text-decoration: underline; text-underline-offset: 3px; }
body .elementor .post-body ul { list-style: none; display: grid; gap: 12px; margin: 0 0 24px; padding: 0; }
body .elementor .post-body ul li { position: relative; padding-left: 36px; }
body .elementor .post-body ul li::before { content: ""; position: absolute; left: 0; top: 3px; width: 24px; height: 24px; border-radius: 50%; background: var(--olive); }
body .elementor .post-body ul li::after { content: ""; position: absolute; left: 6px; top: 9px; width: 12px; height: 12px; background: var(--icon-cream); -webkit-mask: url(/wp-content/uploads/2026/10/bj-post-list-tick.svg) center / contain no-repeat; mask: url(/wp-content/uploads/2026/10/bj-post-list-tick.svg) center / contain no-repeat; }
body .elementor .post-body ol { margin: 0 0 24px; padding-left: 22px; }
body .elementor .post-body ol li { margin-bottom: 8px; }
body .elementor .post-body blockquote { position: relative; margin: 34px 0; padding: 30px 34px 30px 92px; background: var(--ink); color: var(--quote-text); border: 0; border-radius: 8px; font-family: var(--font-heading); font-weight: 500; text-transform: uppercase; font-size: 24px; line-height: 1.25; }
body .elementor .post-body blockquote::before { content: ""; position: absolute; left: 30px; top: 30px; width: 40px; height: 40px; background: var(--orange-accent); -webkit-mask: url(/wp-content/uploads/2026/10/bj-post-quote-mark.svg) center / contain no-repeat; mask: url(/wp-content/uploads/2026/10/bj-post-quote-mark.svg) center / contain no-repeat; }
body .elementor .post-body blockquote p { margin: 0; font: inherit; color: inherit; }
body .elementor .post-body blockquote cite { display: block; margin-top: 12px; font-family: var(--font-body); font-style: normal; font-weight: 400; font-size: 12px; letter-spacing: .1em; color: var(--eyebrow-muted); }
body .elementor .post-body figure { margin: 34px 0; }
body .elementor .post-body figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
body .elementor .post-body figcaption { font-size: 13px; color: var(--meta-text); margin-top: 10px; text-align: center; }
body .elementor .post-body .tip { position: relative; background: var(--white); border: 1px solid var(--line-light); border-left: 4px solid var(--orange-accent); border-radius: 6px; padding: 22px 24px 22px 90px; margin: 30px 0; font-size: 15px; line-height: 1.6; }
body .elementor .post-body .tip::before { content: ""; position: absolute; left: 24px; top: 22px; width: 48px; height: 48px; border-radius: 50%; background: rgba(217, 97, 43, .12); }
body .elementor .post-body .tip::after { content: ""; position: absolute; left: 35px; top: 33px; width: 26px; height: 26px; background: var(--orange-accent); -webkit-mask: url(/wp-content/uploads/2026/10/bj-post-tip-lightbulb.svg) center / contain no-repeat; mask: url(/wp-content/uploads/2026/10/bj-post-tip-lightbulb.svg) center / contain no-repeat; }
body .elementor .post-body .tip p { margin: 0; }
body .elementor .post-body .tip strong:first-child { display: block; font-family: var(--font-heading); font-weight: 600; text-transform: uppercase; font-size: 17px; color: var(--ink); margin-bottom: 4px; }
@media (max-width: 767px) {
  body .elementor .post-body .elementor-widget-theme-post-content > p:first-child, body .elementor .post-body .elementor-widget-container > p:first-child, body .elementor .post-body p.lead { font-size: 17px; }
  body .elementor .post-body h2 { font-size: 24px; margin: 34px 0 12px; }
  body .elementor .post-body h3 { font-size: 19px; }
  body .elementor .post-body blockquote { padding: 66px 22px 24px; font-size: 19px; }
  body .elementor .post-body blockquote::before { left: 22px; top: 20px; width: 34px; height: 34px; }
  body .elementor .post-body .tip { padding: 18px 18px 18px 72px; }
  body .elementor .post-body .tip::before { left: 18px; top: 18px; width: 40px; height: 40px; }
  body .elementor .post-body .tip::after { left: 27px; top: 27px; width: 22px; height: 22px; }
}
/* Single post template: tags, In This Article list, categories list, sidebar card ring, copy-link feedback */
body .elementor .ptags a { height: 32px; padding: 0 14px; border-radius: 30px; background: var(--white); border: 1px solid var(--line-light); font-size: 12px; font-weight: 600; color: var(--ink); display: inline-flex; align-items: center; transition: .2s; }
body .elementor .ptags a:hover { border-color: var(--orange-accent); color: var(--orange-accent); }
body .elementor .ptags:empty { display: none; }
body .elementor .toc { list-style: none; counter-reset: t; display: grid; gap: 2px; margin: 0; padding: 0; }
body .elementor .toc a { display: flex; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--dd-line); font-size: 14px; font-weight: 500; color: var(--text-on-light); transition: .2s; }
body .elementor .toc li:last-child a { border: 0; }
body .elementor .toc a::before { counter-increment: t; content: counter(t, decimal-leading-zero); font-family: var(--font-heading); font-weight: 500; color: var(--orange-accent); }
body .elementor .toc a:hover { color: var(--orange-accent); }
body .elementor .cats { list-style: none; display: grid; margin: 0; padding: 0; }
body .elementor .cats a { display: flex; justify-content: space-between; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--dd-line); font-size: 14px; font-weight: 500; color: var(--ink); transition: .2s; }
body .elementor .cats li:last-child a { border: 0; }
body .elementor .cats a span { min-width: 28px; height: 22px; border-radius: 20px; background: var(--light-bg); font-size: 11px; font-weight: 700; display: grid; place-items: center; }
body .elementor .cats a:hover { color: var(--orange-accent); }
.scta::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 140px; height: 140px; border-radius: 50%; border: 24px solid rgba(255, 255, 255, .12); pointer-events: none; }
body .elementor .sh-copy.is-copied { background-color: var(--orange-accent); border-color: var(--orange-accent); color: var(--white); }
/* Legal pages (Privacy Policy): numbered On This Page links, outlined section numbers, bullet dots, inline links */
body .elementor .lg-toc { counter-reset: lgt; }
body .elementor .lg-toc-link::before { counter-increment: lgt; content: counter(lgt, decimal-leading-zero); font-family: var(--font-heading); font-weight: 500; color: var(--orange-accent); }
body .elementor .lg-toc > :last-child { border-bottom: 0; }
body .elementor .lg-h2 span { font-family: var(--font-heading); font-weight: 500; color: transparent; -webkit-text-stroke: 1.2px var(--orange-accent); }
body .elementor .lg-li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--orange-accent); flex-shrink: 0; margin-top: 9px; }
body .elementor .lg-s:last-child { border-bottom: 0; padding-bottom: 0; }
body .elementor .lg-s a { color: var(--orange-accent); font-weight: 600; }
/* Order Form template (saved template "Order Form"): card details (the Pro Form widget is styled in its own Custom CSS) */
body .elementor .of-card-sub span { color: var(--orange-accent); }
.of-ct-link:hover .of-ct-ic { background-color: var(--orange-accent); border-color: var(--orange-accent); color: var(--white); }/* End custom CSS */