/* Melodi Ambalaj — unified professional theme v5 */
:root {
  --melodi-ink: #0b2b31;
  --melodi-ink-2: #143b40;
  --melodi-orange: #f36f3d;
  --melodi-orange-dark: #df5728;
  --melodi-cream: #f5f1e8;
  --melodi-paper: #fffdf9;
  --melodi-line: #e6e0d6;
  --melodi-muted: #68767a;
  --melodi-white: #fff;
  --melodi-shadow: 0 18px 54px rgba(10, 43, 49, .10);
  --melodi-shadow-soft: 0 10px 30px rgba(10, 43, 49, .07);
  --melodi-radius: 22px;
  --melodi-container: 1440px;
}

html { scroll-behavior: smooth; background: var(--melodi-cream); }
body {
  margin: 0 !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  background: var(--melodi-cream) !important;
  color: var(--melodi-ink) !important;
  font-family: "Oxygen", "Segoe UI", Arial, sans-serif !important;
  font-size: 15px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}
body.theme-menu-open { overflow: hidden !important; }
body *, body *::before, body *::after { box-sizing: border-box; }
a { color: inherit; transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
img { max-width: 100%; }
::selection { color: #fff; background: var(--melodi-orange); }

#wrapper,
body.stretched #wrapper {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
  background: var(--melodi-cream) !important;
  box-shadow: none !important;
}
.container,
body.stretched .container {
  width: min(var(--melodi-container), calc(100% - 48px)) !important;
  max-width: var(--melodi-container) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.anahtar { position: fixed !important; left: -10000px !important; top: -10000px !important; }

/* Trust bar */
#top-bar {
  height: 34px !important;
  min-height: 34px !important;
  border: 0 !important;
  background: var(--melodi-ink) !important;
  color: rgba(255,255,255,.7) !important;
  font-size: 10px !important;
  line-height: 34px !important;
}
#top-bar .container { position: relative; height: 34px; }
#top-bar .col_half:first-of-type,
#top-bar .col_half:nth-of-type(2) { display: none !important; }
#top-bar .fright { position: absolute !important; top: 0; right: 0; width: auto !important; margin: 0 !important; }
.theme-trustline { display: flex; align-items: center; height: 34px; gap: 27px; letter-spacing: .02em; }
.theme-trustline span { position: relative; white-space: nowrap; }
.theme-trustline span + span::before { content: ""; position: absolute; left: -14px; top: 50%; width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,.34); }
.theme-trustline b { margin-right: 5px; color: #ff9a6c; font-size: 9px; letter-spacing: .12em; }
#top-social li { border-color: rgba(255,255,255,.1) !important; }
#top-social li a { width: 34px !important; height: 34px !important; color: rgba(255,255,255,.68) !important; }
#top-social li .ts-icon { width: 34px !important; height: 34px !important; line-height: 34px !important; }
#top-social li .ts-text { display: none !important; }
#top-social li a:hover { color: #fff !important; background: rgba(255,255,255,.09) !important; }

/* Header */
#header,
#header.floating-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  height: 92px !important;
  min-height: 92px !important;
  margin: 0 !important;
  border: 0 !important;
  background: rgba(255,253,249,.97) !important;
  box-shadow: 0 1px 0 rgba(11,43,49,.08) !important;
  backdrop-filter: blur(18px);
  transition: height .26s ease, box-shadow .26s ease !important;
}
#header-wrap,
#header.sticky-header #header-wrap {
  position: static !important;
  width: 100% !important;
  height: 92px !important;
  min-height: 92px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: height .26s ease !important;
}
#header .container { display: flex; align-items: center; justify-content: space-between; height: 92px !important; }
#logo {
  display: flex !important;
  align-items: center;
  flex: 0 0 auto;
  float: none !important;
  width: 232px !important;
  height: 92px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  transition: width .26s ease, height .26s ease !important;
}
#logo a { display: flex !important; align-items: center; width: 100%; height: 100%; }
#logo img,
#header.sticky-header #logo img {
  display: block !important;
  width: 218px !important;
  height: auto !important;
  max-height: 66px !important;
  padding: 0 !important;
  transition: width .26s ease, max-height .26s ease !important;
}
#logo .retina-logo,
#header.sticky-header #logo .retina-logo { display: none !important; }
.theme-header-scrolled #header,
.theme-header-scrolled #header-wrap,
.theme-header-scrolled #header .container { height: 70px !important; }
.theme-header-scrolled #header,
.theme-header-scrolled #header-wrap { min-height: 70px !important; }
.theme-header-scrolled #header { box-shadow: 0 8px 30px rgba(11,43,49,.10) !important; }
.theme-header-scrolled #logo { width: 190px !important; height: 70px !important; }
.theme-header-scrolled #logo img { width: 176px !important; max-height: 52px !important; }

@media (min-width: 992px) {
  .theme-header-scrolled #header.sticky-header #header-wrap { height: 70px !important; min-height: 70px !important; }
  .theme-header-scrolled #header.sticky-header #logo img { width: 176px !important; max-height: 52px !important; }
}

#primary-menu { position: static !important; float: none !important; margin: 0 !important; }
#primary-menu > ul { display: flex !important; align-items: center; gap: 0; margin: 0 !important; }
#primary-menu > ul > li { position: relative; float: none !important; margin: 0 !important; }
#primary-menu > ul > li > a {
  display: flex !important;
  align-items: center;
  height: 92px !important;
  padding: 0 17px !important;
  color: #294449 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
  line-height: 1 !important;
}
#primary-menu > ul > li > a::after { content: ""; position: absolute; right: 17px; bottom: 23px; left: 17px; height: 2px; background: var(--melodi-orange); transform: scaleX(0); transform-origin: right; transition: transform .22s ease; }
#primary-menu > ul > li:hover > a { color: var(--melodi-orange-dark) !important; }
#primary-menu > ul > li:hover > a::after { transform: scaleX(1); transform-origin: left; }
#primary-menu.sub-title > ul > li > a > div { padding: 0 !important; text-transform: none !important; }
#primary-menu.sub-title > ul > li > a span { display: none !important; }
.theme-header-scrolled #primary-menu > ul > li > a { height: 70px !important; }
.theme-header-scrolled #primary-menu > ul > li > a::after { bottom: 14px; }
#primary-menu > ul > li > ul {
  display: block !important;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  position: absolute !important;
  top: calc(100% - 5px) !important;
  left: 8px !important;
  width: 250px !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid rgba(11,43,49,.08) !important;
  border-top: 3px solid var(--melodi-orange) !important;
  border-radius: 0 0 15px 15px !important;
  background: #fff !important;
  box-shadow: var(--melodi-shadow) !important;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
}
#primary-menu > ul > li:hover > ul { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
#primary-menu > ul > li > ul > li { float: none !important; border: 0 !important; }
#primary-menu > ul > li > ul > li > a { display: block !important; width: 100% !important; padding: 11px 12px !important; border-radius: 8px; color: #315057 !important; font-size: 11px !important; font-weight: 600 !important; line-height: 1.35 !important; }
#primary-menu > ul > li > ul > li > a:hover { color: var(--melodi-orange-dark) !important; background: #fff3ed !important; }
#primary-menu > ul > li > ul i { color: var(--melodi-orange); }
.theme-quote-item { margin-left: 10px !important; }
#primary-menu > ul > li.theme-quote-item > a {
  height: 46px !important;
  padding: 0 21px !important;
  border-radius: 13px !important;
  background: var(--melodi-orange) !important;
  color: #fff !important;
  box-shadow: 0 9px 22px rgba(243,111,61,.26);
}
#primary-menu > ul > li.theme-quote-item > a::after { display: none; }
#primary-menu > ul > li.theme-quote-item > a:hover { background: var(--melodi-orange-dark) !important; transform: translateY(-2px); }
.theme-mobile-head,
.theme-mobile-actions,
.theme-submenu-toggle,
.theme-menu-backdrop { display: none; }

/* Home slider */
.is-home #slider.slider-parallax {
  position: relative !important;
  z-index: 1;
  width: 100% !important;
  height: clamp(360px, 31.25vw, 520px) !important;
  min-height: 0 !important;
  margin: 0 0 105px !important;
  overflow: visible !important;
  background: var(--melodi-ink) !important;
}
.is-home #slider .swiper-container { width: 100% !important; height: 100% !important; overflow: hidden !important; }
.is-home #slider .swiper-wrapper,
.is-home #slider .swiper-slide { height: 100% !important; }
.is-home #slider .swiper-slide { background-position: center !important; background-size: cover !important; background-repeat: no-repeat !important; }
#slider-arrow-left,
#slider-arrow-right { top: 50% !important; width: 46px !important; height: 56px !important; margin-top: -28px !important; border: 1px solid rgba(255,255,255,.24) !important; border-radius: 0 12px 12px 0 !important; background: rgba(11,43,49,.76) !important; backdrop-filter: blur(8px); }
#slider-arrow-right { border-radius: 12px 0 0 12px !important; }
#slider-arrow-left i,
#slider-arrow-right i { color: #fff !important; font-size: 22px !important; line-height: 54px !important; }
.theme-slider-assurance {
  position: absolute;
  z-index: 20;
  right: 50%;
  bottom: -45px;
  display: grid;
  grid-template-columns: 1fr 1fr 1.15fr;
  width: min(920px, calc(100% - 48px));
  min-height: 90px;
  border: 1px solid rgba(11,43,49,.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--melodi-shadow);
  transform: translateX(50%);
  overflow: hidden;
}
.theme-slider-assurance > span,
.theme-slider-assurance > a { display: flex; align-items: center; gap: 14px; min-width: 0; padding: 20px 23px; border-right: 1px solid var(--melodi-line); }
.theme-slider-assurance > a { justify-content: space-between; border: 0; background: var(--melodi-ink); color: #fff; }
.theme-slider-assurance > a:hover { background: var(--melodi-orange-dark); }
.theme-slider-assurance > span > i { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; background: #fff0e9; color: var(--melodi-orange); font-size: 17px; }
.theme-slider-assurance em { display: flex; flex-direction: column; min-width: 0; font-style: normal; line-height: 1.35; }
.theme-slider-assurance b { font-size: 11px; letter-spacing: .025em; }
.theme-slider-assurance small { margin-top: 4px; color: #809095; font-size: 9px; }
.theme-slider-assurance a small { color: rgba(255,255,255,.58); }
.theme-slider-assurance a > i { color: #ff9a6c; }

/* Home feature cards */
.is-home #content { overflow: visible !important; background: var(--melodi-cream) !important; }
.is-home #content > .content-wrap { padding: 0 0 90px !important; }
.is-home #content > .content-wrap > .content-wrap { padding: 0 !important; }
.is-home #content > .content-wrap > .content-wrap .container { width: min(var(--melodi-container), calc(100% - 48px)) !important; }
.theme-feature-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: 100% !important;
  margin: 0 !important;
}
.theme-feature-card {
  position: relative;
  min-width: 0;
  min-height: 190px;
  padding: 26px 25px 24px;
  border: 1px solid rgba(11,43,49,.075);
  border-radius: 18px;
  background: var(--melodi-paper);
  box-shadow: var(--melodi-shadow-soft);
  overflow: hidden;
}
.theme-feature-card::after { content: ""; position: absolute; right: -45px; bottom: -55px; width: 120px; height: 120px; border: 1px solid rgba(243,111,61,.12); border-radius: 50%; }
.theme-feature-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.theme-feature-top > b { color: #bdc3c1; font-size: 9px; letter-spacing: .16em; }
.theme-feature-icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 13px; background: #fff0e9; color: var(--melodi-orange); font-size: 19px; }
.theme-feature-card h3 { margin: 0 0 8px !important; color: var(--melodi-ink) !important; font-family: inherit !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.3 !important; }
.theme-feature-card p { max-width: 210px; margin: 0 !important; color: var(--melodi-muted); font-size: 11px; line-height: 1.65; }

/* Homepage story system */
.theme-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr);
  gap: 0;
  width: min(var(--melodi-container), calc(100% - 48px));
  margin: 100px auto 0;
  border-radius: var(--melodi-radius);
  background: var(--melodi-paper);
  box-shadow: var(--melodi-shadow);
  overflow: hidden;
}
.theme-story > .site_sec1,
.theme-story > .parallax_sec1,
.theme-story > .parallax_sec2 { width: auto !important; min-height: 510px !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; }
.theme-story > .site_sec1 { display: flex; align-items: center; padding: 62px !important; background: var(--melodi-paper) !important; }
.theme-story > .site_sec1 .container { width: 100% !important; }
.theme-story > .site_sec1 .left { width: 100% !important; }
.theme-story > .parallax_sec1,
.theme-story > .parallax_sec2 { background-attachment: scroll !important; background-position: center !important; background-size: cover !important; }
.theme-story-secondary { grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr); }
.theme-story-secondary > .site_sec1 { background: var(--melodi-ink) !important; }
.theme-story-secondary > .site_sec1 h2 { color: #fff !important; }
.theme-story-secondary > .site_sec1 p { color: rgba(255,255,255,.66) !important; }
.theme-story-secondary .theme-eyebrow { color: #ff9566 !important; }
.site_sec1 {
  float: none !important;
  clear: both !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.site_sec1 > .container > .left { width: 100% !important; float: none !important; }
.site_sec1 h2 {
  max-width: 770px;
  margin: 0 0 22px !important;
  color: var(--melodi-ink) !important;
  font-family: inherit !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  font-weight: 700 !important;
  letter-spacing: -.045em !important;
  line-height: 1.06 !important;
}
.site_sec1 p { margin: 0 !important; color: var(--melodi-muted) !important; font-size: 13px; line-height: 1.9; }
.site_sec1 p + p { margin-top: 12px !important; }
.theme-eyebrow,
.contact-eyebrow,
.contact-card-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 15px;
  color: var(--melodi-orange-dark) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .17em !important;
  line-height: 1.2;
}
.theme-eyebrow::before { content: ""; width: 24px; height: 2px; background: currentColor; }
.theme-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 36px; padding-top: 27px; border-top: 1px solid var(--melodi-line); }
.theme-metrics span { display: flex; flex-direction: column; }
.theme-metrics b { color: var(--melodi-orange); font-size: 26px; line-height: 1; }
.theme-metrics small { margin-top: 7px; color: var(--melodi-muted); font-size: 9px; line-height: 1.4; }

.theme-category-section { float: none !important; clear: both !important; width: min(var(--melodi-container), calc(100% - 48px)); margin: 105px auto 0 !important; padding: 0 !important; }
.theme-category-section .container { width: 100% !important; }
.theme-category-section h2 { margin-bottom: 35px !important; }
.theme-category-section #portfolio { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; width: 100% !important; margin: 0 !important; }
#portfolio { height: auto !important; }
#portfolio .portfolio-item {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  transform: none !important;
}
.theme-category-section .portfolio-item,
.is-product-grid #portfolio .portfolio-item,
.is-product-detail #portfolio .portfolio-item { border: 1px solid rgba(11,43,49,.08); border-radius: 18px; background: var(--melodi-paper); box-shadow: var(--melodi-shadow-soft); overflow: hidden; }
.theme-category-section .portfolio-image,
.is-product-grid #portfolio .portfolio-image,
.is-product-detail #portfolio .portfolio-image { position: relative; width: 100% !important; margin: 0 !important; overflow: hidden; background: #eee9df; }
.theme-category-section .portfolio-image { aspect-ratio: 1.28 / 1; }
.theme-category-section .portfolio-image img,
.is-product-grid #portfolio .portfolio-image img,
.is-product-detail #portfolio .portfolio-image img { width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .45s ease !important; }
.portfolio-item:hover .portfolio-image img { transform: scale(1.045); }
.theme-category-section .portfolio-desc,
.is-product-grid #portfolio .portfolio-desc,
.is-product-detail #portfolio .portfolio-desc { padding: 18px 19px !important; background: var(--melodi-paper) !important; }
.theme-category-section .portfolio-desc h3,
.is-product-grid #portfolio .portfolio-desc h3,
.is-product-detail #portfolio .portfolio-desc h3 { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 !important; color: var(--melodi-ink) !important; font-family: inherit !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .035em; line-height: 1.4 !important; }
.portfolio-desc h3 a { color: inherit !important; }
.theme-card-arrow { display: grid; place-items: center; flex: 0 0 29px; width: 29px; height: 29px; border-radius: 50%; background: #fff0e9; color: var(--melodi-orange); font-size: 12px; }

.theme-sustainability { float: none !important; clear: both !important; width: min(var(--melodi-container), calc(100% - 48px)); margin: 100px auto 0 !important; padding: 70px 74px !important; border-radius: var(--melodi-radius); background: linear-gradient(120deg, var(--melodi-ink), #154850) !important; box-shadow: var(--melodi-shadow); overflow: hidden; }
.theme-sustainability .container { width: 100% !important; }
.theme-sustainability .left { position: relative; z-index: 1; max-width: 850px; }
.theme-sustainability h2 { color: #fff !important; }
.theme-sustainability p { color: rgba(255,255,255,.67) !important; }
.theme-sustainability .theme-eyebrow { color: #ff9566 !important; }
.theme-inline-cta { display: inline-flex; align-items: center; gap: 22px; margin-top: 30px; padding: 14px 19px; border-radius: 12px; background: var(--melodi-orange); color: #fff !important; font-size: 11px; font-weight: 700; }
.theme-inline-cta:hover { background: #fff; color: var(--melodi-ink) !important; transform: translateY(-2px); }

/* Inner page masthead */
#page-menu { height: 42px !important; border: 0 !important; background: var(--melodi-ink) !important; }
#page-menu-wrap { position: static !important; height: 42px !important; background: transparent !important; }
#page-menu .container { height: 42px; }
#page-menu nav { float: none !important; }
#page-menu nav ul { display: flex; align-items: center; height: 42px; }
#page-menu nav li { float: none !important; }
#page-menu nav li a { padding: 0 18px 0 0 !important; color: rgba(255,255,255,.55) !important; font-size: 9px !important; font-weight: 600 !important; letter-spacing: .08em; line-height: 42px !important; }
#page-menu nav li:last-child a { color: #fff !important; }
#page-menu nav i { color: var(--melodi-orange); }
body:not(.is-home) #slider {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 200px !important;
  min-height: 200px !important;
  padding: 0 !important;
  background-position: center 44% !important;
  background-size: cover !important;
  overflow: hidden !important;
}
body:not(.is-home) #slider::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,32,37,.95), rgba(7,32,37,.55) 65%, rgba(7,32,37,.22)); }
body:not(.is-home) #slider .container { position: relative; z-index: 1; display: flex; align-items: center; height: 100%; }
body:not(.is-home) #slider h1 { position: relative; margin: 0 !important; padding-left: 24px; color: #fff !important; font-family: inherit !important; font-size: clamp(36px, 5vw, 58px) !important; font-weight: 700 !important; letter-spacing: -.04em !important; line-height: 1 !important; }
body:not(.is-home) #slider h1::before { content: ""; position: absolute; top: 6px; bottom: 2px; left: 0; width: 5px; border-radius: 4px; background: var(--melodi-orange); }
body:not(.is-home) #content { background: var(--melodi-cream) !important; }
body:not(.is-home) #content > .content-wrap { padding: 76px 0 !important; }
body:not(.is-home) #content > .content-wrap > .container { width: min(var(--melodi-container), calc(100% - 48px)) !important; }

/* About + editorial */
.is-about-page #content .col_full,
.is-editorial-page #content .col_full { width: 100% !important; margin: 0 !important; float: none !important; }
.theme-about-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .72fr); gap: 28px; }
.theme-about-copy,
.theme-editorial-card { padding: 55px 58px; border: 1px solid rgba(11,43,49,.08); border-radius: var(--melodi-radius); background: var(--melodi-paper); box-shadow: var(--melodi-shadow-soft); color: var(--melodi-muted); font-size: 14px; line-height: 1.9; }
.theme-about-copy p,
.theme-editorial-card p { margin: 0 0 22px !important; }
.theme-about-copy p:last-child,
.theme-editorial-card p:last-child { margin-bottom: 0 !important; }
.theme-about-aside { padding: 42px 36px; border-radius: var(--melodi-radius); background: var(--melodi-ink); color: #fff; box-shadow: var(--melodi-shadow); }
.theme-about-aside h2 { margin: 0 0 34px !important; color: #fff !important; font-family: inherit !important; font-size: 28px !important; font-weight: 700 !important; letter-spacing: -.035em; line-height: 1.2 !important; }
.theme-about-aside > div { display: flex; flex-direction: column; padding: 19px 0; border-top: 1px solid rgba(255,255,255,.13); }
.theme-about-aside b { color: #ff9363; font-size: 24px; line-height: 1; }
.theme-about-aside small { margin-top: 7px; color: rgba(255,255,255,.63); font-size: 10px; }

/* Product lists */
.is-product-grid #content { padding: 0 !important; }
body.is-product-grid #content > .content-wrap,
body.is-product-grid #wrapper > .content-wrap { padding: 64px 0 !important; }
.is-product-grid #content .container { width: min(var(--melodi-container), calc(100% - 48px)) !important; }
.is-product-grid #portfolio { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; width: 100% !important; margin: 0 !important; }
.is-product-grid #portfolio .portfolio-image { aspect-ratio: 1 / .84; }
.is-product-grid #portfolio .portfolio-desc { min-height: 66px; }

/* Product detail */
.is-product-detail #content > .content-wrap { padding: 76px 0 !important; }
.is-product-detail #content .col_half { width: calc(50% - 18px) !important; margin: 0 36px 0 0 !important; }
.is-product-detail #content .col_half.col_last { margin-right: 0 !important; }
.is-product-detail .fslider { border-radius: var(--melodi-radius); background: #fff; box-shadow: var(--melodi-shadow); overflow: hidden; }
.is-product-detail .fslider img { width: 100% !important; }
.product-summary-head { margin-bottom: 28px; padding: 39px; border-radius: var(--melodi-radius); background: var(--melodi-ink); color: #fff; box-shadow: var(--melodi-shadow); }
.product-summary-head > span { color: #ff9363; font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.product-summary-head h2 { margin: 13px 0 15px !important; color: #fff !important; font-family: inherit !important; font-size: 34px !important; font-weight: 700 !important; letter-spacing: -.035em; line-height: 1.15 !important; }
.product-summary-head p { margin: 0 0 23px !important; color: rgba(255,255,255,.67); font-size: 12px; }
.product-summary-head a { display: inline-flex; align-items: center; gap: 20px; padding: 13px 17px; border-radius: 10px; background: var(--melodi-orange); color: #fff !important; font-size: 10px; font-weight: 700; }
.is-product-detail #content .content-wrap + .content-wrap { padding-top: 0 !important; }
.is-product-detail #portfolio { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }

/* Contact */
.contact-intro { max-width: 760px; margin-bottom: 40px; }
.contact-intro h2 { margin: 0 0 18px !important; color: var(--melodi-ink) !important; font-family: inherit !important; font-size: 43px !important; font-weight: 700 !important; letter-spacing: -.045em; line-height: 1.1 !important; }
.contact-intro p { margin: 0 !important; color: var(--melodi-muted); }
.contact-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 24px; }
.contact-card { min-width: 0; margin: 0 !important; padding: 42px; border: 1px solid rgba(11,43,49,.08); border-radius: var(--melodi-radius); background: var(--melodi-paper); box-shadow: var(--melodi-shadow-soft); }
.contact-action-card { background: var(--melodi-ink); color: #fff; }
.contact-card-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 24px; border-radius: 14px; background: #fff0e9; color: var(--melodi-orange); font-size: 19px; }
.contact-action-card .contact-card-icon { background: rgba(255,255,255,.1); color: #ff9363; }
.contact-card h3 { margin: 0 0 15px !important; color: var(--melodi-ink) !important; font-family: inherit !important; font-size: 27px !important; font-weight: 700 !important; letter-spacing: -.03em; line-height: 1.2 !important; }
.contact-action-card h3 { color: #fff !important; }
.contact-card p { color: var(--melodi-muted); font-size: 12px; }
.contact-action-card p { color: rgba(255,255,255,.65); }
.contact-details-card > p { margin: 0 0 7px !important; font-size: 11px; line-height: 1.55; }
.contact-details-card > p:empty { display: none !important; }
.contact-list { margin: 26px 0 0; }
.contact-list > div { display: grid; grid-template-columns: 110px 1fr; gap: 15px; padding: 12px 0; border-top: 1px solid var(--melodi-line); }
.contact-list dt { color: var(--melodi-muted); font-size: 10px; font-weight: 400; }
.contact-list dd { margin: 0; color: var(--melodi-ink); font-size: 11px; font-weight: 700; }
.contact-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 25px; }
.contact-action { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; color: #fff !important; font-size: 10px; }
.contact-action:hover { border-color: var(--melodi-orange); background: rgba(255,255,255,.06); }
.contact-action-primary { border-color: var(--melodi-orange); background: var(--melodi-orange); }
.contact-security-note { display: flex; gap: 10px; margin-top: 23px; color: rgba(255,255,255,.46); font-size: 9px; }
.contact-map-heading { display: flex; align-items: flex-end; justify-content: space-between; margin: 70px 0 22px; }
.contact-map-heading h3 { margin: 0 !important; color: var(--melodi-ink) !important; font-family: inherit !important; font-size: 29px !important; font-weight: 700 !important; }
.contact-map-heading > a { color: var(--melodi-orange-dark); font-size: 10px; font-weight: 700; }
.google-maps.contact-map { height: auto !important; margin: 0 !important; padding: 0 !important; border: 8px solid #fff !important; border-radius: var(--melodi-radius); box-shadow: var(--melodi-shadow); overflow: hidden; }
.google-maps.contact-map iframe { position: relative !important; inset: auto !important; display: block; width: 100% !important; height: 420px !important; min-height: 420px; }

/* Footer */
#footer { margin: 0 !important; border: 0 !important; border-top: 4px solid var(--melodi-orange) !important; background: #08262c !important; color: rgba(255,255,255,.58) !important; }
#footer .container { width: min(var(--melodi-container), calc(100% - 48px)) !important; }
#footer .footer-widgets-wrap { display: grid; grid-template-columns: 1.3fr .75fr .75fr .9fr; gap: 48px; padding: 64px 0 54px !important; }
#footer .col_one_fourth,
#footer .col_one_fourth.col_last { float: none !important; width: auto !important; margin: 0 !important; }
#footer .widget { margin: 0 !important; font-size: 10px; line-height: 1.9; }
#footer .footer-logo { width: 190px !important; height: auto !important; margin-bottom: 25px !important; padding: 14px 17px; border-radius: 12px; background: #fff; }
#footer h4 { margin: 7px 0 22px !important; color: #fff !important; font-family: inherit !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .14em !important; }
#footer li { margin: 0 0 7px !important; list-style: none !important; }
#footer a { color: rgba(255,255,255,.65) !important; }
#footer a:hover { color: #ff9363 !important; }
#footer i { color: #ff9363; }
#copyrights { min-height: 58px !important; padding: 18px 0 !important; border-top: 1px solid rgba(255,255,255,.09) !important; background: #061f24 !important; color: rgba(255,255,255,.38) !important; font-size: 9px !important; }
#copyrights .container { display: flex; align-items: center; justify-content: space-between; }
#copyrights .col_half { float: none !important; width: auto !important; margin: 0 !important; }
#copyrights .col_last.hidden-xs { display: none !important; }
.ccw_plugin { z-index: 900 !important; }
#gotoTop { right: 18px !important; bottom: 18px !important; width: 44px !important; height: 44px !important; border-radius: 50% !important; background: var(--melodi-orange) !important; color: #fff !important; line-height: 44px !important; }

/* Tablet / mobile navigation */
@media (max-width: 991px) {
  .container,
  body.stretched .container { width: calc(100% - 32px) !important; }
  #top-bar { display: none !important; }
  #header,
  #header.floating-header,
  #header-wrap,
  #header.sticky-header #header-wrap,
  #header .container,
  .theme-header-scrolled #header,
  .theme-header-scrolled #header-wrap,
  .theme-header-scrolled #header .container { height: 72px !important; min-height: 72px !important; }
  #header,
  #header.floating-header { z-index: 1200 !important; }
  #header .container { justify-content: center; width: calc(100% - 28px) !important; }
  #logo,
  .theme-header-scrolled #logo { width: 190px !important; height: 72px !important; }
  #logo img,
  #header.sticky-header #logo img,
  .theme-header-scrolled #logo img { width: 184px !important; max-height: 55px !important; }
  #primary-menu-trigger { position: absolute !important; top: 15px !important; left: 0 !important; z-index: 1210 !important; display: grid !important; place-items: center; width: 42px !important; height: 42px !important; margin: 0 !important; border: 1px solid var(--melodi-line); border-radius: 12px; background: #fff; color: var(--melodi-ink); font-size: 0 !important; line-height: 1 !important; cursor: pointer; }
  #primary-menu-trigger i { display: none !important; }
  #primary-menu-trigger::before,
  #primary-menu-trigger::after { content: ""; position: absolute; width: 17px; height: 2px; border-radius: 2px; background: currentColor; }
  #primary-menu-trigger::before { transform: translateY(-4px); box-shadow: 0 8px 0 currentColor; }
  #primary-menu-trigger::after { display: none; }
  #primary-menu { position: static !important; }
  #primary-menu > ul,
  #primary-menu > ul.sf-js-enabled {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1220 !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    width: min(352px, 89vw) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 18px 18px 24px !important;
    border: 0 !important;
    border-radius: 0 22px 22px 0 !important;
    background: var(--melodi-ink) !important;
    box-shadow: 25px 0 80px rgba(0,0,0,.28) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: translateX(-105%);
    transition: transform .28s cubic-bezier(.22,.8,.22,1) !important;
  }
  #primary-menu > ul.theme-menu-open { transform: translateX(0); }
  #primary-menu > ul > li { flex: 0 0 auto; width: 100% !important; border-bottom: 1px solid rgba(255,255,255,.1) !important; }
  #primary-menu > ul > li > a,
  .theme-header-scrolled #primary-menu > ul > li > a { display: flex !important; align-items: center; width: 100% !important; height: 55px !important; padding: 0 10px !important; color: #fff !important; font-size: 12px !important; letter-spacing: .055em !important; }
  #primary-menu > ul > li > a::after { display: none !important; }
  #primary-menu.sub-title > ul > li > a > div { color: inherit !important; }
  #primary-menu .theme-mobile-head { display: flex !important; align-items: center; justify-content: space-between; min-height: 88px; margin-bottom: 10px !important; padding: 12px 12px 12px 15px !important; border: 0 !important; border-radius: 16px; background: #fff; }
  .theme-mobile-brand { display: flex; flex-direction: column; width: 210px; }
  .theme-mobile-brand img { display: block !important; width: 168px !important; height: auto !important; }
  .theme-mobile-brand span { margin-top: 5px; color: #7c888a; font-size: 7px; font-weight: 700; letter-spacing: .08em; }
  .theme-menu-close { position: relative; display: block !important; flex: 0 0 40px; width: 40px; height: 40px; padding: 0; border: 1px solid var(--melodi-line); border-radius: 12px; background: #f8f5ef; }
  .theme-menu-close i { position: absolute; top: 19px; left: 11px; display: block !important; width: 17px; height: 2px; background: var(--melodi-ink); }
  .theme-menu-close i:first-child { transform: rotate(45deg); }
  .theme-menu-close i:last-child { transform: rotate(-45deg); }
  .theme-has-submenu { position: relative; }
  .theme-submenu-toggle { position: absolute; top: 8px; right: 4px; z-index: 2; display: grid !important; place-items: center; width: 39px; height: 39px; padding: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: rgba(255,255,255,.06); }
  .theme-submenu-toggle i { width: 8px; height: 8px; border-right: 2px solid #ff9363; border-bottom: 2px solid #ff9363; transform: rotate(45deg) translate(-2px,-2px); transition: transform .2s ease; }
  .theme-submenu-open .theme-submenu-toggle i { transform: rotate(225deg) translate(-1px,-1px); }
  #primary-menu > ul > li > ul {
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: static !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 4px 8px 9px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.055) !important;
    box-shadow: none !important;
    transform: none !important;
  }
  #primary-menu > ul > li.theme-submenu-open > ul { display: block !important; }
  #primary-menu > ul > li > ul > li > a { padding: 10px !important; color: rgba(255,255,255,.68) !important; background: transparent !important; font-size: 10px !important; }
  #primary-menu > ul > li.theme-quote-item { display: none !important; }
  #primary-menu .theme-mobile-actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 18px !important; padding: 0 !important; border: 0 !important; }
  #primary-menu > ul > li.theme-mobile-actions > a { display: flex !important; align-items: center; gap: 10px; height: 68px !important; padding: 11px !important; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: rgba(255,255,255,.06); color: #fff !important; }
  #primary-menu > ul > li.theme-mobile-actions > a > i { color: #ff9363; font-size: 15px; }
  #primary-menu > ul > li.theme-mobile-actions > a > span { display: flex !important; flex-direction: column; color: rgba(255,255,255,.54) !important; font-size: 7px; letter-spacing: .08em; }
  #primary-menu > ul > li.theme-mobile-actions > a > span strong { margin-top: 3px; color: #fff; font-size: 9px; letter-spacing: 0; }
  .theme-menu-backdrop { position: fixed; inset: 0; z-index: 1190; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: rgba(3,22,26,.68); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .25s ease, visibility .25s ease; }
  .theme-menu-open .theme-menu-backdrop { opacity: 1; visibility: visible; pointer-events: auto; }

  .is-home #slider.slider-parallax { height: clamp(240px, 43vw, 390px) !important; margin-bottom: 96px !important; }
  .theme-slider-assurance { bottom: -62px; width: calc(100% - 32px); min-height: 108px; }
  .theme-slider-assurance > span,
  .theme-slider-assurance > a { padding: 14px 16px; }
  .theme-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .theme-feature-card { min-height: 170px; }
  .theme-story { grid-template-columns: 1fr; width: calc(100% - 32px); margin-top: 76px; }
  .theme-story > .site_sec1,
  .theme-story > .parallax_sec1,
  .theme-story > .parallax_sec2 { min-height: 390px !important; }
  .theme-story > .site_sec1 { padding: 46px !important; }
  .theme-story-primary > .parallax_sec1 { grid-row: 1; }
  .theme-story-primary > .site_sec1 { grid-row: 2; }
  .theme-category-section,
  .theme-sustainability { width: calc(100% - 32px); margin-top: 76px !important; }
  .theme-category-section #portfolio,
  .is-product-grid #portfolio { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-sustainability { padding: 50px !important; }
  .theme-about-layout { grid-template-columns: 1fr; }
  .theme-about-aside { order: -1; }
  .is-product-grid #content .container,
  body:not(.is-home) #content > .content-wrap > .container { width: calc(100% - 32px) !important; }
  .is-product-detail #content .col_half { float: none !important; width: 100% !important; margin: 0 0 28px !important; }
  .contact-grid { grid-template-columns: 1fr; }
  #footer .footer-widgets-wrap { grid-template-columns: 1.2fr 1fr 1fr; }
  #footer .col_one_fourth.col_last { display: none !important; }
}

@media (max-width: 600px) {
  body { font-size: 13px; line-height: 1.7; }
  .container,
  body.stretched .container { width: calc(100% - 28px) !important; }
  #header .container { width: calc(100% - 20px) !important; }
  #logo,
  .theme-header-scrolled #logo { width: 174px !important; }
  #logo img,
  #header.sticky-header #logo img,
  .theme-header-scrolled #logo img { width: 170px !important; }
  .is-home #slider.slider-parallax { height: 55vw !important; min-height: 190px !important; max-height: 230px !important; margin-bottom: 160px !important; }
  #slider-arrow-left,
  #slider-arrow-right { width: 34px !important; height: 44px !important; margin-top: -22px !important; }
  #slider-arrow-left i,
  #slider-arrow-right i { font-size: 17px !important; line-height: 42px !important; }
  .theme-slider-assurance { bottom: -144px; grid-template-columns: 1fr 1fr; width: calc(100% - 20px); min-height: 134px; border-radius: 15px; }
  .theme-slider-assurance > span { min-height: 70px; padding: 11px 12px; }
  .theme-slider-assurance > span:nth-child(2) { border-right: 0; }
  .theme-slider-assurance > a { grid-column: 1 / -1; min-height: 54px; padding: 10px 16px; }
  .theme-slider-assurance > span > i { flex-basis: 31px; width: 31px; height: 31px; font-size: 14px; }
  .theme-slider-assurance b { font-size: 9px; }
  .theme-slider-assurance small { font-size: 7px; }
  .is-home #content > .content-wrap { padding-bottom: 58px !important; }
  .is-home #content > .content-wrap > .content-wrap .container { width: calc(100% - 20px) !important; }
  .theme-feature-grid { gap: 10px; }
  .theme-feature-card { min-height: 154px; padding: 17px 15px; border-radius: 15px; }
  .theme-feature-top { margin-bottom: 14px; }
  .theme-feature-icon { width: 36px; height: 36px; border-radius: 11px; font-size: 16px; }
  .theme-feature-card h3 { font-size: 13px !important; }
  .theme-feature-card p { font-size: 9px; line-height: 1.5; }
  .theme-story { width: calc(100% - 20px); margin-top: 60px; border-radius: 18px; }
  .theme-story > .parallax_sec1,
  .theme-story > .parallax_sec2 { min-height: 235px !important; }
  .theme-story > .site_sec1 { min-height: 0 !important; padding: 31px 25px 34px !important; }
  .site_sec1 h2 { margin-bottom: 17px !important; font-size: 27px !important; line-height: 1.06 !important; }
  .site_sec1 p { font-size: 11px; line-height: 1.75; }
  .theme-eyebrow { margin-bottom: 11px; font-size: 8px !important; }
  .theme-metrics { gap: 7px; margin-top: 25px; padding-top: 20px; }
  .theme-metrics b { font-size: 21px; }
  .theme-metrics small { font-size: 7px; }
  .theme-category-section,
  .theme-sustainability { width: calc(100% - 20px); margin-top: 60px !important; }
  .theme-category-section h2 { margin-bottom: 23px !important; }
  .theme-category-section #portfolio,
  .is-product-grid #portfolio { gap: 10px; }
  .theme-category-section .portfolio-item,
  .is-product-grid #portfolio .portfolio-item { border-radius: 14px; }
  .theme-category-section .portfolio-desc,
  .is-product-grid #portfolio .portfolio-desc { min-height: 54px; padding: 12px 10px !important; }
  .theme-category-section .portfolio-desc h3,
  .is-product-grid #portfolio .portfolio-desc h3 { font-size: 8px !important; }
  .theme-card-arrow { flex-basis: 24px; width: 24px; height: 24px; font-size: 10px; }
  .theme-sustainability { padding: 35px 25px !important; border-radius: 18px; }
  .theme-inline-cta { gap: 12px; font-size: 9px; }
  #page-menu { display: none !important; }
  body:not(.is-home) #slider.hidden-xs,
  body:not(.is-home) #slider { display: block !important; height: 132px !important; min-height: 132px !important; }
  body:not(.is-home) #slider .container { width: calc(100% - 28px) !important; }
  body:not(.is-home) #slider h1 { padding-left: 17px; font-size: 30px !important; }
  body:not(.is-home) #content > .content-wrap,
  body.is-product-grid #content > .content-wrap,
  body.is-product-grid #wrapper > .content-wrap,
  .is-product-detail #content > .content-wrap { padding: 42px 0 !important; }
  body:not(.is-home) #content > .content-wrap > .container,
  .is-product-grid #content .container { width: calc(100% - 20px) !important; }
  .theme-about-layout { gap: 14px; }
  .theme-about-copy,
  .theme-editorial-card { padding: 28px 24px; border-radius: 16px; font-size: 11px; line-height: 1.8; }
  .theme-about-aside { padding: 29px 24px; border-radius: 16px; }
  .theme-about-aside h2 { margin-bottom: 24px !important; font-size: 23px !important; }
  .theme-about-aside > div { padding: 14px 0; }
  .theme-about-aside b { font-size: 20px; }
  .product-summary-head { padding: 27px 23px; border-radius: 16px; }
  .product-summary-head h2 { font-size: 26px !important; }
  .is-product-detail #portfolio { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .contact-intro { margin-bottom: 28px; }
  .contact-intro h2 { font-size: 31px !important; }
  .contact-grid { gap: 14px; }
  .contact-card { padding: 27px 23px; border-radius: 16px; }
  .contact-card h3 { font-size: 23px !important; }
  .contact-actions { grid-template-columns: 1fr; }
  .contact-map-heading { margin-top: 45px; }
  .contact-map-heading h3 { font-size: 24px !important; }
  .google-maps.contact-map iframe { height: 300px !important; min-height: 300px; }
  #footer .container { width: calc(100% - 36px) !important; }
  #footer .footer-widgets-wrap { grid-template-columns: 1fr 1fr; gap: 34px 22px; padding: 44px 0 38px !important; }
  #footer .col_one_fourth:first-child { grid-column: 1 / -1; }
  #footer .footer-logo { width: 170px !important; }
  #footer .widget { font-size: 9px; }
  #footer h4 { font-size: 9px !important; }
  #copyrights { padding: 15px 0 !important; }
  #copyrights .container { display: block; text-align: center; }
  #copyrights .col_half { width: 100% !important; text-align: center !important; }
  #copyrights .col_half.col_last { margin-top: 5px !important; }
  .ccw_plugin { right: 10px !important; bottom: 10px !important; left: auto !important; }
  .ccw_plugin .btn { padding: 9px 12px !important; font-size: 8px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

a:focus-visible,
button:focus-visible { outline: 3px solid rgba(243,111,61,.42) !important; outline-offset: 3px !important; }

/* v5.1 — precise alignment, native banner ratio and legible scale */
body { font-size: 16px !important; }

/* Old clearfix and trigger rules must not participate in modern layouts. */
#primary-menu-trigger { display: none !important; }
#header .container::before,
#header .container::after,
.theme-feature-grid::before,
.theme-feature-grid::after,
.theme-category-section #portfolio::before,
.theme-category-section #portfolio::after,
.is-product-grid #portfolio::before,
.is-product-grid #portfolio::after,
.is-product-detail #portfolio::before,
.is-product-detail #portfolio::after,
.theme-about-layout::before,
.theme-about-layout::after,
.contact-grid::before,
.contact-grid::after,
.contact-actions::before,
.contact-actions::after,
#footer .footer-widgets-wrap::before,
#footer .footer-widgets-wrap::after,
#copyrights .container::before,
#copyrights .container::after { display: none !important; content: none !important; }

/* Force the header onto exactly the same center line as all other sections. */
#header .container {
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  right: auto !important;
  width: min(var(--melodi-container), calc(100% - 64px)) !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  transform: translateX(-50%) !important;
}
#header-wrap,
#header.sticky-header #header-wrap { position: relative !important; }
#logo,
.theme-header-scrolled #logo { width: 238px !important; }
#logo img,
#header.sticky-header #logo img,
.theme-header-scrolled #logo img,
.theme-header-scrolled #header.sticky-header #logo img {
  width: auto !important;
  height: 72px !important;
  max-width: 200px !important;
  max-height: 72px !important;
  object-fit: contain !important;
  aspect-ratio: 236 / 100 !important;
}
.theme-header-scrolled #logo img,
.theme-header-scrolled #header.sticky-header #logo img { height: 54px !important; max-height: 54px !important; }
#primary-menu > ul > li > a { padding-right: 20px !important; padding-left: 20px !important; font-size: 13px !important; }
.theme-quote-item { margin-left: 14px !important; }
#top-bar { font-size: 11px !important; }
.theme-trustline b { font-size: 10px !important; }

/* The database banners are authored at 1920x600: keep the exact 16:5 frame. */
.is-home #slider.slider-parallax {
  width: 100% !important;
  height: 31.25vw !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 16 / 5 !important;
}
.is-home #slider .swiper-container,
.is-home #slider .swiper-wrapper,
.is-home #slider .swiper-slide { height: 100% !important; }
.is-home #slider .swiper-slide {
  background-position: center center !important;
  background-size: 100% 100% !important;
}
.theme-slider-assurance { width: min(1120px, calc(100% - 64px)); min-height: 98px; }
.theme-slider-assurance > span,
.theme-slider-assurance > a { padding: 22px 27px; }
.theme-slider-assurance b { font-size: 13px; }
.theme-slider-assurance small { font-size: 11px; }

.theme-feature-grid { gap: 22px; }
.theme-feature-card { min-height: 214px; padding: 30px 29px 28px; }
.theme-feature-card h3 { font-size: 19px !important; }
.theme-feature-card p { max-width: none; font-size: 13px; }
.theme-feature-top > b { font-size: 10px; }
.theme-feature-icon { width: 48px; height: 48px; font-size: 21px; }

.theme-story > .site_sec1,
.theme-story > .parallax_sec1,
.theme-story > .parallax_sec2 { min-height: 570px !important; }
.theme-story > .site_sec1 { padding: 72px !important; }
.site_sec1 h2 { max-width: 920px; font-size: clamp(38px, 3vw, 58px) !important; }
.site_sec1 p { font-size: 15px; }
.theme-eyebrow,
.contact-eyebrow,
.contact-card-kicker { font-size: 11px !important; }
.theme-metrics b { font-size: 32px; }
.theme-metrics small { font-size: 11px; }
.theme-category-section .portfolio-desc h3,
.is-product-grid #portfolio .portfolio-desc h3,
.is-product-detail #portfolio .portfolio-desc h3 { font-size: 13px !important; }
.theme-category-section .portfolio-desc,
.is-product-grid #portfolio .portfolio-desc,
.is-product-detail #portfolio .portfolio-desc { padding: 20px 21px !important; }
.theme-sustainability { padding: 84px 90px !important; }
.theme-inline-cta { padding: 16px 22px; font-size: 13px; }

.theme-about-copy,
.theme-editorial-card { font-size: 16px; }
.theme-about-aside small { font-size: 12px; }
.is-product-grid #portfolio .portfolio-desc { min-height: 74px; }
.product-summary-head p,
.contact-card p { font-size: 14px; }
.contact-list dt,
.contact-list dd,
.contact-action { font-size: 12px; }

#footer .widget { font-size: 12px; }
#footer h4 { font-size: 12px !important; }
#copyrights { font-size: 10px !important; }

@media (max-width: 1500px) and (min-width: 992px) {
  :root { --melodi-container: 1320px; }
  #primary-menu > ul > li > a { padding-right: 16px !important; padding-left: 16px !important; font-size: 12px !important; }
  .theme-feature-card h3 { font-size: 17px !important; }
}

@media (max-width: 1199px) and (min-width: 992px) {
  :root { --melodi-container: 1060px; }
  #logo,
  .theme-header-scrolled #logo { width: 205px !important; }
  #logo img,
  #header.sticky-header #logo img { height: 64px !important; max-height: 64px !important; }
  #primary-menu > ul > li > a { padding-right: 12px !important; padding-left: 12px !important; font-size: 11px !important; }
  .theme-story > .site_sec1 { padding: 54px !important; }
  .site_sec1 h2 { font-size: 40px !important; }
}

@media (max-width: 991px) {
  body { font-size: 14px !important; }
  #header .container {
    left: 50% !important;
    width: calc(100% - 24px) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }
  #primary-menu-trigger { display: grid !important; }
  #logo,
  .theme-header-scrolled #logo { width: 158px !important; height: 72px !important; }
  #logo img,
  #header.sticky-header #logo img,
  .theme-header-scrolled #logo img,
  .theme-header-scrolled #header.sticky-header #logo img {
    width: auto !important;
    height: 58px !important;
    max-width: 150px !important;
    max-height: 58px !important;
    object-fit: contain !important;
    aspect-ratio: 236 / 100 !important;
  }
  #primary-menu > ul,
  #primary-menu > ul.sf-js-enabled { width: min(360px, 90vw) !important; background: #fffdf9 !important; box-shadow: 24px 0 70px rgba(4,30,35,.24) !important; }
  #primary-menu > ul > li { border-bottom-color: #e5ded3 !important; }
  #primary-menu > ul > li > a,
  .theme-header-scrolled #primary-menu > ul > li > a { color: var(--melodi-ink) !important; font-size: 13px !important; }
  #primary-menu .theme-mobile-head { background: #f5f1e8 !important; }
  .theme-mobile-brand span { color: #718084 !important; }
  .theme-menu-close { background: #fff !important; }
  .theme-submenu-toggle { border-color: #ddd5c9 !important; background: #f5f1e8 !important; }
  #primary-menu > ul > li > ul { border: 1px solid #e6dfd4 !important; background: #f7f3eb !important; }
  #primary-menu > ul > li > ul > li > a { color: #42595e !important; font-size: 12px !important; }
  #primary-menu .theme-mobile-actions { margin-top: 14px !important; }
  #primary-menu > ul > li.theme-mobile-actions > a { border-color: #dfe4e2 !important; background: var(--melodi-ink) !important; color: #fff !important; }
  #primary-menu > ul > li.theme-mobile-actions > a > span { color: rgba(255,255,255,.65) !important; }
  #primary-menu > ul > li.theme-mobile-actions > a > span strong { color: #fff !important; }

  .is-home #slider.slider-parallax {
    height: 31.25vw !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 118px !important;
  }
  .is-home #slider .swiper-slide { background-size: 100% 100% !important; }
  .theme-slider-assurance { bottom: -86px; width: calc(100% - 28px); min-height: 116px; }
  .theme-slider-assurance b { font-size: 11px; }
  .theme-slider-assurance small { font-size: 9px; }
  .theme-feature-card h3 { font-size: 15px !important; }
  .theme-feature-card p { font-size: 11px; }
  .site_sec1 p { font-size: 13px; }
  #footer .widget { font-size: 11px; }
}

@media (max-width: 600px) {
  #header,
  #header.floating-header,
  #header-wrap,
  #header.sticky-header #header-wrap,
  #header .container,
  .theme-header-scrolled #header,
  .theme-header-scrolled #header-wrap,
  .theme-header-scrolled #header .container { height: 78px !important; min-height: 78px !important; }
  #logo,
  .theme-header-scrolled #logo { height: 78px !important; }
  #logo img,
  #header.sticky-header #logo img,
  .theme-header-scrolled #logo img,
  .theme-header-scrolled #header.sticky-header #logo img { height: 61px !important; max-height: 61px !important; }
  #primary-menu-trigger { top: 18px !important; }
  .is-home #slider.slider-parallax { height: 31.25vw !important; min-height: 0 !important; max-height: none !important; margin-bottom: 154px !important; }
  .theme-slider-assurance { bottom: -141px; }
  .theme-feature-card { min-height: 164px; padding: 19px 16px; }
  .theme-feature-card h3 { font-size: 14px !important; }
  .theme-feature-card p { font-size: 10px; line-height: 1.55; }
  .site_sec1 h2 { font-size: 29px !important; }
  .site_sec1 p { font-size: 12px; }
  .theme-category-section .portfolio-desc h3,
  .is-product-grid #portfolio .portfolio-desc h3,
  .is-product-detail #portfolio .portfolio-desc h3 { font-size: 10px !important; }
  #footer .widget { font-size: 10px; }
}

/* v5.2 — premium navigation and footer refinement */
#header,
#header.floating-header,
#header-wrap,
#header.sticky-header #header-wrap,
#header .container {
  height: 106px !important;
  min-height: 106px !important;
}
#header { border-bottom: 1px solid rgba(11,43,49,.08) !important; }
#logo,
.theme-header-scrolled #logo { width: 274px !important; height: 106px !important; }
#logo img,
#header.sticky-header #logo img,
.theme-header-scrolled #logo img,
.theme-header-scrolled #header.sticky-header #logo img {
  width: auto !important;
  height: 90px !important;
  max-width: 230px !important;
  max-height: 90px !important;
  object-fit: contain !important;
  aspect-ratio: 236 / 100 !important;
}
#primary-menu > ul > li > a {
  height: 106px !important;
  background-color: transparent !important;
  color: var(--melodi-ink) !important;
}
#primary-menu > ul > li:not(.theme-quote-item):hover > a,
#primary-menu > ul > li:not(.theme-quote-item).current > a,
#primary-menu > ul > li:not(.theme-quote-item).active > a,
#primary-menu > ul > li:not(.theme-quote-item) > a:hover,
#primary-menu > ul > li:not(.theme-quote-item) > a:focus {
  background-color: #fff2eb !important;
  color: var(--melodi-orange-dark) !important;
  text-shadow: none !important;
}
#primary-menu > ul > li > a::after { right: 20px; bottom: 18px; left: 20px; }
#primary-menu > ul > li.theme-quote-item > a,
#primary-menu > ul > li.theme-quote-item:hover > a,
#primary-menu > ul > li.theme-quote-item > a:hover,
#primary-menu > ul > li.theme-quote-item > a:focus {
  height: 50px !important;
  background: var(--melodi-orange) !important;
  color: #fff !important;
}
#primary-menu > ul > li.theme-quote-item:hover > a { background: var(--melodi-orange-dark) !important; }

.theme-header-scrolled #header,
.theme-header-scrolled #header-wrap,
.theme-header-scrolled #header.sticky-header #header-wrap,
.theme-header-scrolled #header .container {
  height: 76px !important;
  min-height: 76px !important;
}
.theme-header-scrolled #logo { height: 76px !important; width: 230px !important; }
.theme-header-scrolled #logo img,
.theme-header-scrolled #header.sticky-header #logo img { height: 58px !important; max-height: 58px !important; }
.theme-header-scrolled #primary-menu > ul > li > a { height: 76px !important; }
.theme-header-scrolled #primary-menu > ul > li > a::after { bottom: 10px; }

/* Modern footer CTA */
#footer { background: linear-gradient(155deg, #08262c 0%, #0a3036 58%, #071f24 100%) !important; }
.theme-footer-cta { border-bottom: 1px solid rgba(255,255,255,.10); background: linear-gradient(110deg, rgba(243,111,61,.13), rgba(255,255,255,.02) 45%, rgba(255,255,255,.01)); }
.theme-footer-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
  width: min(var(--melodi-container), calc(100% - 64px));
  margin: 0 auto;
  padding: 62px 0;
}
.theme-footer-cta-inner > div:first-child { max-width: 760px; }
.theme-footer-cta-inner > div:first-child > span { display: block; margin-bottom: 12px; color: #ff9566; font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.theme-footer-cta h2 { margin: 0 0 14px !important; color: #fff !important; font-family: inherit !important; font-size: 38px !important; font-weight: 700 !important; letter-spacing: -.04em; line-height: 1.12 !important; }
.theme-footer-cta p { margin: 0 !important; color: rgba(255,255,255,.62); font-size: 14px; }
.theme-footer-cta-actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
#footer .theme-footer-cta-actions > a { display: flex; align-items: center; gap: 13px; min-height: 62px; padding: 12px 20px; border: 1px solid rgba(255,255,255,.15); border-radius: 15px; color: #fff !important; }
.theme-footer-cta-actions > a > i { color: #ff9566 !important; font-size: 20px; }
.theme-footer-cta-actions em { display: flex; flex-direction: column; font-style: normal; line-height: 1.3; }
.theme-footer-cta-actions small { color: rgba(255,255,255,.52); font-size: 10px; }
.theme-footer-cta-actions em b { margin-top: 3px; font-size: 14px; }
.theme-footer-cta-actions > a.theme-footer-cta-primary { min-width: 155px; justify-content: space-between; border-color: var(--melodi-orange); background: var(--melodi-orange); font-size: 13px; font-weight: 700; }
#footer .theme-footer-cta-actions > a:hover { border-color: var(--melodi-orange); background: rgba(255,255,255,.06); color: #fff !important; }
#footer .theme-footer-cta-actions > a.theme-footer-cta-primary:hover { background: var(--melodi-orange-dark); }

#footer .footer-widgets-wrap { grid-template-columns: 1.45fr .82fr .82fr !important; gap: 80px !important; padding: 62px 0 58px !important; }
#footer .footer-widgets-wrap > .col_one_fourth.col_last { display: none !important; }
#footer .footer-logo { width: 225px !important; margin-bottom: 28px !important; padding: 16px 19px; }
#footer h4 { position: relative; margin-bottom: 28px !important; padding-bottom: 13px; }
#footer h4::after { content: ""; position: absolute; bottom: 0; left: 0; width: 28px; height: 2px; border-radius: 2px; background: var(--melodi-orange); }
#footer .widget { color: rgba(255,255,255,.64) !important; line-height: 2; }
#footer .widget_links li { padding: 0 !important; }
#footer .widget_links a { display: inline-flex !important; align-items: center; min-height: 28px; }
#footer .widget_links a:hover { transform: translateX(4px); }
#copyrights { min-height: 66px !important; padding: 21px 0 !important; background: rgba(3,20,24,.45) !important; }

@media (max-width: 1199px) and (min-width: 992px) {
  #header,
  #header.floating-header,
  #header-wrap,
  #header.sticky-header #header-wrap,
  #header .container { height: 96px !important; min-height: 96px !important; }
  #logo,
  .theme-header-scrolled #logo { width: 230px !important; height: 96px !important; }
  #logo img,
  #header.sticky-header #logo img { height: 72px !important; max-height: 72px !important; }
  #primary-menu > ul > li > a { height: 96px !important; }
  .theme-footer-cta h2 { font-size: 32px !important; }
  .theme-footer-cta-inner { gap: 35px; }
}

@media (max-width: 991px) {
  #header,
  #header.floating-header,
  #header-wrap,
  #header.sticky-header #header-wrap,
  #header .container,
  .theme-header-scrolled #header,
  .theme-header-scrolled #header-wrap,
  .theme-header-scrolled #header .container { height: 84px !important; min-height: 84px !important; }
  #logo,
  .theme-header-scrolled #logo { width: 170px !important; height: 84px !important; }
  #logo img,
  #header.sticky-header #logo img,
  .theme-header-scrolled #logo img,
  .theme-header-scrolled #header.sticky-header #logo img { height: 66px !important; max-height: 66px !important; max-width: 160px !important; }
  #primary-menu-trigger { top: 21px !important; }

  #primary-menu > ul > li:not(.theme-quote-item):hover > a,
  #primary-menu > ul > li:not(.theme-quote-item).current > a,
  #primary-menu > ul > li:not(.theme-quote-item).active > a,
  #primary-menu > ul > li:not(.theme-quote-item) > a:hover,
  #primary-menu > ul > li:not(.theme-quote-item) > a:focus,
  #primary-menu ul li:hover > a,
  #primary-menu ul li:focus-within > a {
    background: #fff2eb !important;
    color: var(--melodi-orange-dark) !important;
  }
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li:not(.theme-quote-item):hover > a,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li:not(.theme-quote-item).current > a,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li:not(.theme-quote-item).active > a,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li:not(.theme-quote-item) > a:hover,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li:not(.theme-quote-item) > a:focus {
    background: #fff2eb !important;
    color: var(--melodi-orange-dark) !important;
    text-shadow: none !important;
  }
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li:hover > ul > li > a {
    color: #42595e !important;
  }
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li > ul > li:hover > a,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li > ul > li > a:hover,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li > ul > li > a:focus {
    color: var(--melodi-orange-dark) !important;
  }
  #primary-menu > ul > li > ul > li:hover > a,
  #primary-menu > ul > li > ul > li > a:hover,
  #primary-menu > ul > li > ul > li > a:focus {
    background: #ffe9dd !important;
    color: var(--melodi-orange-dark) !important;
    font-weight: 700 !important;
  }
  #primary-menu > ul > li > a,
  .theme-header-scrolled #primary-menu > ul > li > a { height: 58px !important; font-size: 15px !important; }
  #primary-menu > ul > li > ul > li > a { font-size: 13px !important; }
  .theme-submenu-toggle { top: 9px; width: 40px; height: 40px; }

  #primary-menu > ul > li.theme-mobile-actions > a { min-height: 84px !important; padding: 15px !important; }
  #primary-menu > ul > li.theme-mobile-actions > a > i { font-size: 22px !important; }
  #primary-menu > ul > li.theme-mobile-actions > a > span { font-size: 11px !important; line-height: 1.25; }
  #primary-menu > ul > li.theme-mobile-actions > a > span strong { margin-top: 5px; font-size: 14px !important; }

  .theme-footer-cta-inner { display: block; width: calc(100% - 36px); padding: 46px 0; }
  .theme-footer-cta h2 { font-size: 29px !important; }
  .theme-footer-cta p { font-size: 12px; }
  .theme-footer-cta-actions { margin-top: 28px; }
  #footer .footer-widgets-wrap { grid-template-columns: 1.25fr 1fr 1fr !important; gap: 32px !important; }
}

@media (max-width: 600px) {
  #header,
  #header.floating-header,
  #header-wrap,
  #header.sticky-header #header-wrap,
  #header .container,
  .theme-header-scrolled #header,
  .theme-header-scrolled #header-wrap,
  .theme-header-scrolled #header .container { height: 86px !important; min-height: 86px !important; }
  #logo,
  .theme-header-scrolled #logo { height: 86px !important; width: 168px !important; }
  #logo img,
  #header.sticky-header #logo img,
  .theme-header-scrolled #logo img,
  .theme-header-scrolled #header.sticky-header #logo img { height: 72px !important; max-height: 72px !important; max-width: 172px !important; }
  #primary-menu-trigger { top: 22px !important; }
  .theme-footer-cta-inner { width: calc(100% - 32px); padding: 40px 0; }
  .theme-footer-cta h2 { font-size: 26px !important; }
  .theme-footer-cta-actions { display: grid; grid-template-columns: 1fr; }
  .theme-footer-cta-actions > a { width: 100%; }
  #footer .footer-widgets-wrap { grid-template-columns: 1fr 1fr !important; gap: 35px 22px !important; }
  #footer .footer-widgets-wrap > .col_one_fourth:first-child { grid-column: 1 / -1; }
  #footer .footer-widgets-wrap > .col_one_fourth:nth-child(3) .hidden-xs { display: block !important; }
  #footer .footer-logo { width: 210px !important; }
  #footer .widget { font-size: 12px !important; line-height: 1.85; }
  #footer h4 { font-size: 13px !important; }
  #copyrights { font-size: 10.5px !important; line-height: 1.65; }
  .ccw_plugin.chatbot { right: 14px !important; bottom: 14px !important; left: auto !important; }
  .ccw_plugin.chatbot .btn { background: var(--melodi-orange) !important; color: #fff !important; box-shadow: 0 10px 24px rgba(223,87,40,.28) !important; }
}

/* v5.3 — unified inner pages, service experience and mobile actions */
.theme-quote-item { display: none !important; }

/* Every inner page uses the same compact masthead. */
#page-menu,
#page-menu-wrap,
#page-menu .container { height: 36px !important; min-height: 36px !important; }
#page-menu nav ul { height: 36px !important; }
#page-menu nav li a { font-size: 10px !important; line-height: 36px !important; }
body:not(.is-home) #slider.theme-inner-hero,
body:not(.is-home) #slider {
  height: 148px !important;
  min-height: 148px !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background-position: center 48% !important;
}
body:not(.is-home) #slider::before {
  background: linear-gradient(100deg, rgba(6,31,36,.98) 0%, rgba(8,43,49,.91) 50%, rgba(19,70,74,.58) 100%) !important;
}
body:not(.is-home) #slider::after {
  content: "";
  position: absolute;
  top: -110px;
  right: 8%;
  width: 310px;
  height: 310px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  box-shadow: 0 0 0 46px rgba(255,255,255,.025), 0 0 0 92px rgba(255,255,255,.018);
  pointer-events: none;
}
body:not(.is-home) #slider .container { justify-content: flex-start; }
.theme-inner-hero-copy { position: relative; z-index: 2; max-width: 980px; }
.theme-inner-hero-label { display: block; margin-bottom: 8px; color: #ff9566; font-size: 10px; font-weight: 700; letter-spacing: .18em; line-height: 1; }
body:not(.is-home) #slider .theme-inner-hero-copy h1 {
  padding-left: 0 !important;
  font-size: clamp(31px, 3.2vw, 44px) !important;
  letter-spacing: -.035em !important;
  line-height: 1.04 !important;
}
body:not(.is-home) #slider .theme-inner-hero-copy h1::before { display: none !important; }
.theme-inner-hero-copy p { margin: 9px 0 0 !important; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.45; }

/* Service pages */
.is-editorial-page #content .col_full { padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
.theme-service-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(310px, .68fr); gap: 26px; align-items: start; }
.theme-service-main { min-width: 0; padding: 52px 56px; border: 1px solid rgba(11,43,49,.08); border-radius: var(--melodi-radius); background: var(--melodi-paper); box-shadow: var(--melodi-shadow-soft); color: var(--melodi-muted); font-size: 15px; line-height: 1.9; }
.theme-service-intro { margin: -7px 0 35px; padding-bottom: 31px; border-bottom: 1px solid var(--melodi-line); }
.theme-service-intro h2 { max-width: 760px; margin: 0 0 15px !important; color: var(--melodi-ink) !important; font-family: inherit !important; font-size: 37px !important; font-weight: 700 !important; letter-spacing: -.04em; line-height: 1.12 !important; }
.theme-service-intro p { max-width: 760px; margin: 0 !important; color: var(--melodi-muted); font-size: 14px; }
.theme-service-main > p { margin: 0 0 22px !important; }
.theme-service-main > p:last-child { margin-bottom: 0 !important; }
.theme-service-main h2,
.theme-service-main h3 { color: var(--melodi-ink) !important; font-family: inherit !important; font-weight: 700 !important; }
.theme-service-main h2 { font-size: 28px !important; }
.theme-service-main h3 { font-size: 22px !important; }
.theme-service-main ul,
.theme-service-main ol { margin: 24px 0 30px 22px; }
.theme-service-main li { margin-bottom: 8px; }
.theme-service-main img { height: auto !important; border-radius: 16px; }
.theme-service-aside { position: sticky; top: 96px; padding: 39px 34px; border-radius: var(--melodi-radius); background: linear-gradient(150deg, var(--melodi-ink), #15474d); color: #fff; box-shadow: var(--melodi-shadow); }
.theme-service-aside .theme-eyebrow { color: #ff9566 !important; }
.theme-service-aside h3 { margin: 0 0 27px !important; color: #fff !important; font-family: inherit !important; font-size: 28px !important; font-weight: 700 !important; letter-spacing: -.035em; line-height: 1.2 !important; }
.theme-service-aside ol { margin: 0; list-style: none; }
.theme-service-aside li { display: grid; grid-template-columns: 38px 1fr; gap: 14px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.12); }
.theme-service-aside li > b { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 11px; background: rgba(255,149,102,.12); color: #ff9566; font-size: 10px; }
.theme-service-aside li span { display: flex; flex-direction: column; }
.theme-service-aside li strong { color: #fff; font-size: 13px; }
.theme-service-aside li small { margin-top: 5px; color: rgba(255,255,255,.58); font-size: 11px; line-height: 1.55; }
.theme-service-aside > a { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; padding: 15px 17px; border-radius: 12px; background: var(--melodi-orange); color: #fff !important; font-size: 12px; font-weight: 700; }
.theme-service-aside > a:hover { background: #fff; color: var(--melodi-ink) !important; transform: translateY(-2px); }

/* Contact experience */
.contact-intro { max-width: 900px; margin-bottom: 32px; }
.contact-intro h2 { font-size: 46px !important; }
.contact-intro p { max-width: 780px; font-size: 15px; }
.contact-quickfacts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; }
.contact-quickfacts > span { display: flex; align-items: center; gap: 14px; min-height: 84px; padding: 17px 19px; border: 1px solid rgba(11,43,49,.08); border-radius: 16px; background: rgba(255,253,249,.78); box-shadow: 0 7px 22px rgba(10,43,49,.05); }
.contact-quickfacts i { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 12px; background: #fff0e9; color: var(--melodi-orange); font-size: 17px; }
.contact-quickfacts em { display: flex; flex-direction: column; font-style: normal; }
.contact-quickfacts b { color: var(--melodi-ink); font-size: 13px; }
.contact-quickfacts small { margin-top: 3px; color: var(--melodi-muted); font-size: 10px; }
.contact-grid { gap: 26px; }
.contact-card { padding: 46px; }
.contact-card::before { content: ""; position: absolute; top: 0; right: 28px; left: 28px; height: 3px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, var(--melodi-orange), #ffac80); }
.contact-card { position: relative; overflow: hidden; }
.contact-card h3 { font-size: 30px !important; }
.contact-card p { font-size: 14px; line-height: 1.75; }
.contact-details-card > p { font-size: 13px; line-height: 1.7; }
.contact-list > div { grid-template-columns: 135px 1fr; padding: 15px 0; }
.contact-list dt { font-size: 12px; }
.contact-list dd { font-size: 14px; }
.contact-list dd a:hover { color: var(--melodi-orange-dark) !important; }
.contact-prep-note { display: flex; gap: 13px; margin-top: 23px; padding: 15px 16px; border: 1px solid rgba(255,255,255,.11); border-radius: 12px; background: rgba(255,255,255,.055); }
.contact-prep-note > i { margin-top: 2px; color: #ff9566; font-size: 17px; }
.contact-prep-note > span { display: flex; flex-direction: column; }
.contact-prep-note b { color: #fff; font-size: 12px; }
.contact-prep-note small { margin-top: 4px; color: rgba(255,255,255,.56); font-size: 10px; line-height: 1.5; }
.contact-actions { gap: 11px; }
.contact-action { min-height: 55px; padding: 14px 16px; font-size: 13px; font-weight: 700; }
.contact-action i { color: #ff9566; font-size: 17px; }
.contact-action-primary i { color: #fff; }
.contact-security-note { font-size: 10px; line-height: 1.55; }
.contact-map-heading > a { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 10px 14px; border-radius: 11px; background: #fff0e9; font-size: 11px; }

/* Footer refinement */
.theme-footer-cta { position: relative; overflow: hidden; }
.theme-footer-cta::after { content: ""; position: absolute; top: -150px; right: 7%; width: 370px; height: 370px; border: 1px solid rgba(255,255,255,.055); border-radius: 50%; box-shadow: 0 0 0 55px rgba(255,255,255,.018), 0 0 0 110px rgba(255,255,255,.012); pointer-events: none; }
.theme-footer-cta-inner { position: relative; z-index: 1; }
.theme-footer-trust { border-bottom: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.025); }
.theme-footer-trust-inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(var(--melodi-container), calc(100% - 64px)); margin: 0 auto; }
.theme-footer-trust-inner > span { display: flex; align-items: center; gap: 15px; min-height: 100px; padding: 20px 34px; border-right: 1px solid rgba(255,255,255,.09); }
.theme-footer-trust-inner > span:first-child { padding-left: 0; }
.theme-footer-trust-inner > span:last-child { padding-right: 0; border-right: 0; }
.theme-footer-trust i { display: grid; place-items: center; flex: 0 0 43px; width: 43px; height: 43px; border-radius: 13px; background: rgba(255,149,102,.10); color: #ff9566 !important; font-size: 18px; }
.theme-footer-trust em { display: flex; flex-direction: column; font-style: normal; }
.theme-footer-trust b { color: #fff; font-size: 13px; }
.theme-footer-trust small { margin-top: 4px; color: rgba(255,255,255,.52); font-size: 10px; }
#footer .footer-widgets-wrap { padding-top: 68px !important; }
#footer .widget { font-size: 13px !important; line-height: 1.9; }
#footer h4 { font-size: 13px !important; }
#footer .footer-logo { width: 235px !important; }
#copyrights { min-height: 74px !important; padding: 24px 0 !important; color: rgba(255,255,255,.62) !important; font-size: 12px !important; }
#copyrights a { color: #fff !important; }

/* Mobile fixed contact dock */
.theme-mobile-dock { display: none; }

@media (max-width: 1199px) and (min-width: 992px) {
  .theme-service-layout { grid-template-columns: minmax(0, 1.4fr) minmax(290px, .72fr); }
  .theme-service-main { padding: 44px; }
  .contact-card { padding: 38px; }
}

@media (max-width: 991px) {
  body:not(.is-home) #slider.theme-inner-hero,
  body:not(.is-home) #slider { height: 124px !important; min-height: 124px !important; }
  body:not(.is-home) #slider .theme-inner-hero-copy h1 { font-size: 34px !important; }
  .theme-inner-hero-copy p { font-size: 11px; }

  .theme-service-layout { grid-template-columns: 1fr; gap: 18px; }
  .theme-service-aside { position: static; }
  .contact-quickfacts { grid-template-columns: 1fr; gap: 10px; }
  .contact-quickfacts > span { min-height: 74px; }

  /* Make the mobile menu trigger unmistakable. */
  #primary-menu-trigger {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    width: 82px !important;
    padding: 0 12px 0 35px !important;
    color: var(--melodi-ink) !important;
    font-size: 10px !important;
    font-weight: 800;
    letter-spacing: .08em;
  }
  #primary-menu-trigger::before { top: 17px; left: 13px; width: 17px; }
  #primary-menu-trigger::after {
    content: "MENÜ";
    position: static;
    display: block !important;
    width: auto;
    height: auto;
    border-radius: 0;
    background: transparent;
  }

  /* Legacy hover selectors must never wash out the two contact cards. */
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions:hover > a,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions > a:hover,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions > a:focus,
  #primary-menu > ul > li.theme-mobile-actions:hover > a,
  #primary-menu > ul > li.theme-mobile-actions > a:hover,
  #primary-menu > ul > li.theme-mobile-actions > a:focus {
    border-color: rgba(243,111,61,.72) !important;
    background: #123b41 !important;
    color: #fff !important;
    text-shadow: none !important;
  }
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions:hover > a > span,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions > a:hover > span,
  #primary-menu > ul > li.theme-mobile-actions:hover > a > span,
  #primary-menu > ul > li.theme-mobile-actions > a:hover > span { color: rgba(255,255,255,.68) !important; }
  #primary-menu > ul > li.theme-mobile-actions:hover > a > span strong,
  #primary-menu > ul > li.theme-mobile-actions > a:hover > span strong { color: #fff !important; }

  .ccw_plugin.chatbot { display: none !important; }
  .theme-mobile-dock {
    position: fixed;
    right: 50%;
    bottom: max(12px, env(safe-area-inset-bottom));
    z-index: 1180;
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    gap: 7px;
    width: min(370px, calc(100% - 22px));
    padding: 7px;
    border: 1px solid rgba(255,255,255,.54);
    border-radius: 19px;
    background: rgba(255,253,249,.93);
    box-shadow: 0 18px 50px rgba(5,34,39,.24);
    backdrop-filter: blur(18px);
    transform: translateX(50%);
  }
  .theme-mobile-dock > a { display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 9px 13px; border-radius: 13px; }
  .theme-mobile-dock > a > i { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 11px; font-size: 16px; }
  .theme-mobile-dock > a > span { display: flex; flex-direction: column; line-height: 1.18; }
  .theme-mobile-dock small { font-size: 8px; font-weight: 600; letter-spacing: .04em; }
  .theme-mobile-dock b { margin-top: 3px; font-size: 12px; }
  .theme-mobile-dock-call { background: #eaf0ee; color: var(--melodi-ink) !important; }
  .theme-mobile-dock-call > i { background: #fff; color: var(--melodi-orange); }
  .theme-mobile-dock-call small { color: var(--melodi-muted); }
  .theme-mobile-dock-whatsapp { background: var(--melodi-orange); color: #fff !important; box-shadow: 0 8px 20px rgba(223,87,40,.22); }
  .theme-mobile-dock-whatsapp > i { background: rgba(255,255,255,.14); color: #fff; }
  .theme-mobile-dock-whatsapp small { color: rgba(255,255,255,.72); }
  .theme-mobile-dock > a:hover,
  .theme-mobile-dock > a:focus { transform: translateY(-2px); }
  .theme-mobile-dock-call:hover,
  .theme-mobile-dock-call:focus { background: #dfe9e6; color: var(--melodi-ink) !important; }
  .theme-mobile-dock-whatsapp:hover,
  .theme-mobile-dock-whatsapp:focus { background: var(--melodi-orange-dark); color: #fff !important; }

  .theme-footer-trust-inner { width: calc(100% - 36px); }
  .theme-footer-trust-inner > span { padding: 18px; }
  #copyrights { padding-bottom: calc(25px + 82px + env(safe-area-inset-bottom)) !important; }
}

@media (max-width: 600px) {
  body:not(.is-home) #slider.hidden-xs,
  body:not(.is-home) #slider.theme-inner-hero,
  body:not(.is-home) #slider { height: 108px !important; min-height: 108px !important; }
  body:not(.is-home) #slider .theme-inner-hero-copy h1 { font-size: 28px !important; }
  .theme-inner-hero-label { margin-bottom: 6px; font-size: 8px; }
  .theme-inner-hero-copy p { display: none; }
  .theme-service-main { padding: 30px 24px; border-radius: 17px; font-size: 13px; }
  .theme-service-intro { margin-bottom: 27px; padding-bottom: 24px; }
  .theme-service-intro h2 { font-size: 27px !important; }
  .theme-service-intro p { font-size: 12px; }
  .theme-service-aside { padding: 31px 24px; border-radius: 17px; }
  .theme-service-aside h3 { font-size: 24px !important; }

  .contact-intro h2 { font-size: 32px !important; }
  .contact-intro p { font-size: 13px; }
  .contact-quickfacts > span { padding: 14px 16px; }
  .contact-card { padding: 31px 24px; }
  .contact-card h3 { font-size: 25px !important; }
  .contact-card p { font-size: 13px; }
  .contact-list > div { grid-template-columns: 105px 1fr; gap: 10px; }
  .contact-list dt { font-size: 11px; }
  .contact-list dd { font-size: 12px; word-break: break-word; }
  .contact-action { font-size: 12px; }

  .theme-footer-cta h2 { font-size: 28px !important; }
  .theme-footer-trust-inner { grid-template-columns: 1fr; width: calc(100% - 32px); padding: 13px 0; }
  .theme-footer-trust-inner > span,
  .theme-footer-trust-inner > span:first-child,
  .theme-footer-trust-inner > span:last-child { min-height: 78px; padding: 13px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .theme-footer-trust-inner > span:last-child { border-bottom: 0; }
  #footer .footer-logo { width: 225px !important; }
  #footer .widget { font-size: 12px !important; }
  #footer h4 { font-size: 13px !important; }
  #copyrights { font-size: 11px !important; }
}

/* v5.4 — lighter brand system, unified corporate pages and product detail */
:root {
  --melodi-cream: #f7f4ed;
  --melodi-paper: #fffefb;
  --melodi-soft-sage: #edf3ef;
  --melodi-soft-peach: #fff1e9;
  --melodi-line: #e4e4dc;
  --melodi-muted: #607176;
  --melodi-shadow: 0 18px 48px rgba(24, 58, 60, .09);
  --melodi-shadow-soft: 0 9px 28px rgba(24, 58, 60, .06);
}

/* Header: only direct phone and e-mail contact. */
#top-bar {
  height: 42px !important;
  min-height: 42px !important;
  border-bottom: 1px solid #ebe8df !important;
  background: #f3f0e8 !important;
  color: var(--melodi-ink) !important;
  line-height: 42px !important;
}
#top-bar .container { display: flex; align-items: center; justify-content: flex-end; height: 42px !important; }
#top-bar .fright { position: static !important; }
#top-social.theme-top-contact ul { display: flex; align-items: center; gap: 8px; }
#top-social.theme-top-contact li { border: 0 !important; }
#top-social.theme-top-contact li a {
  display: flex !important;
  align-items: center;
  gap: 10px;
  width: auto !important;
  height: 32px !important;
  padding: 0 14px !important;
  border: 1px solid #dedfd8;
  border-radius: 10px;
  background: rgba(255,255,255,.72) !important;
  color: #375157 !important;
}
#top-social.theme-top-contact li .ts-icon { width: 18px !important; height: 30px !important; color: var(--melodi-orange) !important; line-height: 30px !important; }
#top-social.theme-top-contact li .ts-text { display: block !important; width: auto !important; height: auto !important; padding: 0 !important; font-size: 11px; font-weight: 700; line-height: 1 !important; }
#top-social.theme-top-contact li a:hover { border-color: #f0c6b4 !important; background: var(--melodi-soft-peach) !important; color: var(--melodi-orange-dark) !important; }
#primary-menu > ul > li:last-child,
#primary-menu > ul > li:last-child > a { border-right: 0 !important; }
#primary-menu > ul > li:last-child::before,
#primary-menu > ul > li:last-child::after,
#primary-menu > ul > li:last-child > a::before { display: none !important; }

/* Every inner page now shares one light masthead. */
#page-menu { border-bottom: 1px solid #e6e4dc !important; background: #f0eee7 !important; }
#page-menu-wrap { background: transparent !important; }
#page-menu nav li a { color: #6a7779 !important; }
#page-menu nav li:last-child a { color: var(--melodi-orange-dark) !important; }
body:not(.is-home) #slider.theme-inner-hero,
body:not(.is-home) #slider {
  border-bottom: 1px solid #e1e5df !important;
  background-color: #eef2ee !important;
  background-image: linear-gradient(112deg, #f8f5ee 0%, #eef3ef 52%, #f7eee5 100%) !important;
}
body:not(.is-home) #slider::before {
  background: linear-gradient(90deg, rgba(255,254,251,.96), rgba(237,243,239,.78)) !important;
}
body:not(.is-home) #slider::after {
  border-color: rgba(11,43,49,.07) !important;
  box-shadow: 0 0 0 46px rgba(11,43,49,.022), 0 0 0 92px rgba(243,111,61,.022) !important;
}
body:not(.is-home) #slider .theme-inner-hero-copy h1 { color: var(--melodi-ink) !important; }
.theme-inner-hero-label { color: var(--melodi-orange-dark) !important; }
.theme-inner-hero-copy p { color: #647378 !important; }

/* A calmer, lighter rhythm across the site. */
.theme-story-secondary > .site_sec1 {
  border-left: 1px solid #dfe6e0 !important;
  background: linear-gradient(145deg, #edf3ef, #f8f5ee) !important;
}
.theme-story-secondary > .site_sec1 h2,
.theme-story-secondary > .site_sec1 p { color: var(--melodi-ink) !important; }
.theme-story-secondary > .site_sec1 p { color: var(--melodi-muted) !important; }
.theme-sustainability {
  border: 1px solid #dce5de;
  background: linear-gradient(125deg, #edf4ef 0%, #f9f5ed 72%, #fff0e7 100%) !important;
  box-shadow: var(--melodi-shadow-soft);
}
.theme-sustainability h2 { color: var(--melodi-ink) !important; }
.theme-sustainability p { color: var(--melodi-muted) !important; }
.theme-sustainability .theme-eyebrow { color: var(--melodi-orange-dark) !important; }

/* Corporate and contact pages use the same card language. */
.theme-about-layout,
.contact-grid { grid-template-columns: minmax(0, 1.35fr) minmax(320px, .78fr); gap: 24px; align-items: stretch; }
.theme-about-copy,
.contact-details-card,
.theme-about-aside,
.contact-action-card {
  border: 1px solid rgba(11,43,49,.08) !important;
  border-radius: var(--melodi-radius) !important;
  background: var(--melodi-paper) !important;
  color: var(--melodi-ink) !important;
  box-shadow: var(--melodi-shadow-soft) !important;
}
.theme-about-aside,
.contact-action-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(150deg, #edf3ef 0%, #f8f5ee 70%, #fff0e7 100%) !important;
}
.theme-about-aside::before,
.contact-action-card::before { right: 30px; left: 30px; background: linear-gradient(90deg, var(--melodi-orange), #ffaf87) !important; }
.theme-about-aside h2,
.contact-action-card h3 { color: var(--melodi-ink) !important; }
.theme-about-aside > div { border-top-color: rgba(11,43,49,.10); }
.theme-about-aside small,
.contact-action-card p { color: var(--melodi-muted) !important; }
.contact-action-card .contact-card-icon { background: #fff !important; color: var(--melodi-orange) !important; box-shadow: 0 7px 18px rgba(25,55,58,.07); }
.contact-prep-note { border-color: rgba(11,43,49,.09); background: rgba(255,255,255,.62); }
.contact-prep-note b { color: var(--melodi-ink); }
.contact-prep-note small { color: var(--melodi-muted); }
.contact-action { border-color: #d7deda; background: rgba(255,255,255,.74); color: var(--melodi-ink) !important; }
.contact-action:hover { border-color: #efb39a; background: #fff; color: var(--melodi-orange-dark) !important; }
.contact-action-primary,
.contact-action-primary:hover { border-color: var(--melodi-orange); background: var(--melodi-orange); color: #fff !important; }
.contact-security-note { color: #768487; }

/* Professional product detail */
.theme-product-detail-shell {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  gap: 32px;
  align-items: start;
}
.theme-product-detail-shell::before,
.theme-product-detail-shell::after { display: none !important; content: none !important; }
.is-product-detail #content .theme-product-detail-shell > .col_half { float: none !important; width: auto !important; margin: 0 !important; }
.theme-product-detail-gallery { position: sticky; top: 102px; }
.is-product-detail .theme-product-detail-gallery .fslider { border: 1px solid #e2e3dc; box-shadow: var(--melodi-shadow-soft); }
.is-product-detail .theme-product-detail-gallery .slide,
.is-product-detail .theme-product-detail-gallery .slide a { display: block; background: #fff; }
.is-product-detail .theme-product-detail-gallery .fslider img { display: block; aspect-ratio: 1 / 1; object-fit: contain; padding: 28px; }
.theme-product-detail-copy { min-width: 0; }
.product-legacy-promo { display: none !important; }
.product-summary-head {
  margin: 0 0 20px;
  padding: 40px;
  border: 1px solid #e3e3dc;
  border-radius: var(--melodi-radius);
  background: linear-gradient(145deg, #fffefb 0%, #f8f5ee 100%);
  color: var(--melodi-ink);
  box-shadow: var(--melodi-shadow-soft);
}
.product-summary-head > .product-kicker { color: var(--melodi-orange-dark); font-size: 10px; }
.product-summary-head h2 { margin: 13px 0 15px !important; color: var(--melodi-ink) !important; font-size: 38px !important; }
.product-summary-head > p { max-width: 680px; margin-bottom: 25px !important; color: var(--melodi-muted); font-size: 14px; line-height: 1.75; }
.product-trust-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 24px; }
.product-trust-points > span { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 13px; border: 1px solid #e5e5de; border-radius: 13px; background: rgba(255,255,255,.86); }
.product-trust-points i { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; background: var(--melodi-soft-peach); color: var(--melodi-orange); font-size: 15px; }
.product-trust-points em { display: flex; min-width: 0; flex-direction: column; font-style: normal; }
.product-trust-points b { color: var(--melodi-ink); font-size: 11px; line-height: 1.3; }
.product-trust-points small { margin-top: 3px; color: var(--melodi-muted); font-size: 8px; line-height: 1.35; }
.product-summary-actions { display: flex; align-items: stretch; gap: 10px; }
.product-summary-head .product-summary-actions > a { min-height: 57px; border-radius: 12px; }
.product-summary-head .product-offer-button { justify-content: space-between; flex: 1 1 auto; padding: 15px 18px; background: var(--melodi-orange); font-size: 12px; }
.product-summary-head .product-offer-button:hover { background: var(--melodi-orange-dark); }
.product-summary-head .product-call-button { display: flex; align-items: center; gap: 10px; padding: 9px 15px; border: 1px solid #dce1dc; background: #fff; color: var(--melodi-ink) !important; }
.product-call-button > i { color: var(--melodi-orange); font-size: 17px; }
.product-call-button em { display: flex; flex-direction: column; font-style: normal; line-height: 1.25; }
.product-call-button small { color: var(--melodi-muted); font-size: 8px; }
.product-call-button b { margin-top: 3px; font-size: 11px; }
.product-response-note { display: flex; align-items: center; gap: 8px; margin-top: 14px; color: #778487; font-size: 9px; }
.product-response-note i { color: var(--melodi-orange); }
.product-description-card { padding: 38px 40px; border: 1px solid #e3e3dc; border-radius: var(--melodi-radius); background: #fffefb; box-shadow: var(--melodi-shadow-soft); }
.product-description-card h3 { margin: 0 0 18px !important; color: var(--melodi-ink) !important; font-family: inherit !important; font-size: 27px !important; font-weight: 700 !important; letter-spacing: -.035em; line-height: 1.2 !important; }
.product-description-card p { margin: 0 !important; color: var(--melodi-muted); font-size: 14px; line-height: 1.9; }
.product-confidence-strip { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 0; border: 1px solid #dfe3dd; border-radius: 18px; background: #dfe3dd; overflow: hidden; }
.product-confidence-strip > span { display: flex; align-items: center; gap: 14px; min-height: 100px; padding: 22px 28px; background: #f1f5f1; }
.product-confidence-strip i { color: var(--melodi-orange); font-size: 20px; }
.product-confidence-strip em { display: flex; flex-direction: column; font-style: normal; }
.product-confidence-strip b { color: var(--melodi-ink); font-size: 13px; }
.product-confidence-strip small { margin-top: 5px; color: var(--melodi-muted); font-size: 10px; }
.product-related-heading { margin: 0 0 28px; }
.product-related-heading h2 { margin: 0 !important; color: var(--melodi-ink) !important; font-family: inherit !important; font-size: 34px !important; font-weight: 700 !important; letter-spacing: -.04em; }
.is-product-detail #content .content-wrap + .content-wrap,
.is-product-detail section#content + section#content > .content-wrap { padding: 56px 0 76px !important; border-top: 1px solid #e2e2da; background: rgba(255,255,255,.38); }
.is-product-detail #portfolio { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Light, contemporary footer */
#footer {
  border-top: 1px solid #e0e2db !important;
  background: #eef2ee !important;
  color: #627176 !important;
}
.theme-footer-cta { border-bottom: 1px solid #e0e4de; background: linear-gradient(112deg, #fff7f1 0%, #f3f3ec 55%, #eaf1ec 100%); }
.theme-footer-cta::after { border-color: rgba(11,43,49,.05); box-shadow: 0 0 0 55px rgba(11,43,49,.018), 0 0 0 110px rgba(243,111,61,.018); }
.theme-footer-cta-inner > div:first-child > span { color: var(--melodi-orange-dark); }
.theme-footer-cta h2 { color: var(--melodi-ink) !important; }
.theme-footer-cta p { color: var(--melodi-muted); }
#footer .theme-footer-cta-actions > a { border-color: #d9dfda; background: rgba(255,255,255,.72); color: var(--melodi-ink) !important; }
.theme-footer-cta-actions small { color: var(--melodi-muted); }
#footer .theme-footer-cta-actions > a:hover { border-color: #efb397; background: #fff; color: var(--melodi-orange-dark) !important; }
#footer .theme-footer-cta-actions > a.theme-footer-cta-primary,
#footer .theme-footer-cta-actions > a.theme-footer-cta-primary:hover { border-color: var(--melodi-orange); background: var(--melodi-orange); color: #fff !important; }
.theme-footer-trust { border-bottom: 1px solid #dde2dc; background: rgba(255,255,255,.48); }
.theme-footer-trust-inner > span { border-right-color: #dde2dc; }
.theme-footer-trust i { background: #fff1e9; color: var(--melodi-orange) !important; }
.theme-footer-trust b { color: var(--melodi-ink); }
.theme-footer-trust small { color: var(--melodi-muted); }
#footer .footer-widgets-wrap { padding-top: 58px !important; padding-bottom: 54px !important; }
#footer .footer-logo { border: 1px solid #e0e2dc; box-shadow: 0 8px 24px rgba(25,55,58,.05); }
.theme-footer-brand-note { max-width: 390px; margin: -10px 0 22px !important; color: #52666a !important; font-size: 12px; line-height: 1.75; }
#footer .widget { color: #617176 !important; }
#footer h4 { color: var(--melodi-ink) !important; }
#footer a { color: #53686c !important; }
#footer a:hover { color: var(--melodi-orange-dark) !important; }
#footer i { color: var(--melodi-orange); }
#copyrights {
  border-top: 1px solid #d9dfd9 !important;
  background: #e5ebe6 !important;
  color: #56696d !important;
}
#copyrights a { color: var(--melodi-ink) !important; }

@media (max-width: 991px) {
  .theme-about-layout,
  .contact-grid,
  .theme-product-detail-shell { grid-template-columns: 1fr; }
  .theme-product-detail-gallery { position: static; }
  .product-confidence-strip { grid-template-columns: 1fr; }
  .product-confidence-strip > span { min-height: 82px; }
}

@media (max-width: 600px) {
  .product-summary-head,
  .product-description-card { padding: 29px 23px; }
  .product-summary-head h2 { font-size: 30px !important; }
  .product-summary-head > p,
  .product-description-card p { font-size: 13px; }
  .product-trust-points { grid-template-columns: 1fr; }
  .product-trust-points > span { min-height: 62px; }
  .product-summary-actions { display: grid; grid-template-columns: 1fr; }
  .product-summary-head .product-summary-actions > a { width: 100%; }
  .product-confidence-strip > span { padding: 19px; }
  .product-related-heading h2 { font-size: 27px !important; }
  .theme-footer-brand-note { font-size: 11px; }
}

/* v5.5 — balanced corporate palette, packaging signature and calm motion */
:root {
  --melodi-cream: #f1eee5;
  --melodi-paper: #fbfaf6;
  --melodi-soft-sage: #dfe9e2;
  --melodi-soft-peach: #f6e2d7;
  --melodi-line: #d9ddd5;
  --melodi-muted: #596c70;
  --melodi-shadow: 0 17px 46px rgba(29, 58, 59, .11);
  --melodi-shadow-soft: 0 8px 25px rgba(29, 58, 59, .075);
}

body,
#wrapper,
body.stretched #wrapper,
.is-home #content,
body:not(.is-home) #content { background: var(--melodi-cream) !important; }

/* Trust-led top bar and a more substantial main header. */
#top-bar {
  height: 44px !important;
  min-height: 44px !important;
  border-bottom-color: #d5ddd6 !important;
  background: #e1e8e2 !important;
  line-height: 44px !important;
}
#top-bar .container { justify-content: space-between; height: 44px !important; }
.theme-trustline { height: 44px; gap: 24px; color: #4d6266; font-size: 10px; }
.theme-trustline span + span::before { background: #a5b2ad; }
.theme-trustline b { color: #c8532c; font-size: 9px; }
#top-social.theme-top-contact li a {
  height: 34px !important;
  border-color: #cfd8d1;
  background: rgba(251,250,246,.88) !important;
  color: #334e53 !important;
  box-shadow: 0 3px 10px rgba(29,58,59,.035);
}
#top-social.theme-top-contact li a:hover {
  border-color: #dfa58c !important;
  background: #f7e6dd !important;
  color: #bd4b27 !important;
}

#header,
#header.floating-header {
  border-bottom: 0 !important;
  background: linear-gradient(90deg, rgba(251,250,246,.99), rgba(246,247,241,.99)) !important;
  box-shadow: 0 8px 28px rgba(23,52,54,.08) !important;
}
#header::after {
  content: none !important;
  display: none !important;
}
.theme-header-proof {
  display: flex;
  align-items: center;
  gap: 11px;
  flex: 0 0 auto;
  margin: 0 auto 0 4px;
  padding: 10px 17px;
  border-left: 1px solid #d9ddd5;
  color: var(--melodi-ink);
}
.theme-header-proof > i {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: #e2ece5;
  color: #3f6c67;
  font-size: 16px;
}
.theme-header-proof > span { display: flex; flex-direction: column; line-height: 1.28; }
.theme-header-proof b { font-size: 11px; }
.theme-header-proof small { margin-top: 4px; color: var(--melodi-muted); font-size: 8px; letter-spacing: .02em; }
#primary-menu > ul { padding: 6px; border: 1px solid rgba(27,57,59,.075); border-radius: 15px; background: rgba(255,255,255,.48); }
#primary-menu > ul > li > a,
.theme-header-scrolled #primary-menu > ul > li > a { border: 0 !important; border-radius: 10px; }
#primary-menu > ul > li:not(.theme-quote-item):hover > a,
#primary-menu > ul > li:not(.theme-quote-item).current > a,
#primary-menu > ul > li:not(.theme-quote-item).active > a,
#primary-menu > ul > li:not(.theme-quote-item) > a:hover,
#primary-menu > ul > li:not(.theme-quote-item) > a:focus { background: #e6ece7 !important; color: #a94424 !important; }
#primary-menu > ul > li.theme-nav-last,
#primary-menu > ul > li.theme-nav-last > a,
#primary-menu > ul > li.theme-nav-last::before,
#primary-menu > ul > li.theme-nav-last::after,
#primary-menu > ul > li.theme-nav-last > a::before,
#primary-menu > ul > li.theme-nav-last > a::after { border-right: 0 !important; }
#primary-menu > ul > li.theme-nav-last::before,
#primary-menu > ul > li.theme-nav-last::after,
#primary-menu > ul > li.theme-nav-last > a::before,
#primary-menu > ul > li.theme-nav-last > a::after { display: none !important; content: none !important; }

/* Breadcrumb bar: exact vertical centering. */
#page-menu,
#page-menu-wrap,
#page-menu .container { height: 40px !important; min-height: 40px !important; }
#page-menu { border-bottom-color: #cfd9d1 !important; background: #dfe7e1 !important; }
#page-menu .container { display: flex !important; align-items: center !important; }
#page-menu nav { display: flex !important; align-items: center !important; width: 100%; height: 40px !important; }
#page-menu nav ul { display: flex !important; align-items: center !important; width: 100%; height: 40px !important; margin: 0 !important; }
#page-menu nav li { display: flex !important; align-items: center !important; height: 40px !important; }
#page-menu nav li a {
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
  padding: 0 18px 0 0 !important;
  color: #55696c !important;
  line-height: 1 !important;
}
#page-menu nav li:last-child a { color: #a94424 !important; }

/* Medium-toned sections: neither heavy nor washed out. */
body:not(.is-home) #slider.theme-inner-hero,
body:not(.is-home) #slider {
  border-bottom-color: #d1dad2 !important;
  background-color: #dfe6df !important;
  background-image: linear-gradient(112deg, #ece7dc 0%, #dce7df 52%, #eadbd1 100%) !important;
}
body:not(.is-home) #slider::before { background: linear-gradient(90deg, rgba(247,244,236,.90), rgba(218,231,222,.68)) !important; }
.theme-story-secondary > .site_sec1 { background: linear-gradient(145deg, #dce8e0, #eee9de) !important; }
.theme-sustainability { border-color: #c8d6cc; background: linear-gradient(125deg, #d5e4da 0%, #e9e8dc 70%, #f1dacf 100%) !important; }
.theme-about-aside,
.contact-action-card { background: linear-gradient(150deg, #dce9e1 0%, #ebe9df 70%, #f4ddd2 100%) !important; }
.theme-service-aside { background: linear-gradient(150deg, #496e71, #617f7d) !important; }
.theme-service-aside li { border-top-color: rgba(255,255,255,.20); }
.product-summary-head { background: linear-gradient(145deg, #fbfaf6 0%, #e9e9de 100%); }
.product-confidence-strip > span { background: #e5ece6; }

/* Replace the unrelated dark slider action with a brand-led warm action. */
.theme-slider-assurance > a {
  border: 0 !important;
  background: linear-gradient(135deg, #d55d34, #ef7b4c) !important;
  color: #fff !important;
}
.theme-slider-assurance > a:hover { background: linear-gradient(135deg, #bd4c28, #df6739) !important; }
.theme-slider-assurance a small { color: rgba(255,255,255,.78); }
.theme-slider-assurance a > i { color: #fff; }

/* Tighter editorial rhythm: remove unnecessary dead space. */
.is-home #slider.slider-parallax { margin-bottom: 88px !important; }
.is-home #content > .content-wrap { padding-bottom: 68px !important; }
.theme-feature-card { min-height: 174px; padding: 23px 23px 21px; }
.theme-feature-top { margin-bottom: 18px; }
.theme-story { margin-top: 72px; }
.theme-story > .site_sec1,
.theme-story > .parallax_sec1,
.theme-story > .parallax_sec2 { min-height: 455px !important; }
.theme-story > .site_sec1 { padding: 50px !important; }
.theme-category-section { margin-top: 72px !important; }
.theme-category-section h2 { margin-bottom: 27px !important; }
.theme-sustainability { margin-top: 72px !important; padding: 54px 58px !important; }
body:not(.is-home) #content > .content-wrap,
body.is-product-grid #content > .content-wrap,
body.is-product-grid #wrapper > .content-wrap,
.is-product-detail #content > .content-wrap { padding: 58px 0 !important; }
.theme-service-main { padding-top: 45px; padding-bottom: 45px; }
.contact-map-heading { margin-top: 52px; }
.is-product-detail #content .content-wrap + .content-wrap,
.is-product-detail section#content + section#content > .content-wrap { padding: 32px 0 54px !important; }
.is-product-detail #slider + #content > .content-wrap { padding-bottom: 36px !important; }

/* Packaging-specific folded corner signature. */
.theme-feature-card::before,
.theme-category-section .portfolio-item::before,
.is-product-grid #portfolio .portfolio-item::before,
.is-product-detail #portfolio .portfolio-item::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  width: 42px;
  height: 42px;
  background: linear-gradient(225deg, rgba(210,94,51,.16) 0 49%, transparent 50%);
  pointer-events: none;
}
.product-summary-head { position: relative; overflow: hidden; }
.product-summary-head::after {
  content: "";
  position: absolute;
  top: -78px;
  right: -78px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(73,110,113,.12);
  transform: rotate(45deg);
  pointer-events: none;
}

/* Footer with stronger mid-tone separation. */
#footer { border-top-color: #c4d0c7 !important; background: #d8e2db !important; }
.theme-footer-cta { border-bottom-color: #cbd5cd; background: linear-gradient(112deg, #eadbcf 0%, #e7e5d9 52%, #d8e5dc 100%); }
.theme-footer-trust { border-bottom-color: #c8d3ca; background: #e8ece6; }
.theme-footer-trust-inner > span { min-height: 88px; border-right-color: #ccd6ce; }
#footer .footer-widgets-wrap { padding-top: 48px !important; padding-bottom: 46px !important; }
#copyrights { background: #cbd8d0 !important; }
.theme-footer-cta-inner { padding-top: 48px; padding-bottom: 48px; }

/* Calm reveal motion. Content remains static when reduced motion is requested. */
.theme-motion-ready .theme-reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition: opacity .58s cubic-bezier(.2,.7,.2,1), transform .58s cubic-bezier(.2,.7,.2,1) !important;
  transition-delay: var(--theme-reveal-delay, 0ms) !important;
  will-change: opacity, transform;
}
.theme-motion-ready .theme-reveal.theme-reveal-visible { opacity: 1; transform: translate3d(0,0,0); }
.theme-feature-card,
.portfolio-item,
.contact-card,
.product-summary-head { transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important; }
@media (hover: hover) and (pointer: fine) {
  .theme-feature-card:hover,
  .theme-category-section .portfolio-item:hover,
  .is-product-grid #portfolio .portfolio-item:hover,
  .is-product-detail #portfolio .portfolio-item:hover { transform: translateY(-5px) !important; border-color: rgba(201,82,43,.25); box-shadow: 0 17px 38px rgba(29,58,59,.12); }
}

@media (max-width: 1199px) and (min-width: 992px) {
  .theme-trustline { gap: 16px; }
  .theme-trustline span:last-child { display: none; }
  #top-social.theme-top-contact li a { padding-right: 10px !important; padding-left: 10px !important; }
  .theme-header-proof { display: none; }
}

@media (max-width: 991px) {
  .theme-header-proof { display: none; }
  #primary-menu > ul { padding: 24px 18px !important; border: 0; border-radius: 0 0 28px 0; background: #fbfaf6; }
  #primary-menu > ul > li > a,
  .theme-header-scrolled #primary-menu > ul > li > a { border-radius: 10px; }
  .theme-story { margin-top: 60px; }
  .theme-story > .site_sec1,
  .theme-story > .parallax_sec1,
  .theme-story > .parallax_sec2 { min-height: 355px !important; }
  .theme-story > .site_sec1 { padding: 40px !important; }
  .theme-category-section,
  .theme-sustainability { margin-top: 60px !important; }
  .theme-sustainability { padding: 44px !important; }
}

@media (max-width: 600px) {
  .is-home #slider.slider-parallax { margin-bottom: 146px !important; }
  .theme-feature-card { min-height: 154px; padding: 18px 16px; }
  .theme-story,
  .theme-category-section,
  .theme-sustainability { margin-top: 48px !important; }
  .theme-story > .parallax_sec1,
  .theme-story > .parallax_sec2 { min-height: 220px !important; }
  .theme-story > .site_sec1 { padding: 28px 23px 31px !important; }
  .theme-sustainability { padding: 31px 23px !important; }
  body:not(.is-home) #content > .content-wrap,
  body.is-product-grid #content > .content-wrap,
  body.is-product-grid #wrapper > .content-wrap,
  .is-product-detail #content > .content-wrap { padding: 36px 0 !important; }
  .is-product-detail #slider + #content > .content-wrap { padding-bottom: 25px !important; }
  .is-product-detail section#content + section#content > .content-wrap { padding-top: 25px !important; padding-bottom: 42px !important; }
  .theme-service-main { padding: 28px 23px; }
  .theme-footer-cta-inner { padding-top: 31px; padding-bottom: 31px; }
  .theme-footer-cta h2 { font-size: 25px !important; }
  .theme-footer-cta-actions { margin-top: 21px; }
  #footer .theme-footer-cta-actions > a { min-height: 54px; }
  .theme-footer-trust-inner {
    display: flex;
    gap: 10px;
    width: calc(100% - 24px);
    padding: 14px 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .theme-footer-trust-inner::-webkit-scrollbar { display: none; }
  .theme-footer-trust-inner > span,
  .theme-footer-trust-inner > span:first-child,
  .theme-footer-trust-inner > span:last-child {
    flex: 0 0 238px;
    min-height: 78px;
    padding: 12px 14px;
    border: 1px solid #d3dbd4;
    border-radius: 14px;
    background: rgba(251,250,246,.72);
    scroll-snap-align: start;
  }
  .theme-footer-trust i { flex-basis: 38px; width: 38px; height: 38px; }
  #footer .footer-widgets-wrap { gap: 27px 18px !important; padding-top: 33px !important; padding-bottom: 30px !important; }
  #footer .footer-logo { width: 190px !important; margin-bottom: 21px !important; }
  .theme-footer-brand-note { margin-bottom: 17px !important; }
  #copyrights { min-height: 0 !important; padding-top: 18px !important; padding-bottom: calc(18px + 70px + env(safe-area-inset-bottom)) !important; }
}

/* v5.7 — quiet header edge and refined mobile navigation */
@media (max-width: 991px) {
  #primary-menu > ul,
  #primary-menu > ul.sf-js-enabled {
    width: min(382px, 92vw) !important;
    padding: 22px 18px 28px !important;
    border-right: 1px solid rgba(18, 58, 65, .08) !important;
    border-radius: 0 26px 26px 0 !important;
    background: linear-gradient(155deg, #fffdf9 0%, #f8f6f0 56%, #edf3ee 100%) !important;
    box-shadow: 28px 0 90px rgba(11, 42, 46, .24) !important;
  }
  #primary-menu > ul::before,
  #primary-menu > ul::after,
  #primary-menu .theme-mobile-head::before,
  #primary-menu .theme-mobile-head::after { content: none !important; display: none !important; }
  #primary-menu > ul > li { border-bottom-color: rgba(20, 57, 61, .14) !important; }

  #primary-menu .theme-mobile-head {
    min-height: 104px !important;
    margin: 0 0 12px !important;
    padding: 17px 15px 17px 17px !important;
    border: 1px solid rgba(21, 58, 62, .10) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .82) !important;
    box-shadow: 0 12px 28px rgba(22, 54, 55, .055) !important;
  }
  #primary-menu .theme-mobile-head:hover,
  #primary-menu .theme-mobile-head:focus-within { background: rgba(255, 255, 255, .82) !important; }
  #primary-menu .theme-mobile-head > .theme-mobile-brand,
  #primary-menu .theme-mobile-head:hover > .theme-mobile-brand,
  #primary-menu .theme-mobile-head:focus-within > .theme-mobile-brand {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--melodi-ink) !important;
    background: transparent !important;
    transform: none !important;
  }
  #primary-menu .theme-mobile-brand img,
  #primary-menu .theme-mobile-head:hover .theme-mobile-brand img,
  #primary-menu .theme-mobile-head:focus-within .theme-mobile-brand img {
    width: min(190px, 100%) !important;
    height: auto !important;
    transform: none !important;
    transition: none !important;
  }
  #primary-menu .theme-mobile-brand span {
    margin-top: 8px !important;
    color: #607579 !important;
    font-size: 8px !important;
    line-height: 1.3 !important;
    letter-spacing: .075em !important;
  }
  #primary-menu .theme-menu-close {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-left: 24px !important;
    border-color: rgba(20, 57, 61, .18) !important;
    border-radius: 14px;
    background: #f2f5f1 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease !important;
  }
  #primary-menu .theme-menu-close:hover,
  #primary-menu .theme-menu-close:focus-visible {
    border-color: rgba(243, 111, 61, .48) !important;
    background: #f9e8df !important;
    transform: none !important;
  }
  #primary-menu .theme-menu-close i { top: 22px; left: 14px; width: 19px; background: var(--melodi-ink); }

  #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a,
  .theme-header-scrolled #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a {
    padding: 0 14px !important;
    color: var(--melodi-ink) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }
  #primary-menu > ul > li.theme-has-submenu.theme-submenu-open {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    height: auto !important;
    min-height: 58px !important;
  }
  #primary-menu > ul > li.theme-has-submenu.theme-submenu-open > a { flex: 1 1 calc(100% - 50px); }
  #primary-menu > ul > li.theme-has-submenu.theme-submenu-open > ul {
    flex: 0 0 100% !important;
    height: auto !important;
    overflow: visible !important;
  }
  #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions):hover > a,
  #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a:hover,
  #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a:focus {
    color: #b94d28 !important;
    background: rgba(243, 111, 61, .075) !important;
  }
  .theme-submenu-toggle {
    border-color: rgba(25, 62, 65, .14) !important;
    background: #f2eee6 !important;
  }
  #primary-menu > ul > li > ul {
    border: 1px solid rgba(23, 59, 62, .10) !important;
    background: rgba(230, 239, 232, .72) !important;
  }
  #primary-menu > ul > li > ul > li > a { color: #4e6569 !important; font-size: 11px !important; }
  #primary-menu > ul > li > ul > li > a:hover { color: #b94d28 !important; background: #fff9f5 !important; }

  #primary-menu .theme-mobile-actions { gap: 10px; margin-top: 20px !important; }
  #primary-menu > ul > li.theme-mobile-actions > a,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions > a {
    min-height: 82px !important;
    border-color: rgba(20, 57, 61, .12) !important;
    background: #fff !important;
    color: var(--melodi-ink) !important;
    box-shadow: 0 10px 25px rgba(25, 57, 58, .06) !important;
  }
  #primary-menu > ul > li.theme-mobile-actions > a:last-child,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions > a:last-child {
    border-color: #e36536 !important;
    background: linear-gradient(135deg, #f47a49, #e95e31) !important;
    color: #fff !important;
  }
  #primary-menu > ul > li.theme-mobile-actions > a > span { color: #66797c !important; }
  #primary-menu > ul > li.theme-mobile-actions > a > span strong { color: var(--melodi-ink) !important; }
  #primary-menu > ul > li.theme-mobile-actions > a:last-child > i,
  #primary-menu > ul > li.theme-mobile-actions > a:last-child > span,
  #primary-menu > ul > li.theme-mobile-actions > a:last-child > span strong { color: #fff !important; }
  #primary-menu > ul > li.theme-mobile-actions > a:hover,
  #primary-menu > ul > li.theme-mobile-actions > a:focus {
    border-color: rgba(243,111,61,.48) !important;
    background: #f8eee8 !important;
    color: var(--melodi-ink) !important;
  }
  #primary-menu > ul > li.theme-mobile-actions > a:hover > span { color: #66797c !important; }
  #primary-menu > ul > li.theme-mobile-actions > a:hover > span strong { color: var(--melodi-ink) !important; }
  #primary-menu > ul > li.theme-mobile-actions > a:last-child:hover,
  #primary-menu > ul > li.theme-mobile-actions > a:last-child:focus { background: linear-gradient(135deg, #e96638, #d95128) !important; color: #fff !important; }
  #primary-menu > ul > li.theme-mobile-actions > a:last-child:hover > span,
  #primary-menu > ul > li.theme-mobile-actions > a:last-child:hover > span strong { color: #fff !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .theme-reveal,
  .theme-motion-ready .theme-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .theme-feature-card,
  .portfolio-item,
  .contact-card,
  .product-summary-head { transition: none !important; }
}

/* v5.6 — one inner-page masthead and naturally proportioned header */
@media (min-width: 992px) {
  #primary-menu { display: flex; align-items: center; height: 100%; }
  #primary-menu > ul {
    align-self: center;
    height: 64px !important;
    padding: 5px !important;
    border-radius: 14px;
  }
  #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) { display: flex; align-items: center; height: 52px !important; }
  #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a,
  #primary-menu.sub-title > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a {
    height: 52px !important;
    padding: 0 15px !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }
  #primary-menu > ul > li > a::after { right: 15px; bottom: 7px; left: 15px; }
  .theme-header-scrolled #primary-menu > ul { height: 56px !important; padding: 5px !important; }
  .theme-header-scrolled #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) { height: 46px !important; }
  .theme-header-scrolled #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a { height: 46px !important; }

  .theme-header-proof {
    min-width: 238px;
    margin-left: 7px;
    padding: 11px 18px;
  }
  .theme-header-proof > i { width: 42px; height: 42px; border-radius: 13px; font-size: 18px; }
  .theme-header-proof b { font-size: 13px; letter-spacing: -.01em; }
  .theme-header-proof small { margin-top: 5px; font-size: 10px; letter-spacing: 0; }
}

/* All corporate, contact, category and product pages follow hero → breadcrumb. */
body.theme-inner-hero-unified #slider.theme-inner-hero {
  height: 148px !important;
  min-height: 148px !important;
  margin: 0 !important;
}
body.theme-inner-hero-unified #slider.theme-inner-hero + #page-menu {
  position: relative !important;
  z-index: 4;
  margin: 0 !important;
}
body.theme-inner-hero-unified #slider.theme-inner-hero .container {
  display: flex !important;
  align-items: center !important;
  width: min(var(--melodi-container), calc(100% - 48px)) !important;
  height: 100% !important;
}
body.theme-inner-hero-unified #slider.theme-inner-hero .theme-inner-hero-copy {
  width: 100%;
  max-width: 980px;
}
body.theme-inner-hero-unified #slider.theme-inner-hero .theme-inner-hero-copy h1 {
  margin: 0 !important;
  font-size: clamp(34px, 3vw, 44px) !important;
  line-height: 1.04 !important;
}

@media (max-width: 1199px) and (min-width: 992px) {
  #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a,
  #primary-menu.sub-title > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a { padding-right: 11px !important; padding-left: 11px !important; font-size: 11px !important; }
}

@media (max-width: 991px) {
  #primary-menu { height: auto; }
  #primary-menu > ul { height: 100vh !important; padding: 24px 18px !important; }
  #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a,
  .theme-header-scrolled #primary-menu > ul > li:not(.theme-mobile-head):not(.theme-mobile-actions) > a { height: 58px !important; }
  body.theme-inner-hero-unified #slider.theme-inner-hero { height: 124px !important; min-height: 124px !important; }
  body.theme-inner-hero-unified #slider.theme-inner-hero .container { width: calc(100% - 32px) !important; }
}

@media (max-width: 600px) {
  body.theme-inner-hero-unified #slider.theme-inner-hero { height: 108px !important; min-height: 108px !important; }
  body.theme-inner-hero-unified #slider.theme-inner-hero .container { width: calc(100% - 28px) !important; }
  body.theme-inner-hero-unified #slider.theme-inner-hero .theme-inner-hero-copy h1 { font-size: 28px !important; }
}

/* v5.8 — interaction polish, richer editorial content and purposeful motion */
@media (min-width: 992px) {
  #header,
  #header.floating-header {
    box-shadow: 0 18px 42px rgba(21, 49, 51, .14), 0 4px 12px rgba(21, 49, 51, .065) !important;
  }
  .theme-header-scrolled #header,
  .theme-header-scrolled #header.floating-header {
    box-shadow: 0 14px 34px rgba(21, 49, 51, .17), 0 3px 9px rgba(21, 49, 51, .08) !important;
  }
}

/* The text behaves like a designed editorial page, not a plain database dump. */
.theme-rich-text { color: #4d6266; font-size: 16px; line-height: 1.92; }
.theme-rich-text p { max-width: 920px; margin: 0 0 23px !important; color: #4d6266; }
.theme-rich-text p.theme-rich-lead {
  margin-bottom: 29px !important;
  padding: 4px 0 4px 23px;
  border-left: 3px solid var(--melodi-orange);
  color: var(--melodi-ink);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.72;
}
.theme-rich-text h2,
.theme-rich-text h3,
.theme-rich-text h4 { margin-top: 38px !important; color: var(--melodi-ink) !important; letter-spacing: -.025em; }
.theme-rich-text strong,
.theme-rich-text b { color: var(--melodi-ink); }
.theme-rich-text a:not(.product-offer-button):not(.product-call-button) {
  color: var(--melodi-orange-dark);
  text-decoration: underline;
  text-decoration-color: rgba(201,76,39,.28);
  text-underline-offset: 4px;
}
.theme-rich-text ul,
.theme-rich-text ol { margin: 25px 0 30px 4px !important; padding-left: 25px; }
.theme-rich-text li { margin: 0 0 11px; padding-left: 7px; color: #4d6266; }
.theme-rich-text li::marker { color: var(--melodi-orange); font-weight: 800; }
.theme-rich-quote {
  margin: 32px 0 !important;
  padding: 25px 28px;
  border: 1px solid #d7dfd9;
  border-left: 4px solid var(--melodi-orange);
  border-radius: 0 16px 16px 0;
  background: linear-gradient(135deg, #eef4ef, #faf6ef);
  color: var(--melodi-ink);
  font-size: 18px;
}
.product-description-card.theme-rich-text { font-size: 15px; }
.product-description-card.theme-rich-text > p.theme-rich-lead { font-size: 16px; }

/* Service side panel now shares the corporate page's light, assured palette. */
.theme-service-aside {
  border: 1px solid rgba(11,43,49,.09) !important;
  background: linear-gradient(150deg, #dce9e1 0%, #ebe9df 70%, #f4ddd2 100%) !important;
  color: var(--melodi-ink) !important;
  box-shadow: var(--melodi-shadow-soft) !important;
}
.theme-service-aside .theme-eyebrow { color: var(--melodi-orange-dark) !important; }
.theme-service-aside h3,
.theme-service-aside li strong { color: var(--melodi-ink) !important; }
.theme-service-aside li { border-top-color: rgba(11,43,49,.11) !important; }
.theme-service-aside li > b { background: rgba(243,111,61,.12) !important; color: var(--melodi-orange-dark) !important; }
.theme-service-aside li small { color: #64777a !important; }
.theme-service-aside > a { box-shadow: 0 10px 24px rgba(201,76,39,.19); }
.theme-service-aside > a:hover { background: #d85d31 !important; color: #fff !important; }

/* Home imagery has a subtle living-surface effect without moving the copy. */
.theme-story-media { position: relative !important; isolation: isolate; overflow: hidden !important; background-image: none !important; }
.theme-story-image-layer {
  position: absolute;
  inset: -5%;
  z-index: -2;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: scale(1.045) translate3d(-.6%, 0, 0);
  will-change: transform;
  animation: theme-story-drift 14s cubic-bezier(.45,.05,.55,.95) infinite alternate;
}
.theme-story-image-reverse { animation-name: theme-story-drift-reverse; animation-duration: 16s; }
.theme-story-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(255,255,255,.08), transparent 40%, rgba(11,43,49,.10));
  opacity: .55;
}
.theme-story-media:hover .theme-story-image-layer { animation-duration: 8s; }
@keyframes theme-story-drift {
  0% { transform: scale(1.045) translate3d(-.6%, 0, 0); }
  100% { transform: scale(1.105) translate3d(1.5%, -.8%, 0); }
}
@keyframes theme-story-drift-reverse {
  0% { transform: scale(1.055) translate3d(1%, -.5%, 0); }
  100% { transform: scale(1.11) translate3d(-1.4%, .8%, 0); }
}

/* Four true same-category recommendations, independent from legacy isotope sizing. */
.is-product-detail #portfolio.theme-related-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  height: auto !important;
  min-height: 260px;
}
.is-product-detail #portfolio.theme-related-grid .portfolio-item {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  margin: 0 !important;
  transform: none !important;
}
.is-product-detail #portfolio.theme-related-grid.theme-related-loading { opacity: .44; }
.is-product-detail #portfolio.theme-related-grid .portfolio-image img { width: 100% !important; aspect-ratio: 1.25 / 1; object-fit: cover; }

@media (max-width: 991px) {
  /* Freeze every inherited hover state around the brand card. */
  #primary-menu .theme-mobile-head,
  #primary-menu .theme-mobile-head:hover,
  #primary-menu .theme-mobile-head:focus-within {
    border-color: rgba(21,58,62,.10) !important;
    background: rgba(255,255,255,.88) !important;
  }
  #primary-menu .theme-mobile-head > a.theme-mobile-brand,
  #primary-menu .theme-mobile-head:hover > a.theme-mobile-brand,
  #primary-menu .theme-mobile-head:focus-within > a.theme-mobile-brand,
  body:not(.dark) #header #header-wrap #primary-menu .theme-mobile-head:hover > a.theme-mobile-brand {
    border: 0 !important;
    border-bottom: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--melodi-ink) !important;
    text-shadow: none !important;
    transform: none !important;
    transition: none !important;
  }
  #primary-menu .theme-mobile-head > a.theme-mobile-brand::before,
  #primary-menu .theme-mobile-head > a.theme-mobile-brand::after,
  #primary-menu .theme-mobile-head:hover > a.theme-mobile-brand::before,
  #primary-menu .theme-mobile-head:hover > a.theme-mobile-brand::after { content: none !important; display: none !important; }
  #primary-menu .theme-mobile-brand img,
  #primary-menu .theme-mobile-head:hover .theme-mobile-brand img,
  #primary-menu .theme-mobile-head:focus-within .theme-mobile-brand img {
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  #primary-menu .theme-menu-close {
    position: relative !important;
    display: block !important;
    line-height: 0 !important;
  }
  #primary-menu .theme-menu-close i {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 19px !important;
    height: 2px !important;
    margin: 0 !important;
    transform-origin: 50% 50% !important;
  }
  #primary-menu .theme-menu-close i:first-child { transform: translate(-50%, -50%) rotate(45deg) !important; }
  #primary-menu .theme-menu-close i:last-child { transform: translate(-50%, -50%) rotate(-45deg) !important; }

  #primary-menu > ul > li.theme-has-submenu.theme-submenu-open {
    height: auto !important;
    min-height: 58px !important;
  }
  #primary-menu > ul > li.theme-has-submenu.theme-submenu-open > ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 12px !important;
    padding: 8px 0 2px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  #primary-menu > ul > li.theme-has-submenu > ul > li {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  #primary-menu > ul > li.theme-has-submenu > ul > li > a {
    display: flex !important;
    align-items: center !important;
    min-height: 52px !important;
    padding: 9px 11px !important;
    border: 1px solid rgba(18,58,65,.10) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.86) !important;
    color: #385357 !important;
    box-shadow: 0 7px 18px rgba(21,53,55,.045) !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
  }
  #primary-menu > ul > li.theme-has-submenu > ul > li > a i {
    flex: 0 0 auto;
    margin-right: 7px;
    color: var(--melodi-orange) !important;
    font-size: 14px;
  }
  #primary-menu > ul > li.theme-has-submenu > ul > li > a:hover,
  #primary-menu > ul > li.theme-has-submenu > ul > li > a:focus {
    border-color: rgba(243,111,61,.38) !important;
    background: #fff7f2 !important;
    color: var(--melodi-orange-dark) !important;
    transform: translateY(-1px);
  }
  .is-product-detail #portfolio.theme-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

@media (max-width: 600px) {
  .theme-rich-text { font-size: 14px; line-height: 1.82; }
  .theme-rich-text p.theme-rich-lead { padding-left: 17px; font-size: 15px; }
  .theme-service-aside { padding: 28px 23px !important; }
  .theme-story-image-layer { inset: -4%; animation-duration: 18s; }
  #primary-menu > ul > li.theme-has-submenu.theme-submenu-open > ul { grid-template-columns: 1fr; gap: 7px; }
  #primary-menu > ul > li.theme-has-submenu > ul > li > a { min-height: 46px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-story-image-layer { animation: none !important; transform: scale(1.04) !important; }
}

/* v5.9 — mobile rhythm, unobstructed slider and softer story imagery */
.theme-story-image-layer {
  inset: -2% !important;
  transform: scale(1.018) translate3d(-.35%, 0, 0) !important;
  animation-name: theme-story-soft-pan !important;
  animation-duration: 26s !important;
  animation-timing-function: cubic-bezier(.42, 0, .58, 1) !important;
  filter: saturate(1) contrast(1);
  transition: filter .9s ease !important;
}
.theme-story-image-reverse {
  animation-name: theme-story-soft-pan-reverse !important;
  animation-duration: 30s !important;
}
.theme-story-media:hover .theme-story-image-layer {
  animation-duration: 26s !important;
  filter: saturate(1.025) contrast(1.01);
}
.theme-story-media:hover .theme-story-image-reverse { animation-duration: 30s !important; }
.theme-story-media::after { opacity: .34; transition: opacity .8s ease; }
.theme-story-media:hover::after { opacity: .43; }
@keyframes theme-story-soft-pan {
  0% { transform: scale(1.018) translate3d(-.35%, .05%, 0); }
  100% { transform: scale(1.03) translate3d(.55%, -.25%, 0); }
}
@keyframes theme-story-soft-pan-reverse {
  0% { transform: scale(1.022) translate3d(.4%, -.15%, 0); }
  100% { transform: scale(1.032) translate3d(-.5%, .25%, 0); }
}

@media (max-width: 600px) {
  /* Swipe is the primary control; edge arrows must never cover banner copy. */
  .is-home #slider-arrow-left,
  .is-home #slider-arrow-right { display: none !important; }

  /* Leaves a deliberate breathing space below the assurance rail. */
  .is-home #slider.slider-parallax { margin-bottom: 172px !important; }
  .theme-feature-grid { margin-top: 0 !important; }

  /* Full-page captures and slow devices must never hide the remaining homepage. */
  .theme-reveal,
  .theme-motion-ready .theme-reveal,
  .theme-motion-ready .theme-reveal.theme-reveal-visible {
    opacity: 1 !important;
    transform: none !important;
  }
  .theme-category-section #portfolio,
  .theme-category-section .portfolio-item,
  .theme-story,
  .theme-sustainability { visibility: visible !important; opacity: 1 !important; }
  .theme-category-section img { content-visibility: visible; }

  /* Show the story visuals as compact editorial panels on phones. */
  .theme-story > .parallax_sec1,
  .theme-story > .parallax_sec2 {
    display: block !important;
    min-height: 205px !important;
  }
  .theme-story-image-layer,
  .theme-story-media:hover .theme-story-image-layer { animation-duration: 32s !important; }
  .theme-story-image-reverse,
  .theme-story-media:hover .theme-story-image-reverse { animation-duration: 35s !important; }

  /* The sales card keeps contrast in every inherited hover/focus state. */
  #primary-menu > ul > li.theme-mobile-actions > a:first-child,
  #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child,
  #primary-menu > ul > li.theme-mobile-actions > a:first-child:hover,
  #primary-menu > ul > li.theme-mobile-actions > a:first-child:focus,
  body:not(.dark) #header #header-wrap #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child {
    border-color: rgba(20,57,61,.14) !important;
    background: #fff !important;
    color: var(--melodi-ink) !important;
    text-shadow: none !important;
  }
  #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child > i,
  #primary-menu > ul > li.theme-mobile-actions > a:first-child:hover > i { color: var(--melodi-orange) !important; }
  #primary-menu > ul > li.theme-mobile-actions > a:first-child > span,
  #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child > span,
  #primary-menu > ul > li.theme-mobile-actions > a:first-child:hover > span { color: #687b7e !important; }
  #primary-menu > ul > li.theme-mobile-actions > a:first-child > span strong,
  #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child > span strong,
  #primary-menu > ul > li.theme-mobile-actions > a:first-child:hover > span strong { color: var(--melodi-ink) !important; }
  #primary-menu > ul > li.theme-mobile-actions:hover > a:last-child,
  #primary-menu > ul > li.theme-mobile-actions > a:last-child:hover,
  #primary-menu > ul > li.theme-mobile-actions > a:last-child:focus {
    border-color: #d9572d !important;
    background: linear-gradient(135deg, #e96638, #d95128) !important;
    color: #fff !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .theme-story-image-layer,
  .theme-story-media:hover .theme-story-image-layer {
    animation: none !important;
    transform: scale(1.018) !important;
    filter: none !important;
  }
}

/* v6.0 — independent mobile contact cards and a calm illuminated story surface */
.theme-story-media {
  box-shadow:
    inset 0 0 54px rgba(255, 247, 230, .10),
    inset 0 -36px 72px rgba(11, 43, 49, .055);
}
.theme-story-image-layer,
.theme-story-media:hover .theme-story-image-layer,
.theme-story-image-reverse,
.theme-story-media:hover .theme-story-image-reverse {
  inset: -2% !important;
  animation: none !important;
  transform: scale(1.022) !important;
  filter: saturate(1.025) contrast(1.015) brightness(1.005) !important;
  transition: filter 1.1s ease !important;
}
.theme-story-media:hover .theme-story-image-layer {
  filter: saturate(1.045) contrast(1.02) brightness(1.018) !important;
}
.theme-story-media::before {
  content: "";
  position: absolute;
  inset: -32% -72%;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    108deg,
    transparent 41%,
    rgba(255, 224, 181, .035) 45%,
    rgba(255, 244, 218, .20) 48%,
    rgba(255, 255, 255, .43) 50%,
    rgba(255, 226, 188, .18) 52%,
    rgba(255, 242, 216, .035) 55%,
    transparent 59%
  );
  mix-blend-mode: screen;
  opacity: 0;
  transform: translate3d(-34%, 0, 0) skewX(-5deg);
  will-change: transform, opacity;
  animation: theme-story-light-pass 8.8s cubic-bezier(.4, 0, .2, 1) infinite;
}
.theme-story-secondary .theme-story-media::before { animation-delay: -4.4s; }
.theme-story-media:hover::before { animation-play-state: running; }
@keyframes theme-story-light-pass {
  0%, 16% { opacity: 0; transform: translate3d(-34%, 0, 0) skewX(-5deg); }
  28% { opacity: .32; }
  48%, 56% { opacity: .72; }
  74% { opacity: .24; }
  86%, 100% { opacity: 0; transform: translate3d(34%, 0, 0) skewX(-5deg); }
}

@media (max-width: 991px) {
  #primary-menu .theme-mobile-actions,
  #primary-menu > ul > li.theme-mobile-actions {
    display: block !important;
    height: auto !important;
    margin-top: 20px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
  #primary-menu .theme-mobile-action-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 10px;
    width: 100%;
  }
  #primary-menu .theme-mobile-action-grid > a {
    display: flex !important;
    align-items: center !important;
    gap: 11px;
    min-width: 0;
    min-height: 82px !important;
    padding: 14px !important;
    border: 1px solid rgba(20, 57, 61, .13) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 25px rgba(25, 57, 58, .06) !important;
    text-decoration: none !important;
    text-shadow: none !important;
    transform: translateY(0);
    transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease !important;
  }
  #primary-menu .theme-mobile-action-grid > a > i {
    flex: 0 0 auto;
    color: var(--melodi-orange) !important;
    font-size: 21px !important;
  }
  #primary-menu .theme-mobile-action-grid > a > span {
    display: flex !important;
    min-width: 0;
    flex-direction: column;
    color: #687b7e !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    letter-spacing: .04em !important;
  }
  #primary-menu .theme-mobile-action-grid > a > span strong {
    margin-top: 5px;
    color: var(--melodi-ink) !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
  }
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-call {
    background: #fff !important;
    color: var(--melodi-ink) !important;
  }
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-call:hover,
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-call:focus-visible {
    border-color: rgba(243, 111, 61, .42) !important;
    background: #fff7f2 !important;
    color: var(--melodi-ink) !important;
    box-shadow: 0 12px 28px rgba(165, 74, 40, .11) !important;
    transform: translateY(-1px);
  }
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-whatsapp,
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-whatsapp:hover,
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-whatsapp:focus-visible {
    border-color: #df5c31 !important;
    background: linear-gradient(135deg, #f47748, #e95d31) !important;
    color: #fff !important;
  }
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-whatsapp:hover,
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-whatsapp:focus-visible {
    background: linear-gradient(135deg, #ea693b, #d95029) !important;
    box-shadow: 0 12px 28px rgba(201, 76, 39, .19) !important;
    transform: translateY(-1px);
  }
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-whatsapp > i,
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-whatsapp > span,
  #primary-menu .theme-mobile-action-grid > a.theme-mobile-action-whatsapp > span strong {
    color: #fff !important;
  }

  /* Compatibility for a browser still holding the previous JavaScript markup. */
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions > a:first-child,
  #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child {
    border-color: rgba(20, 57, 61, .13) !important;
    background: #fff !important;
    color: var(--melodi-ink) !important;
  }
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions > a:first-child:hover,
  #primary-menu > ul > li.theme-mobile-actions > a:first-child:hover {
    border-color: rgba(243, 111, 61, .42) !important;
    background: #fff7f2 !important;
    color: var(--melodi-ink) !important;
  }
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child > span,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions > a:first-child > span,
  #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child > span { color: #687b7e !important; }
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child > span strong,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions > a:first-child > span strong,
  #primary-menu > ul > li.theme-mobile-actions:hover > a:first-child > span strong { color: var(--melodi-ink) !important; }
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions:hover > a:last-child,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions > a:last-child,
  #primary-menu > ul > li.theme-mobile-actions:hover > a:last-child {
    border-color: #df5c31 !important;
    background: linear-gradient(135deg, #f47748, #e95d31) !important;
    color: #fff !important;
  }
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions:hover > a:last-child > i,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions:hover > a:last-child > span,
  body:not(.dark) #header:not(.dark) #header-wrap:not(.dark) #primary-menu > ul > li.theme-mobile-actions:hover > a:last-child > span strong,
  #primary-menu > ul > li.theme-mobile-actions:hover > a:last-child > i,
  #primary-menu > ul > li.theme-mobile-actions:hover > a:last-child > span,
  #primary-menu > ul > li.theme-mobile-actions:hover > a:last-child > span strong { color: #fff !important; }
}

@media (max-width: 420px) {
  #primary-menu .theme-mobile-action-grid { gap: 8px; }
  #primary-menu .theme-mobile-action-grid > a { gap: 8px; min-height: 78px !important; padding: 12px 10px !important; }
  #primary-menu .theme-mobile-action-grid > a > span strong { font-size: 13px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-story-media::before { animation: none !important; opacity: .12; transform: none !important; }
  .theme-story-image-layer,
  .theme-story-media:hover .theme-story-image-layer { transform: scale(1.022) !important; }
}

/* v6.1 — polished empty product copy and breathable breadcrumb links */
#page-menu nav ul { gap: 3px; }
#page-menu nav li a,
#page-menu nav li:last-child a {
  gap: 7px;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid transparent !important;
  border-radius: 8px;
  background: transparent !important;
  color: #55696c !important;
  line-height: 1 !important;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease !important;
}
#page-menu nav li a > i {
  flex: 0 0 auto;
  margin: 0 !important;
  color: var(--melodi-orange) !important;
  font-size: 10px;
  line-height: 1 !important;
}
#page-menu nav li a:hover,
#page-menu nav li a:focus-visible,
#page-menu nav li.current a {
  border-color: rgba(185, 77, 40, .12) !important;
  background: rgba(243, 111, 61, .085) !important;
  color: #9e4224 !important;
  box-shadow: none !important;
}
#page-menu nav li:last-child a { color: #a94424 !important; }

.product-description-contact-fallback {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #fffefb 0%, #f6f3eb 62%, #edf3ee 100%) !important;
}
.product-description-contact-fallback::after {
  content: "";
  position: absolute;
  right: -48px;
  bottom: -70px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(243, 111, 61, .10);
  border-radius: 50%;
  box-shadow: 0 0 0 30px rgba(243, 111, 61, .025), 0 0 0 64px rgba(11, 43, 49, .018);
  pointer-events: none;
}
.product-description-contact-fallback > * { position: relative; z-index: 1; }
.product-description-contact-fallback > p {
  max-width: 720px;
  margin: 0 0 24px !important;
  color: #53686c !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}
.product-description-contact-link {
  display: flex;
  align-items: center;
  gap: 13px;
  width: min(100%, 360px);
  min-height: 66px;
  padding: 12px 15px;
  border: 1px solid rgba(20, 57, 61, .12);
  border-radius: 14px;
  background: rgba(255,255,255,.88);
  color: var(--melodi-ink) !important;
  box-shadow: 0 10px 24px rgba(25, 57, 58, .065);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
.product-description-contact-link > i {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: var(--melodi-soft-peach);
  color: var(--melodi-orange) !important;
  font-size: 17px;
}
.product-description-contact-link > em {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-direction: column;
  font-style: normal;
}
.product-description-contact-link small { color: #6f8083; font-size: 9px; letter-spacing: .04em; }
.product-description-contact-link strong { margin-top: 3px; color: var(--melodi-ink); font-size: 15px; letter-spacing: .01em; }
.product-description-contact-link > b { color: var(--melodi-orange); font-size: 17px; }
.product-description-contact-link:hover,
.product-description-contact-link:focus-visible {
  border-color: rgba(243, 111, 61, .42);
  color: var(--melodi-ink) !important;
  box-shadow: 0 14px 30px rgba(165, 74, 40, .12);
  transform: translateY(-1px);
}
.product-description-content > :last-child { margin-bottom: 0 !important; }

@media (max-width: 600px) {
  .product-description-contact-fallback { padding: 28px 24px !important; }
  .product-description-contact-fallback h3 { font-size: 23px !important; }
  .product-description-contact-link { width: 100%; }
}

/* v6.2 — semantic homepage heading and premium map loading experience */
.site_sec1 .theme-home-primary-heading {
  max-width: 920px;
  margin: 0 0 22px !important;
  color: var(--melodi-ink) !important;
  font-family: inherit !important;
  font-size: clamp(38px, 3vw, 58px) !important;
  font-weight: 700 !important;
  letter-spacing: -.045em !important;
  line-height: 1.06 !important;
}

.theme-contact-map-shell {
  position: relative !important;
  min-height: 420px;
  background: #e8eee9 !important;
}
.theme-contact-map-shell iframe {
  position: relative !important;
  z-index: 1;
  opacity: 0;
  filter: saturate(.9) contrast(.96);
  transition: opacity .6s ease, filter .8s ease !important;
}
.theme-contact-map-shell.theme-map-ready iframe {
  opacity: 1;
  filter: saturate(1) contrast(1);
}
.theme-map-loader {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(360px, 1.15fr);
  min-height: 100%;
  background: linear-gradient(135deg, #e6eee8 0%, #f5f2e9 58%, #f6dfd3 100%);
  opacity: 1;
  visibility: visible;
  transition: opacity .42s ease, visibility .42s ease, transform .42s ease;
}
.theme-map-ready .theme-map-loader {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(1.012);
}
.theme-map-loader-visual {
  position: relative;
  min-height: 280px;
  overflow: hidden;
  border-right: 1px solid rgba(11, 43, 49, .08);
  background:
    linear-gradient(32deg, transparent 47%, rgba(255,255,255,.8) 48%, rgba(255,255,255,.8) 51%, transparent 52%),
    linear-gradient(144deg, transparent 42%, rgba(243,111,61,.14) 43%, rgba(243,111,61,.14) 46%, transparent 47%),
    radial-gradient(circle at 26% 26%, rgba(255,255,255,.72) 0 10%, transparent 10.5%),
    linear-gradient(145deg, #d7e5da, #edf0e7);
}
.theme-map-loader-visual::before,
.theme-map-loader-visual::after {
  content: "";
  position: absolute;
  inset: -20%;
  pointer-events: none;
}
.theme-map-loader-visual::before {
  background: repeating-linear-gradient(90deg, transparent 0 42px, rgba(11,43,49,.035) 43px 44px), repeating-linear-gradient(0deg, transparent 0 42px, rgba(11,43,49,.035) 43px 44px);
  transform: rotate(-7deg);
}
.theme-map-loader-visual::after {
  background: linear-gradient(108deg, transparent 38%, rgba(255,255,255,.13) 44%, rgba(255,255,255,.78) 50%, rgba(255,255,255,.13) 56%, transparent 62%);
  transform: translate3d(-55%, 0, 0);
  animation: theme-map-sheen 3.6s ease-in-out infinite;
}
.theme-map-loader-visual > i {
  position: absolute;
  z-index: 1;
  display: block;
  height: 4px;
  border-radius: 99px;
  background: rgba(243, 111, 61, .46);
  box-shadow: 0 0 0 5px rgba(243, 111, 61, .055);
}
.theme-map-loader-visual > i:nth-of-type(1) { top: 59%; left: 11%; width: 32%; transform: rotate(-12deg); }
.theme-map-loader-visual > i:nth-of-type(2) { top: 52%; left: 39%; width: 24%; transform: rotate(21deg); }
.theme-map-loader-visual > i:nth-of-type(3) { top: 59%; left: 59%; width: 27%; transform: rotate(-18deg); }
.theme-map-loader-visual > i:nth-of-type(4) { top: 42%; left: 67%; width: 16%; transform: rotate(73deg); }
.theme-map-pin {
  position: absolute;
  top: 27%;
  left: 48%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border: 9px solid rgba(255,255,255,.72);
  border-radius: 20px 20px 20px 4px;
  background: linear-gradient(145deg, #f77a49, #df562c);
  color: #fff;
  box-shadow: 0 18px 35px rgba(151, 68, 36, .22);
  transform: rotate(-45deg);
  animation: theme-map-pin 2.5s ease-in-out infinite;
}
.theme-map-pin > i { font-size: 20px; transform: rotate(45deg); }
.theme-map-loader-copy {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 48px 54px;
}
.theme-map-loader-copy .contact-eyebrow { margin-bottom: 16px; }
.theme-map-loader-copy > strong {
  max-width: 470px;
  color: var(--melodi-ink);
  font-size: clamp(23px, 2.1vw, 33px);
  letter-spacing: -.035em;
  line-height: 1.12;
}
.theme-map-loader-copy > small {
  max-width: 480px;
  margin-top: 14px;
  color: #607377;
  font-size: 12px;
  line-height: 1.7;
}
.theme-map-loader-copy > a {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 15px;
  min-height: 48px;
  margin-top: 25px;
  padding: 12px 16px;
  border: 1px solid rgba(11,43,49,.11);
  border-radius: 12px;
  background: rgba(255,255,255,.78);
  color: var(--melodi-ink) !important;
  box-shadow: 0 10px 24px rgba(25,57,58,.065);
  font-size: 11px;
  font-weight: 750;
}
.theme-map-loader-copy > a:hover,
.theme-map-loader-copy > a:focus-visible { border-color: rgba(243,111,61,.42); background: #fff; color: var(--melodi-orange-dark) !important; }
.theme-map-delayed .theme-map-loader-copy > small { color: #9d4828; }

@keyframes theme-map-sheen {
  0%, 18% { opacity: 0; transform: translate3d(-55%, 0, 0); }
  42%, 58% { opacity: .82; }
  82%, 100% { opacity: 0; transform: translate3d(55%, 0, 0); }
}
@keyframes theme-map-pin {
  0%, 100% { box-shadow: 0 18px 35px rgba(151,68,36,.22), 0 0 0 0 rgba(243,111,61,.16); transform: translateY(0) rotate(-45deg); }
  50% { box-shadow: 0 22px 38px rgba(151,68,36,.25), 0 0 0 12px rgba(243,111,61,0); transform: translateY(-5px) rotate(-45deg); }
}

@media (max-width: 1199px) and (min-width: 992px) {
  .site_sec1 .theme-home-primary-heading { font-size: 40px !important; }
}
@media (max-width: 991px) {
  .site_sec1 .theme-home-primary-heading { font-size: 29px !important; }
  .theme-map-loader { grid-template-columns: .8fr 1.2fr; }
  .theme-map-loader-copy { padding: 34px; }
}
@media (max-width: 600px) {
  .site_sec1 .theme-home-primary-heading { margin-bottom: 17px !important; font-size: 27px !important; }
  .theme-contact-map-shell { min-height: 390px; }
  .theme-contact-map-shell iframe { height: 390px !important; min-height: 390px !important; }
  .theme-map-loader { grid-template-columns: 1fr; }
  .theme-map-loader-visual { min-height: 150px; border-right: 0; border-bottom: 1px solid rgba(11,43,49,.08); }
  .theme-map-pin { top: 22%; width: 52px; height: 52px; border-width: 7px; border-radius: 17px 17px 17px 4px; }
  .theme-map-loader-copy { padding: 25px 23px 28px; }
  .theme-map-loader-copy > strong { font-size: 22px; }
  .theme-map-loader-copy > small { margin-top: 10px; font-size: 11px; }
  .theme-map-loader-copy > a { margin-top: 17px; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-map-loader-visual::after,
  .theme-map-pin { animation: none !important; }
}
