/* ============================================================
   Box Printing Hub — Stylesheet (palette-locked)
   ============================================================ */
:root {
  --brand: #1a4e77;
  --brand-dark: #123a59;
  --ink: #0e2b42;
  --kraft: #c79a62;
  --kraft-dark: #1f1608;
  --paper: #CEDFF0;
  --white: #fff;
  --line: #d6e0e8;
  --text: #17222c;
  --muted: #4f6272;
  --danger: #b3261e;
  --ok: #1b6b3a;

  --radius: 6px;
  --radius-lg: 14px;
  --wrap: 1180px;
  --gutter: clamp(1rem, 4vw, 2rem);

  --font-display: 'Familjen Grotesk', system-ui, sans-serif;
  --font-body: 'Public Sans', system-ui, -apple-system, sans-serif;

  --shadow-sm: 0 1px 2px rgba(14, 43, 66, .05), 0 1px 3px rgba(14, 43, 66, .04);
  --shadow: 0 6px 20px rgba(14, 43, 66, .08), 0 2px 5px rgba(14, 43, 66, .04);
  --shadow-lg: 0 20px 50px rgba(14, 43, 66, .12);
  --ease: cubic-bezier(.4, .1, .2, 1);
}

/* ---------- Reset ---------- */
*,
*::before,
*::after {
  box-sizing: border-box
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%
}

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--text);
  background: var(--white);
  -webkit-font-smoothing: antialiased
}

img,
svg {
  max-width: 100%;
  height: auto;
  display: block
}

a {
  color: var(--brand);
  text-decoration: none;
  transition: color .18s var(--ease)
}

a:hover {
  color: var(--brand-dark)
}

h1,
h2,
h3,
h4,
h5 {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 12px;
  line-height: 1.2;
  letter-spacing: -.01em
}

h1 {
  font-size: clamp(32px, 4.2vw, 56px)
}

h2 {
  font-size: clamp(24px, 2.6vw, 36px)
}

h3 {
  font-size: 20px
}

p {
  margin: 0 0 14px
}

.wrap {
  width: 100%;
  max-width: var(--wrap);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter)
}

.wrap.narrow {
  max-width: 880px
}

.sr,
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0
}

.skip {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--ink);
  color: #fff;
  padding: 10px 16px;
  z-index: 9999;
  border-radius: 0 0 var(--radius) 0
}

.skip:focus {
  left: 0
}

:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px
}

::selection {
  background: rgba(26, 78, 119, .15);
  color: var(--ink)
}

/* ============================================================
   TOPBAR (full width)
   ============================================================ */
.site-topbar {
  padding-top: 5px;
  background: var(--ink);
  color: #c7d4e5;
  font-size: 13px
}

.site-topbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 40px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.site-topbar__item a {
  color: #c7d4e5
}

.site-topbar__item a:hover {
  color: var(--white)
}

.site-topbar__ticker {
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
  position: relative
}

.site-topbar__ticker-track {
  display: inline-flex;
  gap: 60px;
  animation: topbar-scroll 40s linear infinite
}

.site-topbar__ticker-track span {
  white-space: nowrap
}

.site-topbar__ticker:hover .site-topbar__ticker-track {
  animation-play-state: paused
}

@keyframes topbar-scroll {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-50%)
  }
}

/* ============================================================
   HEADER (full width)
   ============================================================ */
.site-header {
  background: var(--white);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 500
}

.site-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 74px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--brand)
}

.brand img {
  height: 45px;
  width: auto
}

.brand__text {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--brand);
  letter-spacing: -.01em
}

.brand__text--light {
  color: var(--white)
}

/* Nav */
.nav {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center
}

.nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 2px
}

.nav__item {
  position: relative
}

.nav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 14px 12px;
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: -.005em;
  color: var(--ink);
  border-radius: var(--radius);
  transition: color .18s var(--ease), background .18s var(--ease);
}

.nav__link:hover,
.nav__item:hover>.nav__link {
  color: var(--brand);
  background: rgba(26, 78, 119, .05)
}

.nav__caret {
  width: 11px;
  height: 8px;
  opacity: .55
}

/* Mega menus */
.mega {
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translate(-50%, 8px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  padding: 22px;
  transition: opacity .18s var(--ease), transform .18s var(--ease), visibility .18s;
  z-index: 400;
}

.nav__item:hover>.mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0)
}

.mega--industries {
  width: min(940px, 88vw)
}

.mega__grid--industries {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px
}

.mega-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--white);
  transition: transform .18s var(--ease), box-shadow .18s var(--ease)
}

.mega-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  color: var(--ink)
}

.mega-card__media {
  position: relative;
  aspect-ratio: 16/11;
  background: linear-gradient(160deg, var(--paper), #e5ecf5);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.mega-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover
}

.mega-card__media--fallback img {
  display: none
}

.mega-card__placeholder {
  display: none;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 40px;
  color: var(--brand);
  opacity: .35
}

.mega-card__media--fallback .mega-card__placeholder {
  display: block
}

.mega-card__label {
  padding: 12px 14px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
  font-family: var(--font-body)
}

.mega--small {
  width: 280px;
  padding: 14px
}

.mega__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column
}

.mega__list a {
  display: block;
  padding: 9px 12px;
  border-radius: var(--radius);
  font-size: 14px;
  color: var(--ink);
  font-family: var(--font-body)
}

.mega__list a:hover {
  background: rgba(26, 78, 119, .06);
  color: var(--brand)
}

.mega--boxes {
  width: min(680px, 86vw);
  padding: 22px
}

.mega__grid--boxes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px 16px
}

.mega-link {
  display: block;
  padding: 9px 12px;
  border-radius: var(--radius);
  font-size: 14px;
  color: var(--ink);
  font-family: var(--font-body)
}

.mega-link:hover {
  background: rgba(26, 78, 119, .06);
  color: var(--brand)
}

/* Nav actions */
.nav__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: 18px
}

.nav__search {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--white);
  color: var(--brand);
  cursor: pointer;
  transition: .18s var(--ease);
}

.nav__search:hover {
  background: rgba(26, 78, 119, .06);
  border-color: var(--brand)
}

.nav__search svg {
  width: 18px;
  height: 18px
}

/* Mobile toggle */
.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: var(--white);
  align-items: center;
  justify-content: center;
  cursor: pointer
}

.nav-toggle__bars,
.nav-toggle__bars::before,
.nav-toggle__bars::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: var(--ink);
  border-radius: 2px;
  position: relative
}

.nav-toggle__bars::before {
  position: absolute;
  top: -6px
}

.nav-toggle__bars::after {
  position: absolute;
  top: 6px
}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 24px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14.5px;
  cursor: pointer;
  line-height: 1;
  transition: transform .18s var(--ease), background .18s var(--ease), box-shadow .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);
}

.btn--sm {
  padding: 10px 16px;
  font-size: 13.5px
}

.btn--primary {
  background: var(--brand);
  color: var(--white);
  box-shadow: 0 6px 16px rgba(26, 78, 119, .22)
}

.btn--primary:hover {
  background: var(--brand-dark);
  color: var(--white);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(26, 78, 119, .28)
}

.btn--ghost {
  background: transparent;
  color: var(--brand);
  border-color: var(--line)
}

.btn--ghost:hover {
  background: rgba(26, 78, 119, .05);
  border-color: var(--brand);
  color: var(--brand-dark)
}

.btn--outline-dark {
  background: var(--white);
  color: var(--brand);
  border-color: var(--brand)
}

.btn--outline-dark:hover {
  background: var(--brand);
  color: var(--white)
}

.btn--light {
  background: var(--white);
  color: var(--brand)
}

.btn--light:hover {
  background: var(--paper);
  color: var(--brand-dark)
}

.btn--kraft {
  background: var(--kraft);
  color: var(--kraft-dark)
}

.btn--kraft:hover {
  filter: brightness(.94);
  color: var(--kraft-dark)
}

.link {
  color: var(--brand);
  font-weight: 600;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px
}

.link::after {
  content: "→";
  transition: transform .18s var(--ease)
}

.link:hover::after {
  transform: translateX(3px)
}

.link:hover {
  color: var(--brand-dark)
}

.eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--brand);
  margin-bottom: 10px
}

.eyebrow--light {
  color: #a9bdd4
}

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative;
  padding: 72px 0 88px;
  background: #CEDFF0;
  /* your color */
  background-image:
    radial-gradient(900px 420px at 88% -10%, rgba(26, 78, 119, .14), transparent 65%),
    radial-gradient(700px 380px at -10% 110%, rgba(199, 154, 98, .10), transparent 70%),
    linear-gradient(rgba(14, 43, 66, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14, 43, 66, .06) 1px, transparent 1px);
  background-size: auto, auto, 32px 32px, 32px 32px;
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}

.hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 1
}

.hero__copy h1 {
  margin: 0 0 18px;
  
}

.hero__copy .lead {
  font-size: 17px;
  color: var(--text);
  max-width: 540px
}

.hero__cta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin: 26px 0 24px
}

.facts {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px
}

.facts li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14.5px;
  color: var(--text)
}

.facts li::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border-radius: 50%;
  background: var(--ok);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M6.2 11.2 3.4 8.4l1-1 1.8 1.8 5-5 1 1z'/></svg>");
  background-size: 12px 12px;
  background-repeat: no-repeat;
  background-position: center;
}

/* ============================================================
   MEGA MENU — thumbnails + smart positioning
   ============================================================ */

.site-header{overflow:visible}
.nav{overflow:visible}
.nav__list{overflow:visible}

/* Default mega: centered under parent */
.mega{left:50%;transform:translate(-50%,8px)}
.nav__item:hover > .mega{transform:translate(-50%,0)}

/* JS alignment overrides */
.mega.mega--align-left{
  left:0 !important;
  transform:translate(0,8px) !important;
}
.nav__item:hover > .mega.mega--align-left{
  transform:translate(0,0) !important;
}
.mega.mega--align-right{
  left:auto !important;right:0 !important;
  transform:translate(0,8px) !important;
}
.nav__item:hover > .mega.mega--align-right{
  transform:translate(0,0) !important;
}

/* Grid mega link with thumbnail */
.mega-link--img{
  display:grid !important;
  grid-template-columns:36px 1fr;
  align-items:center;
  gap:12px;
  padding:8px 10px;
  border-radius:var(--radius);
  transition:background .18s var(--ease), color .18s var(--ease);
}
.mega-link--img:hover{
  background:rgba(26,78,119,.05);
  color:var(--brand);
}
.mega-link__thumb{
  width:36px;height:36px;
  border-radius:8px;
  background:var(--paper);
  border:1px solid var(--line);
  display:inline-flex;align-items:center;justify-content:center;
  overflow:hidden;flex-shrink:0;
}
.mega-link__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mega-link__thumb svg{width:22px;height:22px;color:var(--brand)}
.mega-link__label{font-size:13.5px;line-height:1.3}

/* List mega link with thumbnail */
.mega__list-link{
  display:grid !important;
  grid-template-columns:32px 1fr;
  align-items:center;
  gap:12px;
  padding:8px 12px !important;
  border-radius:var(--radius);
  transition:background .18s var(--ease), color .18s var(--ease);
}
.mega__list-link:hover{background:rgba(26,78,119,.05);color:var(--brand)}
.mega__list-thumb{
  width:32px;height:32px;
  border-radius:8px;
  background:var(--paper);
  border:1px solid var(--line);
  display:inline-flex;align-items:center;justify-content:center;
  overflow:hidden;flex-shrink:0;
}
.mega__list-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.mega__list-thumb svg{width:18px;height:18px;color:var(--brand)}
.mega__list-thumb--icon{background:rgba(26,78,119,.07);border-color:transparent}
.mega__list-thumb--icon svg{width:18px;height:18px}
.mega__list-label{font-size:14px;line-height:1.3}

.mega--small{width:320px;padding:12px}
.mega--boxes{width:min(720px,90vw);padding:22px}
.mega__grid--boxes{grid-template-columns:repeat(3,1fr);gap:6px 14px}

@media (max-width:1100px){
  .mega__grid--boxes{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .mega.mega--align-left,
  .mega.mega--align-right{
    left:auto !important;right:auto !important;
    transform:none !important;
  }
}

/* Topbar icon color (since we removed inline styles) */
.site-topbar__item i{color:#c7d4e5;font-size:13px;margin-right:6px}
.site-topbar__item a{display:inline-flex;align-items:center;gap:4px}
/* ========================================
   BOX PRINTING HUB - INTERACTIVE 3D BOX
======================================== */

/* =========================================================
   BOX PRINTING HUB — PREMIUM HERO + INTERACTIVE 3D BOX
   Brand color: #1A4E77
========================================================= */

.hero {
  --hero-brand: #1a4e77;
  --hero-brand-dark: #123754;
  --hero-text: #173d5e;
  --hero-muted: #60768b;
  --hero-border: rgba(26, 78, 119, 0.14);

  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(64px, 8vw, 108px) 0;
  background:
    radial-gradient(
      ellipse at 78% 35%,
      rgba(9, 44, 75, 0.699) 0%,
      transparent 38%
    ),
    radial-gradient(
      ellipse at 12% 8%,
      #ffffff 0%,
      rgba(255, 255, 255, 0.7) 35%,
      transparent 68%
    ),
    linear-gradient(
      135deg,
      #f9fbfe 0%,
      #eef5fb 54%,
      #e2edf7 100%
    );
}

/* Subtle technical grid across the hero */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;

  background-image:
    linear-gradient(
      rgba(26, 78, 119, 0.025) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(26, 78, 119, 0.025) 1px,
      transparent 1px
    );

  background-size: 38px 38px;

  -webkit-mask-image: linear-gradient(
    to right,
    transparent,
    black 20%,
    black 85%,
    transparent
  );

  mask-image: linear-gradient(
    to right,
    transparent,
    black 20%,
    black 85%,
    transparent
  );
}

/* Ambient light behind the preview */
.hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 5%;
  right: -150px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: rgba(107, 168, 219, 0.18);
  filter: blur(90px);
  pointer-events: none;
}

/* Main two-column layout */
.hero .hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 5vw, 76px);
}

.hero__copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  max-width: 650px;
}

/* Hero heading */
.hero__copy h1 {
  margin: 0 0 22px;
  color: var(--hero-text);
  font-size: clamp(36px, 4.25vw, 64px);
  font-weight: 750;
  font-size: 38px;
  =
  line-height: 1.09;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

/* Introductory paragraph */
.hero__copy .lead {
  max-width: 550px;
  margin: 0;
  color: var(--hero-muted);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.8;
}

/* CTA row */
.hero__cta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.hero__cta .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 13px 25px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.4;
  text-decoration: none;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.hero__cta .btn:hover {
  transform: translateY(-2px);
}

.hero__cta .btn--primary {
  color: #fff;
  background: var(--hero-brand);
  border-color: var(--hero-brand);
  box-shadow: 0 8px 22px rgba(26, 78, 119, 0.16);
}

.hero__cta .btn--primary:hover {
  color: #fff;
  background: var(--hero-brand-dark);
  border-color: var(--hero-brand-dark);
  box-shadow: 0 12px 28px rgba(26, 78, 119, 0.22);
}

.hero__cta .btn--ghost {
  color: var(--hero-brand);
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(26, 78, 119, 0.28);
}

.hero__cta .btn--ghost:hover {
  color: var(--hero-brand-dark);
  background: #fff;
  border-color: var(--hero-brand);
}

/* Facts / feature list */
.hero__copy .facts {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.hero__copy .facts li {
  position: relative;
  padding-left: 21px;
  color: #456078;
  font-size: 13px;
  line-height: 1.65;
}

.hero__copy .facts li::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 9px;
  height: 9px;
  border: 2px solid #4d86b3;
  border-radius: 50%;
  background: #d8eafb;
  box-shadow: inset 0 0 0 2px #d8eafb;
}

/* =========================================================
   3D BOX PREVIEW
========================================================= */

.hero__stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-width: 0;
}

/* Main preview card */
.dieline {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  

  perspective: 1100px;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y;

  border: 1px solid rgba(255, 255, 255, 0.95);
  border-radius: 22px;

  background:
    radial-gradient(
      ellipse at 48% 38%,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(255, 255, 255, 0.68) 34%,
      transparent 73%
    ),
    linear-gradient(
      145deg,
      #eaf4fd 0%,
      #dceafa 48%,
      #c9dfef 100%
    );

  box-shadow:
    0 26px 65px rgba(24, 65, 99, 0.12),
    0 6px 18px rgba(24, 65, 99, 0.06),
    inset 0 0 0 1px rgba(26, 78, 119, 0.07);
}

.dieline:active {
  cursor: grabbing;
}

/* Fine drafting grid inside the card */
.dieline::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;

  background-image:
    linear-gradient(
      rgba(26, 78, 119, 0.045) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(26, 78, 119, 0.045) 1px,
      transparent 1px
    );

  background-size: 30px 30px;

  -webkit-mask-image: radial-gradient(
    ellipse at center,
    black 0%,
    transparent 85%
  );

  mask-image: radial-gradient(
    ellipse at center,
    black 0%,
    transparent 85%
  );
}

/* Soft spotlight */
.dieline::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -100px;
  right: -80px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.78);
  filter: blur(55px);
  pointer-events: none;
}

/* 3D scene — dimensions preserved for your JS */
.dieline__scene {
  position: relative;
  z-index: 1;
  width: 110px;
  height: 110px;
  flex: 0 0 110px;
  transform-style: preserve-3d;
}

.spin {
  position: absolute;
  inset: 0;
  width: 110px;
  height: 110px;
  transform-style: preserve-3d;
  transform: rotateX(-18deg) rotateY(0deg);
  transition: transform 0.45s ease;
  will-change: transform;
}

.box {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
}

/* Box panels */
.face {
  position: absolute;
  top: 0;
  left: 0;
  width: 110px;
  height: 110px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #b59a78;
  background: linear-gradient(145deg, #f0d9b5, #d6b17c);

  opacity: 1;
  backface-visibility: visible;
  transform-style: preserve-3d;

  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.5s ease,
    border-color 0.5s ease;
}

/* Folded 3D cube */
.face.front {
  transform: translateZ(55px);
  background: linear-gradient(145deg, #28648f, #1a4e77);
  border-color: #123a59;
}

.face.back {
  transform: rotateY(180deg) translateZ(55px);
  background: linear-gradient(145deg, #e4c89f, #cfaa78);
}

.face.left {
  transform: rotateY(-90deg) translateZ(55px);
  background: linear-gradient(145deg, #d8b88b, #c6a071);
}

.face.right {
  transform: rotateY(90deg) translateZ(55px);
  background: linear-gradient(145deg, #ead1a8, #d2b080);
}

.face.top {
  transform: rotateX(90deg) translateZ(55px);
  background: linear-gradient(145deg, #f7e7ce, #e7cfaa);
}

.face.bottom {
  transform: rotateX(-90deg) translateZ(55px);
  background: #c5a071;
}

/* Flat packaging dieline */
.dieline[data-state="flat"] .face.front {
  transform: translateZ(0);
  background: linear-gradient(145deg, #28648f, #1a4e77);
}

.dieline[data-state="flat"] .face.back {
  transform: translateX(220px) translateZ(0);
  background: #e2c69c;
}

.dieline[data-state="flat"] .face.left {
  transform: translateX(-110px) translateZ(0);
  background: #d6b17c;
}

.dieline[data-state="flat"] .face.right {
  transform: translateX(110px) translateZ(0);
  background: #e6c99d;
}

.dieline[data-state="flat"] .face.top {
  transform: translateY(-110px) translateZ(0);
  background: #f0dfc2;
}

.dieline[data-state="flat"] .face.bottom {
  transform: translateY(110px) translateZ(0);
  background: #c5a071;
}

/* Logo */
.print--logo {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.print--logo svg {
  display: block;
  width: 34px;
  height: 34px;
}

/* Printed tape */
.print--tape {
  display: block;
  width: 30%;
  height: 100%;
  border-left: 1px solid rgba(110, 75, 39, 0.2);
  border-right: 1px solid rgba(110, 75, 39, 0.2);
  background: rgba(199, 154, 98, 0.9);
}

/* Optional printed accent */
.print--rule {
  width: 60%;
  height: 6px;
  border-radius: 3px;
  background: var(--brand, #1a4e77);
  opacity: 0.35;
}

/* Box dimensions label */
.dieline__label {
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 15px;
  left: 12px;
  margin: 0;
  color: #526d85;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.15px;
  text-align: center;
  pointer-events: none;
}

/* Fold / unfold button */
.fold-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 28px;

  border: 1px solid var(--brand, #1a4e77);
  border-radius: 999px;
  background: #fff;
  color: var(--brand, #1a4e77);

  font-family: var(--font-body, inherit);
  font-size: 14px;
  font-weight: 600;

  cursor: pointer;

  box-shadow: 0 5px 18px rgba(26, 78, 119, 0.07);

  transition:
    background 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.2s ease;
}

.fold-btn:hover,
.fold-btn[aria-pressed="true"] {
  background: var(--brand, #1a4e77);
  color: #fff;
  box-shadow: 0 8px 24px rgba(26, 78, 119, 0.17);
}

.fold-btn:hover {
  transform: translateY(-2px);
}

.fold-btn:active {
  transform: scale(0.98);
}

/* Accessible keyboard focus */
.fold-btn:focus-visible,
.dieline:focus-visible {
  outline: 3px solid #77b9ed;
  outline-offset: 4px;
}

/* =========================================================
   RESPONSIVE DESIGN
========================================================= */

/* Medium screens and tablets */
@media (max-width: 960px) {
  .hero {
    padding: 64px 0;
  }

  .hero .hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    gap: 30px;
  }

  .hero__copy h1 {
    font-size: clamp(34px, 5vw, 48px);
  }

  .dieline {
    border-radius: 18px;
  }

  .hero__copy .facts {
    gap: 10px 16px;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .hero {
    padding: 48px 0 56px;
  }

  .hero .hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
  }

  .hero__copy {
    max-width: none;
  }

  .hero__copy h1 {
    max-width: 600px;
    margin-bottom: 18px;
    font-size: clamp(34px, 8vw, 48px);
    line-height: 1.12;
  }

  .hero__copy .lead {
    font-size: 16px;
    line-height: 1.75;
  }

  .hero__cta {
    gap: 10px;
    margin-top: 24px;
  }

  .hero__cta .btn {
    min-height: 46px;
    padding: 11px 19px;
    font-size: 13px;
  }

  .hero__copy .facts {
    gap: 10px 18px;
    margin-top: 24px;
  }

  .hero__stage {
    width: 100%;
    gap: 16px;
  }

  .dieline {
    max-width: 560px;
    border-radius: 16px;
  }

  .dieline__label {
    bottom: 12px;
    font-size: 11px;
  }

  .fold-btn {
    min-height: 46px;
    padding: 12px 24px;
  }
}

/* Narrow phones */
@media (max-width: 380px) {
  .hero__cta {
    align-items: stretch;
    flex-direction: column;
  }

  .hero__cta .btn {
    width: 100%;
    box-sizing: border-box;
  }

  .hero__copy h1 {
    font-size: 33px;
  }

  .hero__copy .facts {
    flex-direction: column;
  }
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .hero__cta .btn,
  .fold-btn,
  .spin,
  .face {
    transition-duration: 0.01ms !important;
  }
}

/* ============================================================
   SECTIONS
   ============================================================ */
.home-section {
  padding: 90px 0
}

.home-section--products {
  background: var(--paper)
}

.home-section--industries {
  background: var(--paper)
}

.section {
  padding: 80px 0
}

.section--tint {
  background: var(--paper)
}

.section__head {
  max-width: 720px;
  margin: 0 auto 46px;
  text-align: center
}

.section__head h2 {
  margin-bottom: 10px
  color: var(--hero-text);
  color: var(--hero-text)
}

.section__head p {
  color: var(--muted);
  font-size: 16px;
  margin: 0
}

.section__head--row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  text-align: left;
  max-width: 100%
}

.home-centered-head {
  text-align: center
}

/* Categories */
/* ---------- Product Categories ---------- */
.home-categories{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}

.home-category{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:0;                          /* remove padding — image touches the top edge */
  overflow:hidden;                    /* so the image can bleed to the card edges */
  display:flex;
  flex-direction:column;
  text-align:center;
  color:var(--ink);
  transition:transform .22s var(--ease),
             box-shadow .22s var(--ease),
             border-color .22s var(--ease);
}
.home-category:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:transparent;
  color:var(--ink);
}

/* Image area: fixed 220px, image fully visible (contain), centered */
.home-category__image{
  width:100%;
  height:300px;                       /* fixed height frame */
  background:var(--paper);
  overflow:hidden;                    /* crop what overflows */
  display:block;
}
.home-category__image img{
  width:100%;
  height:100%;
  object-fit:cover;                   /* fills the whole frame */
  object-position:center;
  display:block;
  transition:transform .35s var(--ease);
}
.home-category:hover .home-category__image img{
  transform:scale(1.04);              /* subtle zoom on hover */
}
.home-category__image span{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(160deg,var(--paper),#e5ecf5);
}

/* Text block below the image */
.home-category strong{
  display:block;
  font-family:var(--font-display);
  font-size:18px;
  font-weight:600;
  color:var(--ink);
  padding:22px 20px 8px;              /* text sits below the image with padding */
  margin:0;
}
.home-category__description{
  display:block;
  font-size:14px;
  color:var(--muted);
  line-height:1.55;
  padding:0 22px 24px;
  margin:0;
}

/* Popular products marquee */
.home-product-marquee {
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent)
}

.home-product-marquee__track {
  display: flex;
  width: max-content;
  animation: marquee 45s linear infinite
}

.home-product-marquee:hover .home-product-marquee__track {
  animation-play-state: paused
}

.home-product-marquee__group {
  display: flex;
  gap: 22px;
  padding-right: 22px
}

@keyframes marquee {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-50%)
  }
}

.pcard {
  width: 280px;
  flex: 0 0 280px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease);
  display: flex;
  flex-direction: column;
  color: var(--ink);
}

.pcard:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
  color: var(--ink)
}

.pcard__media {
  height: 200px;
  background: linear-gradient(160deg, var(--paper), #e5ecf5);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px
}

.pcard__media img {
  max-height: 100%;
  width: auto;
  object-fit: contain
}

.pcard__media .ph {
  width: 100%;
  max-width: 160px;
  color: #a5b4cb
}

.pcard__body {
  padding: 16px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px
}

.pcard__cat {
  font-size: 11.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--brand)
}

.pcard__name {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.35
}

.pcard__meta {
  font-size: 13px;
  color: var(--muted)
}

/* Editorial */
.home-editorial {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center
}

.home-editorial__image img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow)
}

.home-editorial__copy h2 {
  margin: 6px 0 16px
}

.home-editorial__copy p {
  font-size: 16px;
  color: var(--text);
  line-height: 1.7
}

/* Brand band */
.home-brand-band {
  background:
    radial-gradient(1000px 320px at 20% 0%, rgba(199, 154, 98, .12), transparent 60%),
    linear-gradient(135deg, var(--ink) 0%, var(--brand) 100%);
  color: var(--white);
  padding: 84px 0;
}

.home-brand-band__inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center
}

.home-brand-band h2 {
  color: var(--white);
  margin: 6px 0 16px
}

.home-brand-band p {
  color: #c7d4e5;
  margin: 0 0 28px;
  font-size: 16px
}

/* Explore */
.home-explore__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px
}

.home-explore-card {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center
}

.home-explore-card__image{
  padding: 14px;            /* smaller padding so image fills more of the frame */
}
.home-explore-card__image img{
  width: 100%;
  height: 100%;
  object-fit: contain;      /* show the whole product, no crop */
  object-position: center;
  border-radius: 8px;
}

.home-explore-card:hover .home-explore-card__image {
  transform: translateY(-3px)
}

.home-explore-card__image img {
  max-height: 100%;
  width: auto;
  object-fit: contain
}

.home-explore-card__image .ph-lg {
  width: 65%;
  height: auto;
  opacity: .6;
  color: var(--brand)
}

.home-explore-card h3 {
  margin: 0 0 12px
}

.home-explore-card h3 a {
  color: var(--ink)
}

.home-explore-card h3 a:hover {
  color: var(--brand)
}

.home-explore-card p {
  color: var(--muted);
  font-size: 14.5px;
  max-width: 380px
}

/* Industries */
.home-industries {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px
}

.home-industry {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px 18px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  transition: transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);
}

.home-industry:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
  border-color: transparent;
  color: var(--ink)
}

.home-industry__icon {
  width: 54px;
  height: 54px;
  border-radius: var(--radius-lg);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(26, 78, 119, .07);
  color: var(--brand);
}

.home-industry__icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke
}

.home-industry strong {
  font-size: 14.5px;
  font-weight: 600
}

/* Box guide */
.home-box-guide {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 60px;
  align-items: center
}

.home-box-guide__copy h2 {
  margin: 6px 0 16px
}

.home-box-guide__copy p {
  font-size: 16px;
  color: var(--text)
}

.home-help {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  font-size: 14.5px;
  color: var(--text)
}

.home-help>span:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(26, 78, 119, .1);
  color: var(--brand);
  font-weight: 700;
  font-size: 13px;
}

.home-help strong {
  color: var(--brand)
}

.home-box-guide__table-wrap {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--line)
}

.home-box-guide__table {
  width: 100%;
  border-collapse: collapse;
  background: var(--white)
}

.home-box-guide__table thead th {
  background: var(--brand);
  color: var(--white);
  text-align: left;
  padding: 16px 22px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-family: var(--font-body)
}

.home-box-guide__table tbody th,
.home-box-guide__table tbody td {
  padding: 16px 22px;
  text-align: left;
  font-weight: 400
}

.home-box-guide__table tbody tr+tr {
  border-top: 1px solid var(--paper)
}

.home-box-guide__table tbody th {
  font-weight: 600;
  color: var(--ink);
  font-size: 14.5px;
  white-space: nowrap
}

.home-box-guide__table tbody th span {
  display: inline-block;
  width: 16px;
  color: var(--kraft);
  margin-right: 6px;
  font-weight: 700
}

.home-box-guide__table tbody td {
  font-size: 14.5px;
  color: var(--text)
}

/* Benefits */
.home-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px
}

.home-benefit {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 28px 26px;
  transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease)
}

.home-benefit:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
  border-color: transparent
}

.home-benefit__number {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--brand);
  background: rgba(26, 78, 119, .07);
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 14px
}

.home-benefit h3 {
  font-size: 17px;
  margin: 0 0 10px
}

.home-benefit p {
  font-size: 14.5px;
  color: var(--muted);
  margin: 0
}

/* Quote banner */
/* ---------- Quote Banner ---------- */
.home-quote-banner{
  margin-top: 35px;
  padding:0 0 90px;
}

.home-quote-banner__inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  background:linear-gradient(135deg,#eaf2fb 0%, #dbe7f4 100%);
  border-radius:var(--radius-lg);
  overflow:hidden;
  align-items:stretch;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  min-height:460px;              /* ← taller panel so the image aspect matches better */
}

.home-quote-banner__image{
  position:relative;
  overflow:hidden;
  background:#0b2545;
}
.home-quote-banner__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position: 45% center;
  display:block;
}

.home-quote-banner__copy{
  padding:70px 60px;                   /* more padding, more presence */
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
}

.home-quote-banner__copy .eyebrow{
  margin-bottom:4px;
  letter-spacing:.16em;
}

.home-quote-banner__copy h2{
  font-size:clamp(24px, 2.6vw, 34px);
  line-height:1.18;
  margin:0 0 18px;
  color:var(--ink);
}

.home-quote-banner__copy p{
  color:var(--text);
  font-size:16px;
  line-height:1.65;
  margin:0 0 26px;
  max-width:44ch;                     /* keeps line length readable */
}

.home-quote-banner__copy .btn{
  align-self:flex-start;
  margin-top:4px;
}

/* Mobile */
@media (max-width:960px){
  .home-quote-banner__inner{ grid-template-columns:1fr; }
  .home-quote-banner__image{ min-height:260px; }
  .home-quote-banner__copy{ padding:40px 30px; }
}
.home-offer {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 40px 34px;
  position: relative;
  transition: box-shadow .22s var(--ease)
}

.home-offer:hover {
  box-shadow: var(--shadow)
}

.home-offer__mark {
  position: absolute;
  top: 24px;
  right: 24px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--kraft);
  background: rgba(199, 154, 98, .14);
  width: 42px;
  height: 42px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center
}

.home-offer h2 {
  font-size: 22px;
  margin: 0 60px 12px 0
}

.home-offer p {
  color: var(--muted);
  font-size: 14.5px;
  margin: 0 0 22px
}

/* Testimonials */
.quotes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px
}

.quote {
  background: var(--white);
  border: 1px solid var(--line);
  border-left: 3px solid var(--kraft);
  border-radius: var(--radius-lg);
  padding: 28px 28px 24px;
  margin: 0;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease)
}

.quote:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow)
}

.quote blockquote {
  margin: 0 0 18px
}

.quote blockquote p {
  font-size: 15px;
  color: var(--text);
  margin: 0;
  line-height: 1.7
}

.quote figcaption {
  font-size: 13.5px;
  color: var(--muted);
  border-top: 1px solid var(--paper);
  padding-top: 14px
}

.quote figcaption strong {
  color: var(--ink);
  font-weight: 600
}

/* ============================================================
   FAQ SECTION (homepage) — premium accordion
   ============================================================ */
.faq-section{
  padding:88px 0;
  background:var(--paper);
}
.faq-wrap{
  max-width:880px;
  margin:0 auto;
}

.faq-head{
  text-align:center;
  margin-bottom:44px;
}
.faq-head .eyebrow{
  display:inline-block;
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--brand);
  margin-bottom:10px;
}
.faq-head h2{
  font-size:clamp(24px, 2.8vw, 34px);
  margin:0 0 10px;
  line-height:1.2;
}
.faq-head p{
  font-size:15px;
  color:var(--muted);
  margin:0;
}

.faq-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.faq-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.faq-item:hover{
  border-color:rgba(26,78,119,.35);
}
.faq-item[open]{
  border-color:var(--brand);
  box-shadow:0 8px 22px rgba(14,43,66,.06);
}

.faq-item__q{
  list-style:none;
  cursor:pointer;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  padding:20px 24px;
  transition:background .18s var(--ease);
}
.faq-item__q::-webkit-details-marker{display:none}
.faq-item__q:hover{background:rgba(26,78,119,.02)}

.faq-item__num{
  font-family:var(--font-display);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  color:var(--muted);
  flex-shrink:0;
  min-width:24px;
}
.faq-item[open] .faq-item__num{color:var(--brand)}

.faq-item__text{
  flex:1;
  font-family:var(--font-display);
  font-size:16px;
  font-weight:600;
  color:var(--ink);
  line-height:1.4;
}
.faq-item[open] .faq-item__text{color:var(--brand)}

.faq-item__toggle{
  width:32px;height:32px;
  border-radius:50%;
  background:var(--paper);
  color:var(--brand);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:background .2s var(--ease), color .2s var(--ease), transform .25s var(--ease);
}
.faq-item[open] .faq-item__toggle{
  background:var(--brand);
  color:#fff;
  transform:rotate(45deg);
}

.faq-item__a{
  padding:0 24px 22px 64px;
  animation:faqIn .25s ease;
}
.faq-item__a p{
  margin:0;
  font-size:14.5px;
  line-height:1.7;
  color:var(--text);
}
@keyframes faqIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}

@media (max-width:600px){
  .faq-section{padding:60px 0}
  .faq-item__q{padding:16px 18px;gap:12px}
  .faq-item__text{font-size:15px}
  .faq-item__a{padding:0 18px 18px 46px}
  .faq-item__num{min-width:20px;font-size:11px}
}

/* FAQ */
.faq {
  border-bottom: 1px solid var(--line);
  padding: 20px 0
}

.faq summary {
  list-style: none;
  cursor: pointer;
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 32px;
  position: relative
}

.faq summary::-webkit-details-marker {
  display: none
}

.faq summary::after {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 9px;
  height: 9px;
  border-right: 2px solid var(--brand);
  border-bottom: 2px solid var(--brand);
  transition: transform .2s var(--ease)
}

.faq[open] summary::after {
  transform: translateY(-30%) rotate(225deg)
}

.faq>p {
  margin: 14px 0 0;
  color: var(--text);
  font-size: 15px;
  line-height: 1.7
}

/* Blog */
.postlist {
  list-style: none;
  padding: 0;
  margin: 0
}

.postlist li+li {
  border-top: 1px solid var(--paper)
}

.postlist a {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 22px;
  align-items: baseline;
  padding: 20px 0;
  color: var(--ink);
  transition: color .18s var(--ease)
}

.postlist a:hover {
  color: var(--brand)
}

.postlist time {
  font-size: 13px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .06em
}

.postlist strong {
  display: block;
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600
}

.postlist span {
  display: block;
  grid-column: 2;
  color: var(--muted);
  font-size: 14px;
  margin-top: 4px
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
  background: var(--ink);
  color: #9fb1c9;
  padding: 70px 0 0;
  font-size: 14px
}

.site-footer h2.footer-h {
  font-family: var(--font-display);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--white);
  margin: 0 0 18px;
  font-weight: 600
}

.site-footer a {
  color: #9fb1c9
}

.site-footer a:hover {
  color: var(--white)
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.2fr 1.4fr;
  gap: 40px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(255, 255, 255, .08)
}

.site-footer__brand p {
  margin: 20px 0 0;
  max-width: 260px;
  line-height: 1.65
}

.site-footer nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px
}

.site-footer address {
  font-style: normal;
  line-height: 1.9
}

.footer-socials {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  gap: 10px
}

.footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .06);
  color: #c7d4e5;
  font-family: var(--font-display);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  transition: background .18s var(--ease), color .18s var(--ease)
}

.footer-socials a:hover {
  background: var(--brand);
  color: var(--white)
}

.footer-newsletter h3 {
  font-family: var(--font-display);
  font-size: 15px;
  color: var(--white);
  margin: 0 0 8px
}

.footer-newsletter p {
  color: #8098b3;
  font-size: 13px;
  margin: 0 0 14px
}

.footer-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: 10px
}

.footer-newsletter__form input[type=email] {
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .12);
  color: var(--white);
  padding: 11px 14px;
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 14px
}

.footer-newsletter__form input[type=email]::placeholder {
  color: #6785a9
}

.footer-newsletter__form input[type=email]:focus {
  outline: 0;
  border-color: var(--kraft)
}

.footer-newsletter__consent {
  display: flex;
  gap: 8px;
  font-size: 12px;
  color: #8098b3;
  align-items: flex-start
}

.footer-newsletter__consent input {
  margin-top: 2px
}

.footer-newsletter .btn {
  align-self: flex-start
}

.site-footer__base {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 0;
  gap: 24px;
  flex-wrap: wrap;
  font-size: 13px
}

.site-footer__base-right {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap
}

.site-footer__legal {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap
}

.payment-marks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 8px
}

.payment-marks img {
  height: 26px;
  width: auto;
  opacity: .85
}

/* ============================================================
   WhatsApp Float — Left Side, Premium Style
   ============================================================ */
.wa-float {
  position: fixed;
  left: 24px;               /* Moved to left side */
  bottom: 24px;
  z-index: 9999;            /* Ensure it stays above everything */
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #25D366;      /* Official WhatsApp Green */
  color: #ffffff;
  font-weight: 600;
  font-size: 14px;
  padding: 12px 20px;
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
  font-family: var(--font-body); /* Uses your site font */
  animation: waGlow 2.5s infinite; /* Subtle attention glow */
}

.wa-float:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 12px 28px rgba(37, 211, 102, 0.5);
  color: #ffffff;
  background: #20ba5a; /* Slightly darker green on hover */
}

/* Make the icon look crisp */
.wa-float svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
}

/* Subtle pulse animation for attention */
@keyframes waGlow {
  0% { box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35); }
  50% { box-shadow: 0 8px 32px rgba(37, 211, 102, 0.6); }
  100% { box-shadow: 0 8px 24px rgba(37, 211, 102, 0.35); }
}

/* On mobile, hide the text and just show the circle to save space */
@media (max-width: 768px) {
  .wa-float {
    left: 16px;
    bottom: 16px;
    padding: 14px; /* Square padding for circle */
    border-radius: 50%;
  }
  
  .wa-float span {
    display: none; /* Hide the word "WhatsApp" on mobile */
  }
}
/* ============================================================
   NEWSLETTER — flash message
   ============================================================ */
.footer-newsletter__flash{
  padding:10px 14px;
  border-radius:8px;
  font-size:13px;
  line-height:1.5;
  margin-bottom:14px;
}
.footer-newsletter__flash--ok{
  background:rgba(27,107,58,.18);
  color:#b8f0c8;
  border-left:3px solid #38a169;
}
.footer-newsletter__flash--err{
  background:rgba(179,38,30,.18);
  color:#ffb8b4;
  border-left:3px solid #e53e3e;
}
/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1180px) {
  .site-footer__grid {
    grid-template-columns: 1fr 1fr
  }

  .mega__grid--industries {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media (max-width:960px) {
  .site-topbar__ticker {
    display: none
  }

  .nav-toggle {
    display: inline-flex
  }

  .nav {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 320px;
    max-width: 88vw;
    background: var(--white);
    box-shadow: 0 20px 60px rgba(14, 43, 66, .2);
    transform: translateX(-100%);
    transition: transform .25s var(--ease);
    z-index: 999;
    flex-direction: column;
    padding: 24px 20px;
    overflow-y: auto
  }

  .nav.is-open {
    transform: translateX(0)
  }

  .nav__list {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 4px
  }

  .nav__item {
    border-bottom: 1px solid var(--paper)
  }

  .nav__item>.nav__link {
    justify-content: space-between;
    padding: 14px 8px
  }

  .mega {
    position: static;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: none;
    border: 0;
    padding: 0 0 8px;
    display: none;
    width: 100% !important
  }

  .nav__item.is-open .mega {
    display: block
  }

  .mega__grid--industries {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px
  }

  .mega__grid--boxes {
    grid-template-columns: 1fr 1fr
  }

  .nav__actions {
    margin: 16px 0 0;
    padding-top: 16px;
    border-top: 1px solid var(--paper);
    flex-wrap: wrap
  }

  .nav__actions .btn {
    flex: 1
  }

  .nav__search {
    display: none
  }

  .hero {
    padding: 50px 0 60px
  }

  .hero__grid {
    grid-template-columns: 1fr;
    gap: 40px
  }

 .home-categories{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
}

  .home-editorial,
  .home-quote-banner__inner,
  .home-box-guide {
    grid-template-columns: 1fr
  }

  .home-quote-banner__image {
    min-height: 240px
  }

  .home-quote-banner__copy {
    padding: 40px 30px
  }

  .home-explore__grid,
  .home-benefits,
  .home-offers,
  .quotes {
    grid-template-columns: 1fr 1fr
  }

  .home-industries {
    grid-template-columns: 1fr 1fr 1fr
  }

  .section__head--row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px
  }
}

@media (max-width:640px) {

  .home-section,
  .section {
    padding: 60px 0
  }

  .home-categories,
  .home-explore__grid,
  .home-benefits,
  .home-offers,
  .quotes,
  .home-industries {
    grid-template-columns: 1fr
  }

  .home-product-marquee__group .pcard {
    width: 240px;
    flex-basis: 240px
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: 30px
  }

  .site-footer__base {
    flex-direction: column;
    align-items: flex-start
  }

  .postlist a {
    grid-template-columns: 1fr;
    gap: 6px
  }

  .postlist span {
    grid-column: 1
  }

  .wa-float span {
    display: none
  }
}

/* ============================================================
   INDUSTRY MEGA GRID (image cards)
   ============================================================ */
.mega--industries {
  width: min(940px, 90vw);
  padding: 22px;
}

.mega__grid--industries {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.mega-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--white);
  transition: transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);
}

.mega-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
  border-color: transparent;
}

.mega-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 22/15;
  /* matches 220×150 */
  background: linear-gradient(160deg, var(--paper), #e5ecf5);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.mega-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s var(--ease);
}

.mega-card:hover .mega-card__media img {
  transform: scale(1.04);
}

/* Fallback when image is missing: letter badge */
.mega-card__media--fallback {
  background: rgba(26, 78, 119, .06);
}

.mega-card__media--fallback img {
  display: none;
}

.mega-card__placeholder {
  display: none;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 44px;
  color: var(--brand);
  opacity: .35;
}

.mega-card__media--fallback .mega-card__placeholder {
  display: block;
}

.mega-card__label {
  padding: 12px 14px;
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
  text-align: center;
  line-height: 1.35;
  border-top: 1px solid var(--line);
}

.mega-card:hover .mega-card__label {
  color: var(--brand);
}

/* Responsive */
@media (max-width:1180px) {
  .mega__grid--industries {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width:960px) {
  .mega__grid--industries {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .mega-card__media {
    aspect-ratio: 16/10;
  }
}


/* ============================================================
   CATEGORY PAGE
   ============================================================ */

/* Breadcrumbs */
.page-crumbs{
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.page-crumbs ol{
  list-style:none;margin:0;padding:16px 0;
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-size:13.5px;color:var(--muted);
}
.page-crumbs li{display:inline-flex;align-items:center;gap:8px}
.page-crumbs li + li::before{content:"/";color:#a9b5c3;margin-right:2px}
.page-crumbs a{color:var(--muted)}
.page-crumbs a:hover{color:var(--brand)}
.page-crumbs [aria-current="page"] span{color:var(--ink);font-weight:600}

/* Category hero */
.cat-hero{
  padding:60px 0 70px;
  background:
    radial-gradient(900px 400px at 88% -10%, rgba(26,78,119,.10), transparent 65%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
}
.cat-hero__grid{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:60px;
  align-items:center;
}
.cat-hero__copy h1{margin:4px 0 16px;font-size:clamp(30px, 4vw, 48px)}
.cat-hero__copy .lead{font-size:17px;color:var(--text);max-width:540px;margin-bottom:26px}
.cat-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.cat-hero__stats{
  list-style:none;padding:0;margin:0;
  display:flex;gap:28px;flex-wrap:wrap;
  font-size:14px;color:var(--muted);
}
.cat-hero__stats li{display:inline-flex;align-items:baseline;gap:6px}
.cat-hero__stats strong{
  font-family:var(--font-display);
  font-size:24px;font-weight:700;color:var(--brand);
  line-height:1;
}
.cat-hero__image{
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--paper);
  box-shadow:var(--shadow);
  aspect-ratio:4/3;
}
.cat-hero__image img{
  width:100%;height:100%;object-fit:cover;display:block;
}

/* Products grid (static, not marquee) */
.cat-products{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.pcard--static{
  width:auto;
  flex:none;
  display:flex;flex-direction:column;
}
.pcard--static .pcard__body{padding:18px 20px 22px;gap:8px}
.pcard--static .pcard__desc{
  font-size:13px;color:var(--muted);
  line-height:1.5;margin-top:4px;
}

/* Empty state */
.cat-empty{
  text-align:center;max-width:560px;margin:0 auto;
}
.cat-empty__icon{
  width:72px;height:72px;border-radius:50%;
  background:rgba(26,78,119,.07);color:var(--brand);
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:20px;
}
.cat-empty__icon svg{width:36px;height:36px}
.cat-empty h2{margin:0 0 12px}
.cat-empty p{color:var(--muted);margin:0 0 24px}

/* Rich content typography */
.cat-content{
  font-size:16px;line-height:1.75;color:var(--text);
}
.cat-content h2{
  font-size:26px;margin:34px 0 14px;
}
.cat-content h3{
  font-size:20px;margin:28px 0 12px;
}
.cat-content p{margin:0 0 16px}
.cat-content ul,
.cat-content ol{margin:0 0 20px;padding-left:22px}
.cat-content li{margin:6px 0}
.cat-content img{
  border-radius:var(--radius);margin:20px 0;
}
.cat-content a{color:var(--brand);text-decoration:underline}

/* Responsive */
@media (max-width:960px){
  .cat-hero{padding:44px 0 56px}
  .cat-hero__grid{grid-template-columns:1fr;gap:36px}
  .cat-hero__image{aspect-ratio:16/10}
  .cat-products{grid-template-columns:repeat(2,1fr);gap:16px}
}
@media (max-width:640px){
  .cat-products{grid-template-columns:1fr}
  .cat-hero__stats{gap:18px}
  .cat-hero__stats strong{font-size:20px}
}

/* ============================================================
   PRODUCT PAGE
   ============================================================ */




/* Actions */
.prod-info__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:28px;
}

/* Trust list */
.prod-info__trust{
  list-style:none;padding:0;margin:0;
  display:flex;flex-direction:column;gap:8px;
  font-size:13.5px;color:var(--muted);
}
.prod-info__trust li{
  display:flex;align-items:center;gap:10px;
}
.prod-info__trust span{
  width:18px;height:18px;flex:0 0 18px;
  border-radius:50%;background:var(--ok);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;
}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .prod-hero{padding:36px 0 50px}
  .prod-hero__grid{grid-template-columns:1fr;gap:36px}
  .prod-gallery{position:static}
  .prod-gallery__thumbs{grid-template-columns:repeat(3, 1fr)}
  .prod-info__specs li{grid-template-columns:120px 1fr}
}
@media (max-width:640px){
  .prod-info__actions .btn{flex:1;justify-content:center}
  .prod-gallery__thumbs{grid-template-columns:repeat(4, 1fr);gap:8px}
  .prod-info__specs li{grid-template-columns:1fr;gap:4px;padding:10px 0}
  .prod-info__specs .spec-key{font-size:12px}
}
/* ============================================================
   PRODUCT PAGE — MOQ badge, WhatsApp btn, quote form
   ============================================================ */
   /* ============================================================
   PRODUCT PAGE — Gallery + Info + Inline Quote Form
   ============================================================ */

/* ---------- Hero grid: gallery LEFT, info+form RIGHT ---------- */
.prod-hero{
  padding:50px 0 70px;
  background:linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
}
.prod-hero__grid{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:56px;
  align-items:start;
}

/* ============================================================
   GALLERY with auto-rotating slideshow
   ============================================================ */
.prod-gallery{
  position:sticky;
  top:100px;
}
.prod-gallery__main{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1;
  background:linear-gradient(160deg,#fff,#eaf2fb);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  margin-bottom:14px;
}
.prod-gallery__slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:24px;
  opacity:0;
  transition:opacity .55s cubic-bezier(.4,.1,.2,1), transform .55s cubic-bezier(.4,.1,.2,1);
  transform:scale(1.02);
  display:block;
}
.prod-gallery__slide.is-active{
  opacity:1;
  transform:scale(1);
}
.prod-gallery__placeholder{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  color:#b8c7db;
}
.prod-gallery__placeholder svg{width:60%;height:auto}

/* Dot indicators */
.prod-gallery__dots{
  position:absolute;
  left:0;right:0;bottom:14px;
  display:flex;justify-content:center;gap:6px;
  pointer-events:none;
}
.prod-gallery__dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(26,78,119,.25);
  transition:all .2s var(--ease);
}
.prod-gallery__dot.is-active{
  background:var(--brand);
  width:22px;border-radius:3px;
}

/* Thumbnails */
.prod-gallery__thumbs{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:10px;
}
.prod-gallery__thumb{
  padding:0;
  border:1px solid var(--line);
  background:linear-gradient(160deg,#fff,#eaf2fb);
  border-radius:var(--radius);
  overflow:hidden;
  aspect-ratio:1 / 1;
  cursor:pointer;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease);
}
.prod-gallery__thumb img{
  width:100%;height:100%;object-fit:contain;padding:6px;display:block;
}
.prod-gallery__thumb:hover{ border-color:var(--brand); transform:translateY(-1px); }
.prod-gallery__thumb.is-active{
  border-color:var(--brand);
  box-shadow:0 0 0 2px rgba(26,78,119,.15);
}

/* ============================================================
   INFO column
   ============================================================ */
.prod-info{ padding-top:4px; }

.prod-info__cat{
  display:inline-block;
  font-size:12.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--brand);margin-bottom:10px;
}
.prod-info__cat:hover{ color:var(--brand-dark); }

.prod-info h1{
  font-size:clamp(26px, 3vw, 36px);
  margin:0 0 12px;
  line-height:1.15;
}
.prod-info__lead{
  font-size:15.5px;color:var(--text);
  line-height:1.6;margin:0 0 20px;
}

/* ---------- MOQ: 0 ---------- */
.prod-info__moq{
  display:flex;align-items:center;gap:14px;
  padding:12px 18px;
  background:linear-gradient(135deg, rgba(26,78,119,.06), rgba(199,154,98,.10));
  border-left:4px solid var(--kraft);
  border-radius:var(--radius);
  margin:0 0 22px;
}
.prod-info__moq-value{
  font-family:var(--font-display);
  font-size:34px;font-weight:800;line-height:1;
  color:var(--brand);
}
.prod-info__moq-label{
  display:block;
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--ink);
  margin-bottom:2px;
}
.prod-info__moq-note{
  display:block;
  font-size:12.5px;color:var(--muted);
}

/* Specs */
.prod-info__specs{
  list-style:none;padding:0;margin:0 0 20px;
  border-top:1px solid var(--line);
}
.prod-info__specs li{
  display:grid;grid-template-columns:120px 1fr;gap:14px;
  padding:9px 0;
  border-bottom:1px solid var(--line);
  font-size:13.5px;
}
.prod-info__specs .spec-key{color:var(--muted);font-weight:600}
.prod-info__specs .spec-value{color:var(--ink)}

/* WhatsApp CTA */
.prod-info__wa{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;
  background:#25D366;color:#fff;
  border-radius:var(--radius);
  font-size:13.5px;font-weight:600;
  margin:0 0 24px;
  transition:all .2s var(--ease);
}
.prod-info__wa:hover{
  background:#1fb456;color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(37,211,102,.28);
}

/* ============================================================
   INLINE QUOTE FORM (compact, inside info column)
   ============================================================ */
.prod-quote-inline{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:24px 24px 20px;
  box-shadow:var(--shadow-sm);
}
.prod-quote-inline__head{margin-bottom:16px}
.prod-quote-inline__head h3{
  font-size:19px;margin:0 0 4px;
}
.prod-quote-inline__head p{
  font-size:13px;color:var(--muted);margin:0;
  line-height:1.5;
}
.prod-quote-inline__head strong{color:var(--ink)}

/* Compact form */
.pq-form{display:flex;flex-direction:column;gap:12px}
.pq-form--compact .pq-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.pq-field{display:flex;flex-direction:column;gap:5px}
.pq-field span{
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;
  color:var(--ink);
}
.pq-field span em{color:var(--brand);font-style:normal}
.pq-field span em.pq-opt{
  color:var(--muted);font-weight:500;text-transform:none;letter-spacing:0;
  font-size:11px;
}
.pq-field input,
.pq-field select,
.pq-field textarea{
  width:100%;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  font-family:inherit;
  font-size:13.5px;
  color:var(--ink);
  background:#fff;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.pq-field input::placeholder,
.pq-field textarea::placeholder{color:#98a4b6}
.pq-field input:focus,
.pq-field select:focus,
.pq-field textarea:focus{
  outline:0;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,78,119,.12);
}
.pq-field textarea{resize:vertical;min-height:56px;font-family:inherit}

.pq-field select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%234f6272' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:34px;
  cursor:pointer;
}

.pq-input-icon{position:relative}
.pq-input-icon input{padding-right:34px}
.pq-input-icon span{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  color:var(--brand);font-size:14px;pointer-events:none;
}

/* Block submit */
.btn--block{
  width:100%;justify-content:center;
  padding:13px 20px;
  font-size:14px;
  margin-top:4px;
}

/* Form feedback */
.prod-quote-inline .alert{
  padding:10px 14px;
  border-radius:var(--radius);
  margin:0 0 14px;
  font-size:13px;
}
.alert--success{background:#e8f5ee;color:#1b6b3a;border-left:3px solid var(--ok)}
.alert--error{background:#fcecec;color:#b3261e;border-left:3px solid var(--danger)}
.alert--error ul{margin:0;padding-left:18px}

/* WhatsApp link below form */
.prod-quote__wa{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:14px;
  font-size:13px;font-weight:600;
  color:var(--brand);
  text-decoration:underline;
  text-decoration-color:rgba(26,78,119,.3);
  text-underline-offset:4px;
}
.prod-quote__wa:hover{color:var(--brand-dark);text-decoration-color:var(--brand-dark)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:960px){
  .prod-hero{padding:36px 0 50px}
  .prod-hero__grid{grid-template-columns:1fr;gap:32px}
  .prod-gallery{position:static}
  .prod-gallery__thumbs{grid-template-columns:repeat(4,1fr)}
  .prod-info__specs li{grid-template-columns:100px 1fr}
}
@media (max-width:640px){
  .pq-form--compact .pq-row{grid-template-columns:1fr;gap:10px}
  .prod-gallery__thumbs{grid-template-columns:repeat(4,1fr);gap:8px}
  .prod-quote-inline{padding:20px 18px 16px}
}

/* ---------- "0 Minimum Order" badge ---------- */
.prod-info__moq{
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:14px 20px;
  background:linear-gradient(135deg, rgba(26,78,119,.06), rgba(199,154,98,.08));
  border-left:4px solid var(--kraft);
  border-radius:var(--radius);
  margin:0 0 24px;
}
.prod-info__moq-value{
  font-family:var(--font-display);
  font-size:38px;
  font-weight:800;
  line-height:1;
  color:var(--brand);
}
.prod-info__moq-label{
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--ink);
}
.prod-info__moq-note{
  font-size:12.5px;
  color:var(--muted);
  border-left:1px solid var(--line);
  padding-left:14px;
}

/* ---------- WhatsApp button ---------- */
.btn--whatsapp{
  background:#25D366;
  color:#fff;
  box-shadow:0 6px 16px rgba(37,211,102,.28);
}
.btn--whatsapp:hover{
  background:#1fb456;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(37,211,102,.32);
}


/* ---------- Alerts ---------- */
.alert{
  padding:14px 18px;
  border-radius:var(--radius);
  margin:0 0 22px;
  font-size:14px;
}
.alert--success{
  background:#e8f5ee;
  color:#1b6b3a;
  border-left:3px solid var(--ok);
}
.alert--error{
  background:#fcecec;
  color:#b3261e;
  border-left:3px solid var(--danger);
}
.alert--error ul{margin:0;padding-left:18px}

/* ---------- Form ---------- */
.prod-quote__form{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.pq-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.pq-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.pq-field span{
  font-size:13px;
  font-weight:600;
  color:var(--ink);
}
.pq-field span em{
  color:var(--brand);
  font-style:normal;
}
.pq-field input,
.pq-field select,
.pq-field textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  font-family:inherit;
  font-size:14.5px;
  color:var(--ink);
  background:#fff;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.pq-field input::placeholder,
.pq-field textarea::placeholder{color:#98a4b6}
.pq-field input:focus,
.pq-field select:focus,
.pq-field textarea:focus{
  outline:0;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,78,119,.12);
}
.pq-field textarea{
  resize:vertical;
  min-height:100px;
  font-family:inherit;
}

/* Select arrow styling */
.pq-field select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%234f6272' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:40px;
  cursor:pointer;
}

/* Email with icon */
.pq-input-icon{
  position:relative;
}
.pq-input-icon input{padding-right:40px}
.pq-input-icon span{
  position:absolute;
  right:14px;top:50%;transform:translateY(-50%);
  color:var(--brand);
  font-size:16px;
  pointer-events:none;
}

/* Submit button */
.btn--block{
  width:100%;
  justify-content:center;
  padding:16px 24px;
  font-size:15.5px;
  margin-top:6px;
}

/* WhatsApp link below form */
.prod-quote__wa{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:20px;
  font-size:14px;
  font-weight:600;
  color:var(--brand);
  text-decoration:underline;
  text-decoration-color:rgba(26,78,119,.3);
  text-underline-offset:4px;
}
.prod-quote__wa:hover{
  color:var(--brand-dark);
  text-decoration-color:var(--brand-dark);
}

/* ---------- Responsive ---------- */
@media (max-width:768px){
  .prod-quote{padding:30px 22px 26px;border-radius:var(--radius)}
  .pq-row{grid-template-columns:1fr;gap:16px}
  .prod-quote__head h2{font-size:22px}
  .prod-info__moq{flex-direction:column;align-items:flex-start;gap:6px}
  .prod-info__moq-note{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:8px;width:100%}
}

/* ============================================================
   THANK YOU MODAL
   ============================================================ */
.bph-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  animation:bphFadeIn .25s ease;
}
.bph-modal[aria-hidden="true"]{ display:none; }

@keyframes bphFadeIn{ from{opacity:0} to{opacity:1} }
@keyframes bphModalIn{
  from{opacity:0;transform:translateY(14px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.bph-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(14,43,66,.55);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}

.bph-modal__card{
  position:relative;
  background:#fff;
  border-radius:18px;
  padding:44px 36px 32px;
  max-width:460px;
  width:100%;
  text-align:center;
  box-shadow:0 24px 60px rgba(14,43,66,.28);
  animation:bphModalIn .35s cubic-bezier(.34,1.2,.64,1);
  z-index:1;
}

/* Close button */
.bph-modal__close{
  position:absolute;
  top:14px;right:14px;
  width:34px;height:34px;
  border-radius:50%;
  border:0;
  background:rgba(14,43,66,.06);
  color:var(--ink);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .18s var(--ease),color .18s var(--ease);
}
.bph-modal__close:hover{
  background:rgba(14,43,66,.12);
  color:var(--brand);
}

/* Checkmark icon */
.bph-modal__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:76px;height:76px;
  border-radius:50%;
  background:rgba(27,107,58,.10);
  color:var(--ok);
  margin-bottom:20px;
}
.bph-modal__icon svg{
  width:48px;height:48px;
  animation:bphCheckIn .55s cubic-bezier(.34,1.4,.64,1) .15s both;
}
@keyframes bphCheckIn{
  0%{ transform:scale(.4); opacity:0 }
  100%{ transform:scale(1); opacity:1 }
}

/* Title + text */
.bph-modal__title{
  font-family:var(--font-display);
  font-size:26px;
  margin:0 0 10px;
  color:var(--ink);
}
.bph-modal__text{
  font-size:15px;
  color:var(--text);
  line-height:1.6;
  margin:0 0 16px;
}
.bph-modal__text strong{
  color:var(--brand);
  font-weight:600;
}

/* Reference code */
.bph-modal__ref{
  font-size:12.5px;
  color:var(--muted);
  margin:0 0 22px;
}
.bph-modal__ref code{
  background:rgba(26,78,119,.07);
  color:var(--brand);
  padding:2px 8px;
  border-radius:6px;
  font-family:ui-monospace, Menlo, Consolas, monospace;
  font-size:12px;
  letter-spacing:.4px;
}

/* Actions */
.bph-modal__actions{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.bph-modal__actions .btn{
  min-width:140px;
  justify-content:center;
}

/* Auto-close countdown */
.bph-modal__autoclose{
  font-size:11.5px;
  color:var(--muted);
  margin:0;
  opacity:.8;
}
.bph-modal__autoclose span{
  font-weight:700;
  color:var(--brand);
}

/* Prevent body scroll while modal is open */
body.bph-modal-open{
  overflow:hidden;
}

/* Mobile */
@media (max-width:480px){
  .bph-modal__card{padding:36px 24px 26px;border-radius:14px}
  .bph-modal__title{font-size:22px}
  .bph-modal__icon{width:64px;height:64px}
  .bph-modal__icon svg{width:40px;height:40px}
  .bph-modal__actions .btn{width:100%}
}


/* ============================================================
   PRODUCTS PAGE — Filters, chips, grid, pager
   ============================================================ */

/* ---------- Filters bar ---------- */
.prod-filters{
  background:var(--white);
  border-bottom:1px solid var(--line);
  padding:20px 0;
  position:sticky;
  top:74px;                       /* sits right below the sticky header */
  z-index:20;
  box-shadow:0 1px 0 rgba(14,43,66,.04);
}

.prod-filters__form{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

.prod-filters__search{
  position:relative;
  flex:1 1 280px;
  min-width:220px;
}
.prod-filters__search svg{
  position:absolute;
  left:14px;top:50%;transform:translateY(-50%);
  color:var(--muted);
  pointer-events:none;
}
.prod-filters__search input[type="search"]{
  width:100%;
  padding:11px 14px 11px 42px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  font-family:inherit;font-size:14.5px;color:var(--ink);
  background:#fff;
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease);
}
.prod-filters__search input[type="search"]:focus{
  outline:0;border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,78,119,.12);
}

.prod-filters__sort select{
  padding:11px 34px 11px 14px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  font-family:inherit;font-size:14.5px;color:var(--ink);
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%234f6272' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;
  cursor:pointer;
}
.prod-filters__sort select:focus{
  outline:0;border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,78,119,.12);
}

.prod-filters__reset{
  font-size:13.5px;
  color:var(--muted);
  text-decoration:underline;
  text-underline-offset:3px;
}
.prod-filters__reset:hover{color:var(--brand)}

/* ---------- Category chips ---------- */
.prod-filters__chips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--paper);
}
.chip{
  display:inline-flex;
  align-items:center;
  padding:7px 14px;
  border-radius:999px;
  background:var(--paper);
  color:var(--text);
  font-size:13px;
  font-weight:500;
  border:1px solid transparent;
  transition:all .18s var(--ease);
}
.chip:hover{
  background:#e5ecf5;
  color:var(--brand);
}
.chip.is-active{
  background:var(--brand);
  color:#fff;
  border-color:var(--brand);
}

/* ---------- Grid: 4 columns ---------- */
.cat-products--4{grid-template-columns:repeat(4, 1fr)}

/* ---------- Product card — featured badge ---------- */
.pcard{position:relative}
.pcard__badge{
  position:absolute;
  top:10px;left:10px;
  padding:4px 10px;
  background:var(--kraft);
  color:var(--kraft-dark);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  border-radius:999px;
}

/* ---------- Pagination ---------- */
.pager{
  display:flex;
  align-items:center;
  gap:6px;
  justify-content:center;
  margin-top:52px;
  flex-wrap:wrap;
}
.pager__link,
.pager__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 14px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  font-size:14px;
  font-weight:600;
  transition:all .18s var(--ease);
}
.pager__link:hover,
.pager__num:hover{
  border-color:var(--brand);
  color:var(--brand);
  background:rgba(26,78,119,.04);
}
.pager__num.is-active{
  background:var(--brand);
  color:#fff;
  border-color:var(--brand);
}
.pager__link.is-disabled{
  opacity:.4;
  cursor:not-allowed;
  pointer-events:none;
}
.pager__gap{
  color:var(--muted);
  padding:0 4px;
}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .prod-filters{position:static}
  .cat-products--4{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width:640px){
  .cat-products--4{grid-template-columns:1fr}
  .prod-filters__form{gap:8px}
  .prod-filters__search{flex-basis:100%}
  .prod-filters__sort select{width:100%}
  .pager{gap:4px}
  .pager__link, .pager__num{min-width:34px;height:34px;padding:0 10px;font-size:13px}
}


/* ============================================================
   QUOTE PAGE (/quote)
   ============================================================ */

.quote-page{
  padding:52px 0 70px;
  background:
    radial-gradient(900px 380px at 10% -10%, rgba(26,78,119,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
  min-height:calc(100vh - 74px - 40px);
  display:flex;
  align-items:center;
}

.quote-page__grid{
  display:grid;
  grid-template-columns:0.85fr 1.15fr;
  gap:56px;
  align-items:center;
  width:100%;
}

/* ---------- LEFT SIDE ---------- */
.quote-side h1{
  font-size:clamp(30px, 3.6vw, 42px);
  margin:4px 0 14px;
}
.quote-side__lead{
  font-size:15.5px;
  color:var(--text);
  line-height:1.6;
  margin:0 0 26px;
  max-width:46ch;
}
.quote-side__lead strong{color:var(--brand)}

/* Current product box */
.quote-side__product{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  margin-bottom:24px;
  box-shadow:var(--shadow-sm);
}
.quote-side__product-label{
  display:block;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
  margin-bottom:10px;
}
.quote-side__product-inner{
  display:flex;
  gap:14px;
  align-items:center;
}
.quote-side__product-inner img{
  width:64px;height:64px;
  object-fit:contain;
  background:var(--paper);
  border-radius:var(--radius);
  padding:6px;
  flex-shrink:0;
}
.quote-side__product-inner strong{
  display:block;
  font-family:var(--font-display);
  font-size:15px;
  color:var(--ink);
  margin-bottom:2px;
}
.quote-side__product-inner span{
  display:block;
  font-size:12.5px;
  color:var(--muted);
  line-height:1.4;
}
.quote-side__product-change{
  display:inline-block;
  margin-top:12px;
  font-size:12.5px;
  color:var(--brand);
  font-weight:600;
}

/* Trust list */
.quote-side__trust{
  list-style:none;
  padding:0;margin:0 0 24px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.quote-side__trust li{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.quote-side__check{
  width:22px;height:22px;
  border-radius:50%;
  background:rgba(27,107,58,.1);
  color:var(--ok);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:700;
  flex-shrink:0;
  margin-top:2px;
}
.quote-side__trust strong{
  display:block;
  font-size:13.5px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:2px;
}
.quote-side__trust span{
  display:block;
  font-size:12.5px;
  color:var(--muted);
  line-height:1.45;
}

.quote-side__wa{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  background:#25D366;color:#fff;
  border-radius:var(--radius);
  font-size:13.5px;font-weight:600;
  transition:all .2s var(--ease);
}
.quote-side__wa:hover{
  background:#1fb456;color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(37,211,102,.28);
}

/* ---------- RIGHT SIDE — Compact Card ---------- */
.quote-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:28px 32px 24px;
  box-shadow:var(--shadow);
  max-height:calc(100vh - 120px);
  overflow:auto;                /* in case a small screen can't fit */
}
.quote-card__head{margin-bottom:18px}
.quote-card__head h2{
  font-size:22px;
  margin:0 0 4px;
}
.quote-card__head p{
  font-size:12.5px;
  color:var(--muted);
  margin:0;
}
.quote-card__head em{
  color:var(--brand);
  font-style:normal;
}

/* Tight form */
.pq-form--tight{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.pq-form--tight .pq-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.pq-form--tight .pq-field{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.pq-form--tight .pq-field span{
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--ink);
}
.pq-form--tight .pq-field span em{color:var(--brand);font-style:normal}
.pq-form--tight .pq-field span em.pq-opt{
  color:var(--muted);
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
  font-size:10.5px;
}
.pq-form--tight .pq-field input,
.pq-form--tight .pq-field select,
.pq-form--tight .pq-field textarea{
  width:100%;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  font-family:inherit;
  font-size:13px;
  color:var(--ink);
  background:#fff;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.pq-form--tight .pq-field input:focus,
.pq-form--tight .pq-field select:focus{
  outline:0;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,78,119,.12);
}

/* Section inside tight form */
.pq-section--tight{
  border:0;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.pq-section--tight .pq-section__legend{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--ink);
  padding:0 0 6px;
  border-bottom:1px solid var(--paper);
  margin-bottom:2px;
}
.pq-section--tight .pq-section__num{
  width:18px;height:18px;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:9.5px;
  font-weight:700;
}

.pq-form__note{
  font-size:11.5px;
  color:var(--muted);
  margin:8px 0 0;
  text-align:center;
}
.pq-form__note strong{color:var(--brand)}

/* Compact alerts */
.quote-card .alert{
  padding:9px 12px;
  font-size:12.5px;
  border-radius:var(--radius);
  margin:0 0 12px;
}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .quote-page{
    padding:32px 0 50px;
    min-height:auto;
    display:block;
  }
  .quote-page__grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .quote-side h1{font-size:28px}
  .quote-card{
    padding:22px 20px;
    max-height:none;
  }
  .pq-form--tight .pq-row{grid-template-columns:1fr}
}
@media (max-width:480px){
  .quote-side__trust li{font-size:12.5px}
}
/* What Happens (qsteps) */
.qsteps{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:32px !important;
  max-width:1100px;
  margin:0 auto;
  position:relative;
}
.qsteps::before{
  content:"";position:absolute;top:19px;
  left:calc(12.5% + 24px);right:calc(12.5% + 24px);
  height:1px;background:var(--line);z-index:0;
}
.qsteps__step{position:relative;z-index:1;text-align:left}
.qsteps__num{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  width:38px !important;height:38px !important;border-radius:50% !important;
  background:#fff !important;border:1px solid var(--line) !important;
  color:var(--brand) !important;
  font-family:var(--font-display);font-size:14px;font-weight:700;
  margin-bottom:18px;
}
.qsteps__label{
  display:block !important;font-size:10.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--muted);margin-bottom:8px;
}
.qsteps__step h3{
  font-family:var(--font-display);font-size:17px;font-weight:600;
  color:var(--ink);margin:0 0 8px;line-height:1.3;
}
.qsteps__step p{
  font-size:13.5px;color:var(--muted);line-height:1.6;margin:0;
}

/* Why Us (qwhy) */
.qwhy{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:20px !important;
}
.qwhy__item{
  background:#fff !important;border:1px solid var(--line) !important;
  border-radius:var(--radius-lg) !important;
  padding:26px 24px !important;
  transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.qwhy__item:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 12px 28px rgba(14,43,66,.08) !important;
  border-color:transparent !important;
}
.qwhy__item h3{
  font-family:var(--font-display);font-size:16px !important;
  font-weight:600;color:var(--ink) !important;margin:0 0 10px !important;
}
.qwhy__item p{
  font-size:13.5px !important;color:var(--muted) !important;
  line-height:1.6;margin:0 !important;
}

/* FAQ (qfaq) */
.qfaq__wrap{max-width:840px;margin:0 auto}
.qfaq{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 4px 14px rgba(14,43,66,.04);
}
.qfaq__item{border-bottom:1px solid var(--line)}
.qfaq__item:last-child{border-bottom:0}
.qfaq__item summary{
  list-style:none;cursor:pointer;
  display:flex !important;align-items:center !important;justify-content:space-between !important;
  gap:24px;padding:22px 28px;
  font-family:var(--font-display);font-size:15.5px;font-weight:600;
  color:var(--ink);
  transition:background .18s var(--ease), color .18s var(--ease);
}
.qfaq__item summary::-webkit-details-marker{display:none}
.qfaq__item summary:hover{background:rgba(26,78,119,.03);color:var(--brand)}
.qfaq__item[open] summary{color:var(--brand);background:rgba(26,78,119,.03)}
.qfaq__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:rgba(26,78,119,.07);color:var(--brand);
  flex-shrink:0;
  transition:background .18s var(--ease), color .18s var(--ease);
}
.qfaq__icon svg{transition:transform .25s var(--ease)}
.qfaq__item[open] .qfaq__icon{background:var(--brand);color:#fff}
.qfaq__item[open] .qfaq__icon svg{transform:rotate(180deg)}
.qfaq__body{padding:0 28px 24px}
.qfaq__body p{
  margin:0;font-size:14.5px;line-height:1.7;
  color:var(--text);max-width:72ch;
}

/* Responsive */
@media (max-width:1024px){
  .qsteps{grid-template-columns:repeat(2, 1fr) !important;gap:32px 28px !important}
  .qsteps::before{display:none}
  .qwhy{grid-template-columns:repeat(2, 1fr) !important}
}
@media (max-width:640px){
  .qsteps,
  .qwhy{grid-template-columns:1fr !important;gap:20px !important}
  .qfaq__item summary{padding:18px 20px;font-size:15px;gap:16px}
  .qfaq__body{padding:0 20px 20px}
}
/* ============================================================
   QUOTE PAGE — full redesign
   ============================================================ */

/* ---------- Hero ---------- */
.quote-hero{
  padding:52px 0 64px;
  background:
    radial-gradient(900px 400px at 10% -20%, rgba(26,78,119,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
}
.quote-hero__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:start;
}

/* ---------- Left column ---------- */
.quote-copy{padding-top:6px}
.quote-copy__eyebrow{
  display:inline-block;
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--brand);
  margin-bottom:14px;
}
.quote-copy h1{
  font-size:clamp(30px, 3.6vw, 46px);
  margin:0 0 18px;
  line-height:1.12;
}
.quote-copy__lead{
  font-size:15.5px;
  color:var(--text);
  line-height:1.65;
  margin:0 0 34px;
  max-width:52ch;
}

/* Steps list */
.quote-steps{
  list-style:none;
  padding:0;margin:0 0 30px;
  display:flex;flex-direction:column;gap:20px;
}
.quote-steps li{
  display:flex;gap:16px;align-items:flex-start;
}
.quote-steps__num{
  display:inline-flex;
  align-items:center;justify-content:center;
  width:30px;height:30px;
  border-radius:50%;
  background:rgba(26,78,119,.08);
  color:var(--brand);
  font-family:var(--font-display);
  font-weight:700;font-size:12px;
  flex-shrink:0;
  margin-top:2px;
}
.quote-steps strong{
  display:block;
  font-family:var(--font-display);
  font-size:15px;font-weight:600;
  color:var(--ink);
  margin-bottom:2px;
}
.quote-steps span{
  display:block;
  font-size:13.5px;
  color:var(--muted);
  line-height:1.5;
}

/* Prefer to talk */
.quote-talk{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px 22px;
  max-width:340px;
}
.quote-talk__label{
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);
  margin:0 0 12px;
}
.quote-talk__row{
  display:flex;align-items:center;gap:10px;
  padding:6px 0;
  font-size:14px;font-weight:600;
  color:var(--ink);
}
.quote-talk__row:hover{color:var(--brand)}
.quote-talk__row svg{color:var(--brand);flex-shrink:0}

/* ---------- Right — form card ---------- */
.quote-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:32px 36px 28px;
  box-shadow:0 12px 40px rgba(14,43,66,.08);
  position:sticky;
  top:96px;
  max-height:calc(100vh - 120px);
  overflow:auto;
}
.quote-card__head{margin-bottom:22px}
.quote-card__head h2{font-size:22px;margin:0 0 4px}
.quote-card__head p{font-size:12.5px;color:var(--muted);margin:0}
.quote-card__head em{color:var(--brand);font-style:normal}

/* Form tight */
.pq-form--tight{display:flex;flex-direction:column;gap:20px}
.pq-form--tight .pq-row{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
.pq-form--tight .pq-row--4{
  grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;
}
.pq-form--tight .pq-field{display:flex;flex-direction:column;gap:5px}
.pq-form--tight .pq-field > span{
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;
  color:var(--ink);
}
.pq-form--tight .pq-field > span em{color:var(--brand);font-style:normal}
.pq-form--tight .pq-field > span em.pq-opt{
  color:var(--muted);font-weight:500;text-transform:none;letter-spacing:0;font-size:11px;
}
.pq-form--tight .pq-field input,
.pq-form--tight .pq-field select,
.pq-form--tight .pq-field textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  font-family:inherit;font-size:13.5px;color:var(--ink);background:#fff;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.pq-form--tight .pq-field input::placeholder,
.pq-form--tight .pq-field textarea::placeholder{color:#9aa8bb}
.pq-form--tight .pq-field input:focus,
.pq-form--tight .pq-field select:focus,
.pq-form--tight .pq-field textarea:focus{
  outline:0;border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,78,119,.12);
}
.pq-form--tight .pq-field select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%234f6272' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;
  padding-right:34px;cursor:pointer;
}
.pq-form--tight .pq-field textarea{resize:vertical;min-height:52px;font-family:inherit}

.pq-input-icon{position:relative}
.pq-input-icon input{padding-right:36px}
.pq-input-icon span{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  color:var(--brand);font-size:14px;pointer-events:none;
}

/* Section */
.pq-section--tight{
  border:0;padding:0;margin:0;
  display:flex;flex-direction:column;gap:12px;
}
.pq-section--tight .pq-section__legend{
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--brand);
  padding-bottom:8px;
  border-bottom:1px solid var(--paper);
}
/* Three-box dimensions input */
.pq-dims{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:center;
  gap:8px;
}
.pq-dims input{
  width:100% !important;
  padding:11px 13px !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  font-family:inherit !important;
  font-size:13.5px !important;
  color:var(--ink);
  background:#fff;
  text-align:center;
  box-sizing:border-box !important;
}
.pq-dims input:focus{
  outline:0;
  border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,78,119,.12);
}
.pq-dims input::placeholder{color:#9aa8bb}
.pq-dims__x{
  font-size:13px;
  font-weight:600;
  color:var(--muted);
  user-select:none;
}
/* Consent checkbox */
.pq-consent{
  display:flex;gap:10px;align-items:flex-start;
  font-size:12.5px;color:var(--muted);line-height:1.5;
  margin-top:6px;
}
.pq-consent input{margin-top:2px;accent-color:var(--brand)}
.pq-consent a{color:var(--brand);text-decoration:underline}

/* Alerts */
.quote-card .alert{
  padding:10px 14px;font-size:13px;
  border-radius:var(--radius);margin:0 0 14px;
}

/* ============================================================
   AFTER YOU SUBMIT
   ============================================================ */
.quote-after{
  padding:80px 0;
  background:var(--white);
}
.quote-after__list{
  list-style:none;padding:0;
}
  /* ============================================================
   QUOTE PAGE — clean, structured
   ============================================================ */

/* ---------- HERO ---------- */
.quote-hero{
  padding:52px 0 64px;
  background:
    radial-gradient(900px 400px at 10% -20%, rgba(26,78,119,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
}
.quote-hero__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:start;
}

/* Left column */
.quote-copy{padding-top:6px}
.quote-copy__eyebrow{
  display:inline-block;
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--brand);
  margin-bottom:14px;
}
.quote-copy h1{
  font-size:clamp(30px, 3.6vw, 46px);
  margin:0 0 18px;
  line-height:1.12;
}
.quote-copy__lead{
  font-size:15.5px;
  color:var(--text);
  line-height:1.65;
  margin:0 0 34px;
  max-width:52ch;
}

/* Steps list */
.quote-steps{
  list-style:none;padding:0;margin:0 0 30px;
  display:flex;flex-direction:column;gap:20px;
}
.quote-steps li{display:flex;gap:16px;align-items:flex-start}
.quote-steps__num{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;
  background:rgba(26,78,119,.08);color:var(--brand);
  font-family:var(--font-display);font-weight:700;font-size:12px;
  flex-shrink:0;margin-top:2px;
}
.quote-steps strong{
  display:block;font-family:var(--font-display);
  font-size:15px;font-weight:600;color:var(--ink);margin-bottom:2px;
}
.quote-steps span{
  display:block;font-size:13.5px;color:var(--muted);line-height:1.5;
}

/* Prefer to talk */
.quote-talk{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:20px 22px;max-width:340px;
}
.quote-talk__label{
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);margin:0 0 12px;
}
.quote-talk__row{
  display:flex;align-items:center;gap:10px;
  padding:6px 0;font-size:14px;font-weight:600;color:var(--ink);
}
.quote-talk__row:hover{color:var(--brand)}
.quote-talk__row svg{color:var(--brand);flex-shrink:0}

/* Right — form card */
.quote-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:28px 32px 26px;
  box-shadow:0 12px 40px rgba(14,43,66,.08);
  position:sticky;
  top:96px;
}
.quote-card__head{margin-bottom:20px}
.quote-card__head h2{font-size:22px;margin:0 0 4px}
.quote-card__head p{font-size:12.5px;color:var(--muted);margin:0}
.quote-card__head em{color:var(--brand);font-style:normal}

/* Form */
.pq-form--tight{display:flex;flex-direction:column;gap:18px}
.pq-form--tight .pq-row{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.pq-form--tight .pq-field{display:flex;flex-direction:column;gap:5px}
.pq-form--tight .pq-field > span{
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;
  color:var(--ink);
}
.pq-form--tight .pq-field > span em{color:var(--brand);font-style:normal}
.pq-form--tight .pq-field > span em.pq-opt{
  color:var(--muted);font-weight:500;text-transform:none;
  letter-spacing:0;font-size:10.5px;
}
.pq-form--tight .pq-field input,
.pq-form--tight .pq-field select,
.pq-form--tight .pq-field textarea{
  width:100%;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  font-family:inherit;font-size:13px;color:var(--ink);background:#fff;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.pq-form--tight .pq-field input::placeholder,
.pq-form--tight .pq-field textarea::placeholder{color:#9aa8bb}
.pq-form--tight .pq-field input:focus,
.pq-form--tight .pq-field select:focus,
.pq-form--tight .pq-field textarea:focus{
  outline:0;border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,78,119,.12);
}
.pq-form--tight .pq-field select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%234f6272' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;
  padding-right:34px;cursor:pointer;
}
.pq-input-icon{position:relative}
.pq-input-icon input{padding-right:36px}
.pq-input-icon span{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  color:var(--brand);font-size:14px;pointer-events:none;
}

/* Section */
.pq-section--tight{
  border:0;padding:0;margin:0;
  display:flex;flex-direction:column;gap:10px;
}
.pq-section--tight .pq-section__legend{
  display:flex;align-items:center;gap:8px;
  font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--ink);
  padding-bottom:8px;
  border-bottom:1px solid var(--paper);
  margin-bottom:2px;
}
.pq-section--tight .pq-section__num{
  width:18px;height:18px;border-radius:50%;
  background:var(--brand);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:9.5px;font-weight:700;
}

/* Consent */
.pq-consent{
  display:flex;gap:9px;align-items:flex-start;
  font-size:12px;color:var(--muted);line-height:1.5;
  margin-top:4px;
}
.pq-consent input{margin-top:2px;accent-color:var(--brand)}
.pq-consent a{color:var(--brand);text-decoration:underline}

/* Alerts */
.quote-card .alert{
  padding:10px 14px;font-size:13px;
  border-radius:var(--radius);margin:0 0 14px;
}
.btn--block{
  width:100%;justify-content:center;
  padding:13px 20px;font-size:14px;margin-top:4px;
}

/* ============================================================
   SECTION HEADER — shared across the 3 sections
   ============================================================ */
.quote-section-head{
  max-width:660px;
  margin:0 auto 44px;
  text-align:center;
}
.quote-section-head .eyebrow{
  display:inline-block;
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--brand);margin-bottom:10px;
}
.quote-section-head h2{
  font-size:clamp(24px, 2.6vw, 34px);
  margin:0 0 10px;
  line-height:1.2;
}
.quote-section-head p{
  font-size:15px;color:var(--muted);
  margin:0;line-height:1.6;
}

/* ============================================================
   AFTER YOU SUBMIT
   ============================================================ */
.quote-after{
  padding:80px 0;
  background:var(--white);
}
.quote-after__list{
  list-style:none;padding:0;margin:0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
  position:relative;
  counter-reset:step;
}
/* Horizontal line behind the circles */
.quote-after__list::before{
  content:"";
  position:absolute;
  top:15px;
  left:8%;
  right:8%;
  height:1px;
  background:var(--line);
  z-index:0;
}
.quote-after__step{
  position:relative;
  text-align:center;
  z-index:1;
}
.quote-after__circle{
  display:inline-flex;
  align-items:center;justify-content:center;
  width:32px;height:32px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--line);
  color:var(--brand);
  font-family:var(--font-display);
  font-size:13px;font-weight:700;
  margin-bottom:14px;
}
.quote-after__label{
  display:block;
  font-size:10.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--muted);
  margin-bottom:10px;
}
.quote-after__step h3{
  font-family:var(--font-display);
  font-size:16px;font-weight:600;
  color:var(--ink);
  margin:0 0 10px;
}
.quote-after__step p{
  font-size:13.5px;
  color:var(--muted);
  line-height:1.6;
  margin:0;
  max-width:26ch;
  margin-left:auto;margin-right:auto;
}

/* ============================================================
   WHY REQUEST FROM US
   ============================================================ */
.quote-why{
  padding:80px 0;
  background:var(--paper);
}
.quote-why__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.quote-why__item{
  background:#fff;
  border:1px solid var(--line);
  border-left:3px solid var(--brand);
  border-radius:var(--radius);
  padding:22px 22px 20px;
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.quote-why__item:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(14,43,66,.08);
}
.quote-why__item h3{
  font-family:var(--font-display);
  font-size:15.5px;font-weight:600;
  color:var(--ink);
  margin:0 0 8px;
}
.quote-why__item p{
  font-size:13.5px;
  color:var(--muted);
  line-height:1.55;
  margin:0;
}

/* ============================================================
   FAQ
   ============================================================ */
.quote-faq{
  padding:80px 0;
  background:var(--white);
}
.quote-faq__wrap{max-width:840px;margin:0 auto}
.quote-faq__list{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.quote-faq__item{
  border-bottom:1px solid var(--line);
}
.quote-faq__item:last-child{border-bottom:0}
.quote-faq__item summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 26px;
  font-family:var(--font-display);
  font-size:15.5px;
  font-weight:600;
  color:var(--ink);
  transition:background .18s var(--ease);
}
.quote-faq__item summary::-webkit-details-marker{display:none}
.quote-faq__item summary:hover{
  background:rgba(26,78,119,.03);
}
.quote-faq__icon{
  display:inline-flex;
  align-items:center;justify-content:center;
  width:26px;height:26px;
  border-radius:50%;
  background:rgba(26,78,119,.07);
  color:var(--brand);
  flex-shrink:0;
  transition:transform .25s var(--ease), background .18s var(--ease);
}
.quote-faq__item[open] .quote-faq__icon{
  transform:rotate(180deg);
  background:var(--brand);
  color:#fff;
}
.quote-faq__item[open] summary{
  color:var(--brand);
}
.quote-faq__body{
  padding:0 26px 22px 26px;
  animation:quoteFaqIn .25s ease;
}
.quote-faq__body p{
  margin:0;
  font-size:14.5px;
  line-height:1.7;
  color:var(--text);
  max-width:70ch;
}
@keyframes quoteFaqIn{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .quote-after__list{grid-template-columns:repeat(2,1fr);gap:34px}
  .quote-after__list::before{display:none}
  .quote-why__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .quote-hero{padding:36px 0 50px}
  .quote-hero__grid{grid-template-columns:1fr;gap:32px}
  .quote-card{position:static;padding:22px 20px}
  .pq-form--tight .pq-row{grid-template-columns:1fr}
}
@media (max-width:640px){
  .quote-after,.quote-why,.quote-faq{padding:56px 0}
  .quote-after__list{grid-template-columns:1fr;gap:28px}
  .quote-why__grid{grid-template-columns:1fr}
  .quote-faq__item summary{padding:16px 18px;font-size:14.5px}
  .quote-faq__body{padding:0 18px 18px}
  .quote-section-head h2{font-size:22px}
}

/* ============================================================
   ABOUT PAGE — self-contained (no dependency on global grids)
   ============================================================ */

/* ---------- Hero ---------- */
.about-hero{
  padding:64px 0 76px;
  background:
    radial-gradient(900px 400px at 10% -10%, rgba(26,78,119,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
}
.about-hero__grid{
  display:grid !important;
  grid-template-columns:1.15fr 1fr !important;
  gap:56px !important;
  align-items:center !important;
}
.about-hero__copy h1{
  font-size:clamp(32px, 4vw, 48px);
  margin:4px 0 18px;
  line-height:1.12;
}
.about-hero__copy .lead{
  font-size:16.5px;
  color:var(--text);
  line-height:1.7;
  margin:0 0 28px;
  max-width:56ch;
}
.about-hero__actions{
  display:flex !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}
.about-hero__visual{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
/* ---------- Hero image ---------- */
.about-hero__visual{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.about-hero__image{
  position:relative;
  width:100%;
  max-width:460px;
  aspect-ratio:1 / 1;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:linear-gradient(160deg,#f0f6fc,#dbe7f4);
  box-shadow:0 24px 60px rgba(14,43,66,.12);
}
.about-hero__image img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .8s var(--ease);
}
.about-hero__image:hover img{transform:scale(1.03)}

.about-hero__image-fallback{
  position:absolute;inset:0;
  display:none;
  align-items:center;justify-content:center;
  color:var(--brand);
}
.about-hero__image--fallback .about-hero__image-fallback{display:flex}

/* Decorative corner accent */
.about-hero__image::after{
  content:"";
  position:absolute;
  right:-40px;bottom:-40px;
  width:160px;height:160px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(199,154,98,.28), transparent 70%);
  pointer-events:none;
}
.about-box__face{color:var(--brand);opacity:.85}

/* ---------- Stats band ---------- */
.about-stats{
  background:var(--brand) !important;
  color:#fff !important;
  padding:34px 0 !important;
  display:block !important;
}
.about-stats__grid{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:24px !important;
}
.about-stats__item{
  text-align:center !important;
  padding:6px 12px !important;
  border-right:1px solid rgba(255,255,255,.15);
}
.about-stats__item:last-child{border-right:0}
.about-stats__item strong{
  display:block !important;
  font-family:var(--font-display);
  font-size:34px !important;
  font-weight:700 !important;
  line-height:1.1;
  margin-bottom:4px;
  color:#fff !important;
}
.about-stats__item span{
  display:block !important;
  font-size:12.5px !important;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:rgba(255,255,255,.75) !important;
}

  /* ---------- What We Do ---------- */
  /* ---------- What We Do — feature cards ---------- */


/* Subtle top brand accent */
.about-feature::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg, var(--brand), transparent 90%);
  opacity:0;
  transition:opacity .25s var(--ease);
}
.about-feature:hover::before{opacity:1}

.about-feature:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 16px 40px rgba(14,43,66,.10) !important;
  border-color:transparent !important;
}

.about-feature__top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  margin-bottom:20px;
}

.about-feature__num{
  font-family:var(--font-display);
  font-size:13px;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--muted);
  opacity:.7;
}

.about-feature__icon{
  width:52px !important;height:52px !important;
  border-radius:14px;
  background:linear-gradient(140deg, rgba(26,78,119,.12), rgba(26,78,119,.05)) !important;
  color:var(--brand) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  transition:background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
}
.about-feature__icon svg{width:26px;height:26px}
.about-feature:hover .about-feature__icon{
  background:linear-gradient(140deg, var(--brand), var(--brand-dark)) !important;
  color:#fff !important;
  transform:scale(1.06) rotate(-3deg);
}

.about-feature h3{
  font-family:var(--font-display);
  font-size:17px !important;
  font-weight:600;
  color:var(--ink) !important;
  margin:0 0 10px !important;
  letter-spacing:-.01em;
}
.about-feature p{
  font-size:13.5px !important;
  color:var(--muted) !important;
  line-height:1.65;
  margin:0 0 20px !important;
  flex-grow:1;
}

.about-feature__link{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px;
  font-size:13px;
  font-weight:600;
  color:var(--brand);
  transition:gap .2s var(--ease), color .2s var(--ease);
  margin-top:auto;
}
.about-feature__link:hover{
  gap:10px;
  color:var(--brand-dark);
}
.about-feature__link svg{transition:transform .2s var(--ease)}
.about-feature__link:hover svg{transform:translateX(2px)}

/* ---------- How We Work (qsteps override for About) ---------- */
.home-section .qsteps{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:32px !important;
  position:relative;
  max-width:1100px;
  margin:0 auto;
}
.home-section .qsteps::before{
  content:"";
  position:absolute;
  top:19px;
  left:calc(12.5% + 24px);
  right:calc(12.5% + 24px);
  height:1px;
  background:var(--line);
  z-index:0;
}
.home-section .qsteps__step{
  position:relative !important;
  z-index:1 !important;
  text-align:left !important;
}
.home-section .qsteps__num{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:38px !important;height:38px !important;
  border-radius:50% !important;
  background:#fff !important;
  border:1px solid var(--line) !important;
  color:var(--brand) !important;
  font-family:var(--font-display);
  font-size:14px !important;
  font-weight:700 !important;
  margin-bottom:18px !important;
}
.home-section .qsteps__label{
  display:block !important;
  font-size:10.5px !important;
  font-weight:700 !important;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--muted) !important;
  margin-bottom:8px !important;
}
.home-section .qsteps__step h3{
  font-family:var(--font-display);
  font-size:17px !important;
  font-weight:600 !important;
  color:var(--ink) !important;
  margin:0 0 8px !important;
  line-height:1.3;
}
.home-section .qsteps__step p{
  font-size:13.5px !important;
  color:var(--muted) !important;
  line-height:1.6;
  margin:0 !important;
}





/* ---------- Testimonials — same as homepage ---------- */
.home-section .quotes{
  display:grid !important;
  grid-template-columns:repeat(3, 1fr) !important;
  gap:24px !important;
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .about-features{grid-template-columns:repeat(2, 1fr) !important}
  .about-values{grid-template-columns:repeat(2, 1fr) !important}
  .home-section .qsteps{grid-template-columns:repeat(2, 1fr) !important;gap:32px 28px !important}
  .home-section .qsteps::before{display:none}
  .home-section .quotes{grid-template-columns:repeat(2, 1fr) !important}
}
@media (max-width:960px){
  .about-hero{padding:44px 0 56px}
  .about-hero__grid{grid-template-columns:1fr !important;gap:36px !important}
  .about-hero__visual{order:-1}
  .about-box{width:220px;height:220px}
  .about-stats__grid{grid-template-columns:repeat(2, 1fr) !important;gap:20px !important}
  .about-stats__item:nth-child(2){border-right:0}
}
@media (max-width:640px){
  .about-features,
  .about-values{grid-template-columns:1fr !important;gap:16px !important}
  .home-section .qsteps,
  .home-section .quotes{grid-template-columns:1fr !important;gap:20px !important}
  .about-stats__item strong{font-size:26px !important}
  .about-stats__item span{font-size:11px !important}
}

/* ============================================================
   ABOUT — Numbered Steps (What We Do / How We Work)
   ============================================================ */
.about-steps{
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:16px;
  flex-wrap:nowrap;
}

.about-steps__item{
  flex:1 1 0;
  min-width:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:28px 24px;
  display:flex;
  flex-direction:column;
  transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.about-steps__item:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(14,43,66,.08);
  border-color:transparent;
}

.about-steps__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;height:40px;
  border-radius:50%;
  background:var(--brand);
  color:#fff;
  font-family:var(--font-display);
  font-size:16px;
  font-weight:700;
  margin-bottom:16px;
  flex-shrink:0;
}

.about-steps__item h3{
  font-family:var(--font-display);
  font-size:16.5px;
  font-weight:600;
  color:var(--ink);
  margin:0 0 8px;
  line-height:1.3;
}
.about-steps__item p{
  font-size:13.5px;
  color:var(--muted);
  line-height:1.6;
  margin:0;
}

/* Arrow between cards */
.about-steps__arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--brand);
  opacity:.55;
  flex-shrink:0;
  align-self:center;
}

/* ============================================================
   ABOUT — Our Values (3 cards)
   ============================================================ */
.about-values{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  max-width:1000px;
  margin:0 auto;
}

.about-value{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:32px 28px;
  text-align:center;
  transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.about-value:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(14,43,66,.09);
  border-color:transparent;
}

.about-value__icon{
  width:56px;height:56px;
  border-radius:14px;
  background:rgba(26,78,119,.08);
  color:var(--brand);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 20px;
}
.about-value__icon svg{width:26px;height:26px}

.about-value h3{
  font-family:var(--font-display);
  font-size:17px;
  font-weight:600;
  color:var(--ink);
  margin:0 0 10px;
}
.about-value p{
  font-size:13.5px;
  color:var(--muted);
  line-height:1.65;
  margin:0;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  .about-steps{flex-wrap:wrap;gap:14px}
  .about-steps__item{flex:1 1 calc(50% - 7px);min-width:calc(50% - 7px)}
  .about-steps__arrow{display:none}
  .about-values{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width:640px){
  .about-steps__item{flex:1 1 100%;min-width:0}
  .about-values{grid-template-columns:1fr;gap:16px}
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */

/* ---------- Hero (split: info + form) ---------- */
.contact-hero{
  padding:56px 0 72px;
  background:
    radial-gradient(900px 400px at 10% -10%, rgba(26,78,119,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
}
.contact-hero__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:start;
}

/* ---------- Left: info column ---------- */
.contact-info{padding-top:6px}
.contact-info h1{
  font-size:clamp(28px, 3.4vw, 42px);
  margin:4px 0 16px;
  line-height:1.15;
}
.contact-info__lead{
  font-size:15.5px;
  color:var(--text);
  line-height:1.65;
  margin:0 0 28px;
  max-width:52ch;
}

.contact-info__list{
  list-style:none;padding:0;margin:0 0 24px;
  display:flex;flex-direction:column;gap:18px;
}
.contact-info__list li{
  display:flex;gap:14px;align-items:flex-start;
}
/* ============================================================
   CONTACT INFO ICONS — force-centered, bulletproof
   ============================================================ */
.contact-info__icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:8px !important;
  background:rgba(26,78,119,.08) !important;
  color:var(--brand) !important;
  flex-shrink:0 !important;
  line-height:0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  text-align:center !important;
  vertical-align:middle !important;
}

.contact-info__icon svg{
  display:block !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
  padding:0 !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;
  flex-shrink:0 !important;
  vertical-align:middle !important;
}

/* Each list row should align icon to the top of the text block */
.contact-info__list li{
  display:flex !important;
  gap:14px !important;
  align-items:flex-start !important;
}
.contact-info__list strong{
  display:block;
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--muted);
  margin-bottom:4px;
}
.contact-info__list a,
.contact-info__list span{
  display:block;
  font-size:14.5px;color:var(--ink);
  line-height:1.5;
}
.contact-info__list a:hover{color:var(--brand)}

.contact-info__wa{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 18px;
  background:#25D366;color:#fff;
  border-radius:var(--radius);
  font-size:13.5px;font-weight:600;
  transition:all .2s var(--ease);
}
.contact-info__wa:hover{
  background:#1fb456;color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(37,211,102,.28);
}

/* ---------- Right: form card ---------- */
.contact-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:32px 36px 28px;
  box-shadow:0 12px 40px rgba(14,43,66,.08);
}
.contact-card__head{margin-bottom:22px}
.contact-card__head h2{font-size:22px;margin:0 0 4px}
.contact-card__head p{font-size:12.5px;color:var(--muted);margin:0}
.contact-card__head em{color:var(--brand);font-style:normal}

/* Form */
.cp-form{display:flex;flex-direction:column;gap:16px}
.cp-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cp-field{display:flex;flex-direction:column;gap:5px}
.cp-field > span{
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;
  color:var(--ink);
}
.cp-field > span em{color:var(--brand);font-style:normal}
.cp-field > span em.cp-opt{
  color:var(--muted);font-weight:500;
  text-transform:none;letter-spacing:0;font-size:10.5px;
}
.cp-field input,
.cp-field textarea{
  width:100%;
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  font-family:inherit;font-size:13.5px;color:var(--ink);
  background:#fff;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.cp-field input::placeholder,
.cp-field textarea::placeholder{color:#9aa8bb}
.cp-field input:focus,
.cp-field textarea:focus{
  outline:0;border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,78,119,.12);
}
.cp-field textarea{resize:vertical;min-height:120px;font-family:inherit}

.cp-input-icon{position:relative}
.cp-input-icon input{padding-right:36px}
.cp-input-icon span{
  position:absolute;right:13px;top:50%;transform:translateY(-50%);
  color:var(--brand);font-size:14px;pointer-events:none;
}

.cp-submit{
  width:100%;justify-content:center;
  padding:14px 20px;font-size:14.5px;
  margin-top:6px;
}
.cp-form__note{
  font-size:12px;color:var(--muted);
  text-align:center;margin:6px 0 0;
}
.cp-form__note strong{color:var(--brand)}

/* Alerts */
.cp-alert{
  padding:10px 14px;font-size:13px;
  border-radius:var(--radius);margin:0 0 14px;
}
.cp-alert--error{
  background:#fcecec;color:#b3261e;
  border-left:3px solid var(--danger);
}
.cp-alert ul{margin:0;padding-left:18px}

/* ============================================================
   CONTACT FAQ (cfaq-)
   ============================================================ */
.cfaq__wrap{max-width:840px;margin:0 auto}
.cfaq{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 4px 14px rgba(14,43,66,.04);
}
.cfaq__item{border-bottom:1px solid var(--line)}
.cfaq__item:last-child{border-bottom:0}
.cfaq__item summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;
  padding:22px 28px;
  font-family:var(--font-display);
  font-size:15.5px;font-weight:600;
  color:var(--ink);
  transition:background .18s var(--ease), color .18s var(--ease);
}
.cfaq__item summary::-webkit-details-marker{display:none}
.cfaq__item summary:hover{
  background:rgba(26,78,119,.03);
  color:var(--brand);
}
.cfaq__item[open] summary{
  color:var(--brand);
  background:rgba(26,78,119,.03);
}
.cfaq__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:rgba(26,78,119,.07);color:var(--brand);
  flex-shrink:0;
  transition:background .18s var(--ease), color .18s var(--ease);
}
.cfaq__icon svg{transition:transform .25s var(--ease)}
.cfaq__item[open] .cfaq__icon{background:var(--brand);color:#fff}
.cfaq__item[open] .cfaq__icon svg{transform:rotate(180deg)}
.cfaq__body{padding:0 28px 24px}
.cfaq__body p{
  margin:0;font-size:14.5px;line-height:1.7;
  color:var(--text);max-width:72ch;
}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .contact-hero{padding:36px 0 50px}
  .contact-hero__grid{grid-template-columns:1fr;gap:36px}
  .contact-card{padding:24px 22px}
  .cp-row{grid-template-columns:1fr}
  .cfaq__item summary{padding:18px 20px;font-size:15px;gap:16px}
  .cfaq__body{padding:0 20px 20px}
}

/* ============================================================
   BLOG — Index & Single (4-col grid + sidebar layout)
   ============================================================ */

/* ---------- Shared meta ---------- */
.blog-meta{
  font-size:12.5px;
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:6px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:10px;
}
.blog-meta__sep{opacity:.5}
.blog-meta time{color:var(--brand);font-weight:600}

/* ---------- Blog index hero ---------- */
.blog-hero{
  padding:56px 0 48px;
  background:
    radial-gradient(900px 400px at 10% -10%, rgba(26,78,119,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
  text-align:center;
}
.blog-hero__inner{max-width:720px;margin:0 auto}
.blog-hero h1{
  font-size:clamp(30px, 4vw, 46px);
  margin:6px 0 14px;
  line-height:1.12;
}
.blog-hero__lead{
  font-size:16px;
  color:var(--text);
  line-height:1.65;
  margin:0;
  max-width:60ch;
  margin-left:auto;margin-right:auto;
}

/* ---------- Blog grid (4 columns) ---------- */
.blog-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
}

.blog-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.blog-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 40px rgba(14,43,66,.09);
  border-color:transparent;
}

.blog-card__media{
  display:block;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:var(--paper);
  position:relative;
}
.blog-card__media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s var(--ease);
}
.blog-card:hover .blog-card__media img{transform:scale(1.06)}

.blog-card__ph{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  color:#b8c7db;
}
.blog-card__ph svg{width:50%;height:auto}

.blog-card__body{
  padding:20px 22px 22px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex-grow:1;
}
.blog-card__title{
  font-size:16px;
  line-height:1.35;
  margin:0;
  font-weight:600;
}
.blog-card__title a{color:var(--ink);display:block}
.blog-card__title a:hover{color:var(--brand)}

.blog-card__excerpt{
  font-size:13.5px;
  color:var(--muted);
  line-height:1.6;
  margin:0;
  flex-grow:1;
}

.blog-card__cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13.5px;
  font-weight:600;
  color:var(--brand);
  margin-top:auto;
  transition:gap .2s var(--ease), color .2s var(--ease);
}
.blog-card:hover .blog-card__cta{gap:10px;color:var(--brand-dark)}

/* ============================================================
   BLOG SINGLE — Article + Sidebar
   ============================================================ */
.post-layout{
  padding:48px 0 72px;
  background:linear-gradient(180deg, var(--paper) 0%, #fff 40%);
}
.post-layout__grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 320px;
  gap:48px;
  align-items:start;
}

/* ---------- Main article ---------- */
.post-main{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:36px 40px 32px;
  box-shadow:0 4px 14px rgba(14,43,66,.04);
}
.post-head h1{
  font-size:clamp(26px, 3.2vw, 38px);
  line-height:1.2;
  margin:6px 0 18px;
}
.post-head__lead{
  font-size:16.5px;
  color:var(--muted);
  line-height:1.65;
  margin:0 0 24px;
  max-width:64ch;
}
.post-head__image{
  margin:8px 0 28px;
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.post-head__image img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}

.post-body{
  font-size:16.5px;
  line-height:1.75;
}
.post-body h2{font-size:24px;margin:32px 0 14px}
.post-body h3{font-size:19px;margin:26px 0 12px}
.post-body p{margin:0 0 18px}
.post-body ul,
.post-body ol{margin:0 0 20px;padding-left:22px}
.post-body li{margin:6px 0}
.post-body a{color:var(--brand);text-decoration:underline}
.post-body img{border-radius:var(--radius);margin:24px 0}
.post-body blockquote{
  margin:24px 0;
  padding:18px 24px;
  border-left:3px solid var(--brand);
  background:var(--paper);
  border-radius:var(--radius);
  font-style:italic;
  color:var(--ink);
}

/* Share */
.post-share{
  margin-top:40px;
  padding-top:24px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}
.post-share__label{
  font-size:12.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}
.post-share__links{display:flex;gap:10px}
.post-share__links a{
  display:inline-flex;
  align-items:center;justify-content:center;
  width:38px;height:38px;
  border-radius:50%;
  background:var(--paper);
  color:var(--brand);
  transition:background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);
}
.post-share__links a:hover{
  background:var(--brand);
  color:#fff;
  transform:translateY(-2px);
}

/* ---------- Sidebar ---------- */
.post-side{
  position:sticky;
  top:96px;
  display:flex;
  flex-direction:column;
  gap:22px;
}
.side-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:22px 22px 20px;
  box-shadow:0 4px 14px rgba(14,43,66,.04);
}
.side-card__title{
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--ink);
  margin:0 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid var(--paper);
}

/* Recent posts in sidebar */
.side-posts{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.side-post{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:12px;
  align-items:center;
  color:var(--ink);
}
.side-post:hover{color:var(--brand)}
.side-post__thumb{
  width:64px;height:64px;
  border-radius:8px;
  overflow:hidden;
  background:var(--paper);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  color:#b8c7db;
}
.side-post__thumb img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.side-post__thumb svg{width:60%;height:auto}
.side-post__date{
  display:block;
  font-size:11px;
  font-weight:600;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:4px;
}
.side-post__title{
  display:block;
  font-family:var(--font-display);
  font-size:13.5px;
  font-weight:600;
  line-height:1.4;
  color:var(--ink);
}

/* CTA card */
.side-card--cta{
  background:linear-gradient(140deg, var(--brand), var(--brand-dark));
  border-color:transparent;
  color:#fff;
}
.side-card--cta .side-card__title{
  color:#fff;
  border-bottom-color:rgba(255,255,255,.2);
}
.side-card__text{
  font-size:13.5px;
  color:rgba(255,255,255,.85);
  line-height:1.6;
  margin:0 0 18px;
}
.side-card--cta .btn--primary{
  background:#fff;
  color:var(--brand);
  box-shadow:none;
}
.side-card--cta .btn--primary:hover{
  background:var(--paper);
  color:var(--brand-dark);
}
.side-card__wa{
  display:block;
  text-align:center;
  margin-top:12px;
  font-size:12.5px;
  color:rgba(255,255,255,.85);
}
.side-card__wa:hover{color:#fff}

/* Categories list */
.side-cats{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.side-cats a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:9px 10px;
  border-radius:var(--radius);
  font-size:13.5px;
  color:var(--ink);
  transition:background .18s var(--ease), color .18s var(--ease);
}
.side-cats a:hover{
  background:rgba(26,78,119,.05);
  color:var(--brand);
}
.side-cats svg{opacity:.5}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .blog-grid{grid-template-columns:repeat(3, 1fr)}
}
@media (max-width:900px){
  .blog-grid{grid-template-columns:repeat(2, 1fr)}
  .post-layout__grid{grid-template-columns:1fr;gap:32px}
  .post-side{position:static}
  .post-main{padding:28px 24px}
}
@media (max-width:600px){
  .blog-grid{grid-template-columns:1fr;gap:18px}
  .blog-hero{padding:40px 0 32px}
  .post-layout{padding:32px 0 56px}
  .post-body{font-size:16px}
  .post-share{flex-direction:column;align-items:flex-start;gap:12px}
}
/* ============================================================
   BLOG — Author box (in single post)
   ============================================================ */
.post-author{
  margin-top:40px;
  padding:24px;
  background:var(--paper);
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
}

.post-author__link{
  display:flex;
  align-items:center;
  gap:16px;
  color:var(--ink);
  transition:color .18s var(--ease);
}
.post-author__link:hover{color:var(--brand)}

.post-author__avatar{
  width:64px;height:64px;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(140deg, var(--brand), var(--brand-dark));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-family:var(--font-display);
  font-size:24px;
  font-weight:700;
}
.post-author__avatar img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}

.post-author__body{
  flex:1;
  min-width:0;
}
.post-author__eyebrow{
  display:block;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:4px;
}
.post-author__name{
  display:block;
  font-family:var(--font-display);
  font-size:17px;
  font-weight:700;
  color:var(--ink);
  margin-bottom:2px;
}
.post-author__count{
  display:block;
  font-size:12.5px;
  color:var(--muted);
}

.post-author__arrow{
  flex-shrink:0;
  width:38px;height:38px;
  border-radius:50%;
  background:#fff;
  border:1px solid var(--line);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--brand);
  transition:background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);
}
.post-author__link:hover .post-author__arrow{
  background:var(--brand);
  color:#fff;
  transform:translateX(2px);
}

.post-author__bio{
  margin:16px 0 0;
  padding-top:16px;
  border-top:1px solid var(--line);
  font-size:14px;
  line-height:1.65;
  color:var(--text);
}

/* ============================================================
   AUTHOR ARCHIVE PAGE
   ============================================================ */
.author-hero{
  padding:56px 0 48px;
  background:
    radial-gradient(900px 400px at 10% -10%, rgba(26,78,119,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
}
.author-hero__inner{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:32px;
  align-items:center;
  max-width:820px;
  margin:0 auto;
}

.author-hero__avatar{
  width:120px;height:120px;
  border-radius:50%;
  overflow:hidden;
  background:linear-gradient(140deg, var(--brand), var(--brand-dark));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-display);
  font-size:44px;
  font-weight:700;
  box-shadow:0 16px 40px rgba(14,43,66,.12);
}
.author-hero__avatar img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}

.author-hero__info h1{
  font-size:clamp(26px, 3.2vw, 38px);
  line-height:1.15;
  margin:4px 0 12px;
}
.author-hero__bio{
  font-size:15.5px;
  color:var(--text);
  line-height:1.65;
  margin:0 0 14px;
  max-width:60ch;
}
.author-hero__meta{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:13.5px;
  color:var(--muted);
  flex-wrap:wrap;
}
.author-hero__meta strong{
  color:var(--brand);
  font-family:var(--font-display);
  font-size:16px;
  font-weight:700;
}
.author-hero__meta a{color:var(--brand);font-weight:600}
.author-hero__meta a:hover{color:var(--brand-dark)}
.author-hero__sep{
  width:4px;height:4px;
  border-radius:50%;
  background:var(--line);
  display:inline-block;
}

/* Responsive */
@media (max-width:768px){
  .author-hero__inner{
    grid-template-columns:1fr;
    text-align:center;
    gap:20px;
    justify-items:center;
  }
  .author-hero__avatar{width:96px;height:96px;font-size:36px}
  .author-hero__meta{justify-content:center}
  .post-author__link{flex-wrap:wrap}
  .post-author__arrow{display:none}
}

/* ============================================================
   POLICY PAGES — Privacy, Terms, Refund, Shipping
   ============================================================ */

/* ---------- Hero ---------- */
.policy-hero{
  padding:52px 0 44px;
  background:
    radial-gradient(900px 400px at 10% -10%, rgba(26,78,119,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
}
.policy-hero__inner{max-width:820px}
.policy-hero h1{
  font-size:clamp(28px, 3.6vw, 42px);
  line-height:1.15;
  margin:6px 0 14px;
}
.policy-hero__lead{
  font-size:16px;
  color:var(--muted);
  line-height:1.65;
  margin:0;
  max-width:62ch;
}

/* ---------- Layout: sidebar + body ---------- */
.policy-layout{
  padding:56px 0 72px;
  background:#fff;
}
.policy-layout__grid{
  display:grid;
  grid-template-columns:280px minmax(0, 1fr);
  gap:56px;
  align-items:start;
}

/* ---------- Sidebar TOC ---------- */
.policy-side{
  position:sticky;
  top:96px;
}
.policy-toc{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:24px 22px 20px;
}
.policy-toc__title{
  font-size:11.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--muted);
  margin:0 0 14px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.policy-toc__list{
  list-style:none;
  padding:0;
  margin:0 0 20px;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.policy-toc__list a{
  display:block;
  padding:8px 12px;
  border-radius:var(--radius);
  font-size:13.5px;
  color:var(--text);
  line-height:1.4;
  transition:background .18s var(--ease), color .18s var(--ease);
}
.policy-toc__list a:hover{
  background:#fff;
  color:var(--brand);
  padding-left:14px;
}
.policy-toc__empty{
  font-size:13px;
  color:var(--muted);
  margin:0 0 20px;
}

.policy-toc__contact{
  padding-top:16px;
  border-top:1px solid var(--line);
  font-size:13px;
  color:var(--muted);
}
.policy-toc__contact p{margin:0 0 6px}
.policy-toc__contact a{
  color:var(--brand);
  font-weight:600;
}

/* ---------- Main article ---------- */
.policy-main{
  min-width:0;
}

.policy-body{
  font-size:16px;
  line-height:1.75;
  color:var(--text);
}
.policy-body h2{
  font-family:var(--font-display);
  font-size:24px;
  font-weight:600;
  color:var(--ink);
  margin:40px 0 16px;
  padding-top:8px;
  scroll-margin-top:100px;         /* offset for sticky header */
  position:relative;
}
.policy-body h2:first-child{margin-top:0}
.policy-body h2::before{
  content:"";
  position:absolute;
  left:-20px;top:10px;
  width:3px;height:22px;
  background:var(--brand);
  border-radius:2px;
}
.policy-body h3{
  font-family:var(--font-display);
  font-size:19px;
  font-weight:600;
  color:var(--ink);
  margin:28px 0 12px;
}
.policy-body p{margin:0 0 18px}
.policy-body p:last-child{margin-bottom:0}
.policy-body ul,
.policy-body ol{margin:0 0 20px;padding-left:22px}
.policy-body li{margin:8px 0}
.policy-body a{
  color:var(--brand);
  text-decoration:underline;
  text-underline-offset:3px;
}
.policy-body a:hover{color:var(--brand-dark)}
.policy-body strong{color:var(--ink);font-weight:600}
.policy-body blockquote{
  margin:24px 0;
  padding:18px 22px;
  background:var(--paper);
  border-left:3px solid var(--brand);
  border-radius:var(--radius);
  font-size:15.5px;
  color:var(--ink);
  font-style:italic;
}

/* ---------- Footer strip ---------- */
.policy-footer{
  margin-top:56px;
  padding-top:28px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.policy-footer__updated{
  font-size:13px;
  color:var(--muted);
  margin:0;
}
.policy-footer__updated strong{color:var(--ink)}

.policy-footer__help{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:14px;
  color:var(--text);
}

/* ---------- Other policies cards ---------- */
/* ============================================================
   POLICY CARDS (privacy, terms, refund, shipping)
   ============================================================ */
.policy-cards{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
}

.policy-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:flex-start;
  color:var(--ink);
  transition:transform .22s var(--ease),
             box-shadow .22s var(--ease),
             border-color .22s var(--ease);
}
.policy-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px rgba(14,43,66,.08);
  border-color:transparent;
  color:var(--ink);
}

.policy-card__icon{
  width:48px;height:48px;
  border-radius:12px;
  background:rgba(26,78,119,.08);
  color:var(--brand);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.policy-card__icon svg{width:24px;height:24px}

.policy-card__title{
  font-family:var(--font-display);
  font-size:16.5px;
  font-weight:600;
  color:var(--ink);
}

.policy-card__cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:600;
  color:var(--brand);
  margin-top:auto;
  transition:gap .2s var(--ease);
}
.policy-card:hover .policy-card__cta{gap:10px}



/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .policy-cards{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width:600px){
  .policy-cards{grid-template-columns:1fr;gap:14px}
}

/* ============================================================
   404 PAGE
   ============================================================ */
.error-page{
  padding:80px 0 100px;
  text-align:center;
  background:linear-gradient(180deg, #fff 0%, var(--paper) 100%);
}
.error-page__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:120px;height:120px;
  border-radius:50%;
  background:rgba(26,78,119,.08);
  color:var(--brand);
  margin-bottom:28px;
}
.error-page__icon svg{width:64px;height:64px}
.error-page__title{
  font-size:clamp(28px, 3.6vw, 42px);
  margin:0 0 14px;
}
.error-page__text{
  font-size:16px;
  color:var(--muted);
  line-height:1.65;
  max-width:52ch;
  margin:0 auto 28px;
}
.error-page__actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:32px;
}
.error-page__links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  font-size:14px;
  color:var(--muted);
}
.error-page__links a{
  color:var(--brand);
  font-weight:600;
}
.error-page__links a:hover{color:var(--brand-dark)}
.error-page__links span{opacity:.4}

/* WhatsApp link below forms */
.qp-form__wa{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:14px;
  font-size:13px;
  font-weight:600;
  color:var(--brand);
  text-decoration:underline;
  text-decoration-color:rgba(26,78,119,.3);
  text-underline-offset:4px;
}
.qp-form__wa:hover{
  color:var(--brand-dark);
  text-decoration-color:var(--brand-dark);
}
/* ============================================================
   SAMPLE REQUEST PAGE (qp-form + qwhy) — bulletproof
   ============================================================ */

/* ---------- Split hero: copy left, form right ---------- */
.quote-hero{
  padding:52px 0 64px;
  background:
    radial-gradient(900px 400px at 10% -20%, rgba(26,78,119,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  border-bottom:1px solid var(--line);
}
.quote-hero__grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:56px !important;
  align-items:start !important;
}

/* Left column */
.quote-copy{padding-top:6px}
.quote-copy__eyebrow{
  display:inline-block;
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--brand);margin-bottom:14px;
}
.quote-copy h1{
  font-size:clamp(30px, 3.6vw, 46px);
  margin:0 0 18px;line-height:1.12;
}
.quote-copy__lead{
  font-size:15.5px;color:var(--text);line-height:1.65;
  margin:0 0 30px;max-width:52ch;
}

.quote-steps{
  list-style:none;padding:0;margin:0 0 28px;
  display:flex !important;flex-direction:column !important;gap:18px !important;
}
.quote-steps li{display:flex !important;gap:16px !important;align-items:flex-start !important}
.quote-steps__num{
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  width:30px !important;height:30px !important;border-radius:50% !important;
  background:rgba(26,78,119,.08) !important;color:var(--brand) !important;
  font-family:var(--font-display);font-weight:700;font-size:12px;
  flex-shrink:0;margin-top:2px;
}
.quote-steps strong{
  display:block;font-family:var(--font-display);
  font-size:15px;font-weight:600;color:var(--ink);margin-bottom:2px;
}
.quote-steps span{
  display:block;font-size:13.5px;color:var(--muted);line-height:1.5;
}

.quote-talk{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:20px 22px;max-width:340px;
}
.quote-talk__label{
  font-size:11.5px;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);margin:0 0 12px;
}
.quote-talk__row{
  display:flex !important;align-items:center !important;gap:10px !important;
  padding:6px 0;font-size:14px;font-weight:600;color:var(--ink);
}
.quote-talk__row:hover{color:var(--brand)}
.quote-talk__row svg{color:var(--brand);flex-shrink:0}

/* ---------- Right: form card ---------- */
.quote-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:28px 32px 26px;
  box-shadow:0 12px 40px rgba(14,43,66,.08);
  position:sticky;
  top:96px;
  max-height:calc(100vh - 120px);
  overflow-y:auto;
}
.quote-card__head{margin-bottom:20px}
.quote-card__head h2{font-size:22px;margin:0 0 4px}
.quote-card__head p{font-size:12.5px;color:var(--muted);margin:0}
.quote-card__head em{color:var(--brand);font-style:normal}

/* ---------- Form: qp-form ---------- */
.qp-form{
  display:flex !important;
  flex-direction:column !important;
  gap:20px !important;
}

.qp-row{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
}

.qp-field{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
}
.qp-field > span{
  font-size:11.5px !important;
  font-weight:700 !important;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--ink);
}
.qp-field > span em{color:var(--brand);font-style:normal}
.qp-field > span em.qp-opt{
  color:var(--muted);font-weight:500;text-transform:none;
  letter-spacing:0;font-size:10.5px;
}
.qp-field input,
.qp-field select,
.qp-field textarea{
  width:100% !important;
  padding:11px 13px !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  font-family:inherit !important;
  font-size:13.5px !important;
  color:var(--ink);
  background:#fff;
  box-sizing:border-box !important;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.qp-field input::placeholder,
.qp-field textarea::placeholder{color:#9aa8bb}
.qp-field input:focus,
.qp-field select:focus,
.qp-field textarea:focus{
  outline:0;border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(26,78,119,.12);
}
.qp-field textarea{
  resize:vertical;
  min-height:64px;
  font-family:inherit;
}
.qp-field select{
  appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%234f6272' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:34px;
  cursor:pointer;
}

.qp-input-icon{position:relative}
.qp-input-icon input{padding-right:36px}
.qp-input-icon span{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  color:var(--brand);font-size:14px;pointer-events:none;
}

/* Sections */
.qp-section{
  border:0;
  padding:0;
  margin:0;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
}
.qp-section__legend{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  font-size:11px !important;
  font-weight:700 !important;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--ink);
  padding-bottom:8px;
  border-bottom:1px solid var(--paper);
  margin-bottom:2px;
  width:100%;
  box-sizing:border-box;
}
.qp-section__num{
  width:18px;height:18px;border-radius:50%;
  background:var(--brand);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:9.5px;font-weight:700;
}

/* Consent */
.qp-consent{
  display:flex !important;
  gap:9px !important;
  align-items:flex-start !important;
  font-size:12px;
  color:var(--muted);
  line-height:1.5;
  margin-top:4px;
}
.qp-consent input{margin-top:2px;accent-color:var(--brand);flex-shrink:0}
.qp-consent a{color:var(--brand);text-decoration:underline}

/* Submit */
.qp-submit{
  width:100% !important;
  justify-content:center !important;
  padding:13px 20px !important;
  font-size:14px !important;
  margin-top:4px;
}
.qp-form__note{
  font-size:12px;
  color:var(--muted);
  text-align:center;
  margin:6px 0 0;
}
.qp-form__note strong{color:var(--brand)}

.qp-alert{
  padding:10px 14px;font-size:13px;
  border-radius:var(--radius);margin:0 0 14px;
}
.qp-alert--error{
  background:#fcecec;color:#b3261e;
  border-left:3px solid var(--danger);
}
.qp-alert ul{margin:0;padding-left:18px}

.qp-form__wa{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:14px;
  font-size:13px;
  font-weight:600;
  color:var(--brand);
  text-decoration:underline;
  text-decoration-color:rgba(26,78,119,.3);
  text-underline-offset:4px;
}
.qp-form__wa:hover{color:var(--brand-dark);text-decoration-color:var(--brand-dark)}

/* ---------- Why Sample: 4 cards in a row ---------- */
.qwhy{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr) !important;
  gap:20px !important;
}
.qwhy__item{
  background:#fff !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius-lg) !important;
  padding:26px 24px !important;
  transition:transform .22s var(--ease),
             box-shadow .22s var(--ease),
             border-color .22s var(--ease);
}
.qwhy__item:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 12px 28px rgba(14,43,66,.08) !important;
  border-color:transparent !important;
}
.qwhy__item h3{
  font-family:var(--font-display);
  font-size:16px !important;
  font-weight:600 !important;
  color:var(--ink) !important;
  margin:0 0 10px !important;
}
.qwhy__item p{
  font-size:13.5px !important;
  color:var(--muted) !important;
  line-height:1.6;
  margin:0 !important;
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .qwhy{grid-template-columns:repeat(2, 1fr) !important}
}
@media (max-width:960px){
  .quote-hero{padding:36px 0 50px}
  .quote-hero__grid{grid-template-columns:1fr !important;gap:36px !important}
  .quote-card{position:static;max-height:none;padding:22px 20px}
  .qp-row{grid-template-columns:1fr !important}
}
@media (max-width:640px){
  .qwhy{grid-template-columns:1fr !important;gap:14px !important}
}

/* Policy hero with image */
.policy-hero--has-image .policy-hero__inner{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:48px;
  align-items:center;
  max-width:100%;
}
.policy-hero__image{
  aspect-ratio:4/3;
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:0 12px 40px rgba(14,43,66,.10);
}
.policy-hero__image img{
  width:100%;height:100%;object-fit:cover;display:block;
}
@media (max-width:900px){
  .policy-hero--has-image .policy-hero__inner{
    grid-template-columns:1fr;
    gap:28px;
  }
  .policy-hero__image{
    aspect-ratio:16/9;
    order:-1;   /* image on top on mobile */
  }
}

/* Homepage industry tile — image support */
.home-industry__icon img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}
.home-industry__icon{
  overflow: hidden;
}
.home-category__image-placeholder{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;
  color:var(--brand);opacity:.5;
}

/* ============================================================
   CATEGORY INDEX — Hero + Tabs + Grid
   ============================================================ */

/* Compact hero for /category/ */
.cat-index-hero{
  padding:56px 0 40px;
  background:
    radial-gradient(900px 400px at 10% -10%, rgba(26,78,119,.08), transparent 60%),
    linear-gradient(180deg, #fff 0%, var(--paper) 100%);
  text-align:center;
}
.cat-index-hero__inner{max-width:680px;margin:0 auto}
.cat-index-hero h1{
  font-size:clamp(30px, 4vw, 44px);
  margin:6px 0 14px;
  line-height:1.12;
}
.cat-index-hero__lead{
  font-size:16px;
  color:var(--muted);
  line-height:1.65;
  margin:0;
}

/* Tab bar */
.cat-tabs-bar{
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:16px 0;
  position:sticky;
  top:74px;
  z-index:20;
  box-shadow:0 1px 0 rgba(14,43,66,.04);
}
.cat-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:0 4px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.cat-tabs::-webkit-scrollbar{display:none}

.cat-tab{
  display:inline-flex;
  align-items:center;
  padding:10px 18px;
  border-radius:999px;
  background:var(--paper);
  color:var(--ink);
  font-size:13.5px;
  font-weight:600;
  white-space:nowrap;
  border:1px solid transparent;
  transition:all .18s var(--ease);
  flex-shrink:0;
}
.cat-tab:hover{
  background:#e5ecf5;
  color:var(--brand);
}
.cat-tab.is-active{
  background:var(--brand);
  color:#fff;
  border-color:var(--brand);
}

/* Responsive */
@media (max-width:960px){
  .cat-tabs-bar{top:0}
  .cat-index-hero{padding:40px 0 32px}
}
@media (max-width:640px){
  .cat-tab{padding:8px 14px;font-size:13px}
}

/* ============================================================
   CONTACT PAGE — extra sections
   ============================================================ */

/* Packaging Solution section */
.contact-solution{
  padding:72px 0;
  background:var(--white);
}
.contact-solution__head{
  margin-bottom:36px;
}
.contact-solution__body{
  font-size:16.5px;
  line-height:1.75;
  color:var(--text);
  max-width:760px;
  margin:0 auto;
}
.contact-solution__body .lead{
  font-size:18px;
  font-weight:500;
  color:var(--ink);
  line-height:1.6;
  margin-bottom:22px;
  padding-left:20px;
  border-left:3px solid var(--brand);
}
.contact-solution__body p{
  margin:0 0 18px;
}
.contact-solution__body p:last-child{
  margin-bottom:0;
}

/* FAQ section wrapper background */
.contact-faq-section{
  padding:72px 0;
}

/* Let's Get Started */
.contact-start{
  padding:72px 0 88px;
  background:linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
  color:#fff;
}
.contact-start__inner{
  max-width:720px;
  margin:0 auto;
  text-align:center;
}
.contact-start .eyebrow{
  color:#a9c2e0;
}
.contact-start h2{
  color:#fff;
  font-size:clamp(26px, 3vw, 36px);
  margin:6px 0 20px;
  line-height:1.2;
}
.contact-start__lead{
  font-size:16px;
  color:rgba(255,255,255,.85);
  line-height:1.75;
  margin:0 0 16px;
}
.contact-start__lead:last-of-type{
  margin-bottom:26px;
}
.contact-start__actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.contact-start .btn--primary{
  background:#fff;
  color:var(--brand);
}
.contact-start .btn--primary:hover{
  background:var(--paper);
  color:var(--brand-dark);
}
.contact-start .btn--ghost{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.4);
}
.contact-start .btn--ghost:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
  border-color:#fff;
}

/* Responsive */
@media (max-width:640px){
  .contact-solution,
  .contact-faq-section,
  .contact-start{padding:52px 0 60px}
  .contact-solution__body{font-size:15.5px}
  .contact-solution__body .lead{font-size:16.5px}
  .contact-start__actions .btn{width:100%;justify-content:center}
}
/* ============================================================
   CATEGORY PAGE — Solutions, Benefits, FAQ
   ============================================================ */

.cat-solutions{
  padding: 72px 0;
}
/* ============================================================
   CATEGORY — Solutions image cards
   ============================================================ */
.cat-solutions__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
}
.cat-solution--card{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  padding: 0;
  display: flex;
  flex-direction: column;
  transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.cat-solution--card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(14,43,66,.10);
  border-color: transparent;
}
.cat-solution__img{
  aspect-ratio: 16 / 10;
  background: linear-gradient(160deg, var(--paper), #e5ecf5);
  overflow: hidden;
  position: relative;
}
.cat-solution__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s var(--ease);
}
.cat-solution--card:hover .cat-solution__img img{
  transform: scale(1.05);
}
.cat-solution__img.is-empty{
  background: linear-gradient(160deg, var(--paper), #e5ecf5);
}
.cat-solution__body{
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.cat-solution--card h3{
  font-family: var(--font-display);
  font-size: 16.5px;
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 8px;
  line-height: 1.3;
}
.cat-solution--card p{
  font-size: 13.5px;
  color: var(--muted);
  line-height: 1.6;
  margin: 0;
  flex-grow: 1;
}

@media (max-width: 1024px){
  .cat-solutions__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px){
  .cat-solutions__grid{ grid-template-columns: 1fr; }
}
.cat-solution{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 26px 26px 24px;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);
}
.cat-solution:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(14,43,66,.08);
  border-color: transparent;
}
.cat-solution__num{
  display: inline-block;
  font-family: var(--font-display);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--brand);
  background: var(--bg-tint);
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.cat-solution h3{ font-size: 17px; margin: 0 0 8px; color: var(--ink); }
.cat-solution p{ font-size: 14.5px; line-height: 1.6; color: var(--muted); margin: 0; }

.cat-benefits{ padding: 72px 0; }
.cat-benefits__grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.cat-benefit{
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 24px 22px;
  border-top: 3px solid var(--brand);
  transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.cat-benefit:hover{ transform: translateY(-3px); box-shadow: 0 12px 30px rgba(14,43,66,.08); }
.cat-benefit h3{ font-size: 15.5px; margin: 0 0 8px; color: var(--ink); }
.cat-benefit p{ font-size: 14px; line-height: 1.55; color: var(--muted); margin: 0; }

.cat-faq{ padding: 72px 0; }

@media (max-width: 1024px){
  .cat-benefits__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px){
  .cat-solutions,
  .cat-benefits,
  .cat-faq{ padding: 52px 0; }
  .cat-solutions__grid{ grid-template-columns: 1fr; }
  .cat-benefits__grid{ grid-template-columns: 1fr; }
}
/* ============================================================
   SUB-CATEGORIES — moving marquee rows
   ============================================================ */
.cat-subs-section{
  padding: 72px 0;
  overflow: hidden;
}
.cat-subs-section .section__head{
  padding: 0 24px;
  max-width: 1200px;
  margin: 0 auto 42px;
}

.cat-marquee{
  position: relative;
  overflow: hidden;
  margin-bottom: 22px;
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.cat-marquee:last-child{ margin-bottom: 0; }

.cat-marquee__track{
  display: flex;
  width: max-content;
  animation: cat-marquee-left 55s linear infinite;
}
.cat-marquee--right .cat-marquee__track{
  animation-name: cat-marquee-right;
  animation-duration: 65s;
}
.cat-marquee:hover .cat-marquee__track{
  animation-play-state: paused;
}

.cat-marquee__group{
  display: flex;
  gap: 22px;
  padding-right: 22px;
}

@keyframes cat-marquee-left{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes cat-marquee-right{
  from { transform: translateX(-50%); }
  to   { transform: translateX(0); }
}

/* Fixed width so the marquee doesn't shift on hover */
.home-category--marquee{
  flex: 0 0 auto;
  width: 260px;
  padding: 20px 18px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);
}
.home-category--marquee:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(14,43,66,.08);
  border-color: transparent;
}
.home-category--marquee .home-category__image{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 140px;
  margin-bottom: 14px;
  overflow: hidden;
  background: linear-gradient(160deg, var(--paper), #e5ecf5);
  border-radius: 8px;
}
.home-category--marquee .home-category__image img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10px;
  display: block;
}
.home-category--marquee .home-category__image.is-empty{
  background: linear-gradient(160deg, var(--paper), #e5ecf5);
}
.home-category--marquee strong{
  display: block;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 6px;
  line-height: 1.3;
}
.home-category--marquee .home-category__description{
  display: block;
  font-size: 12.5px;
  color: var(--muted);
  line-height: 1.5;
  margin-top: 4px;
}

/* Responsive */
@media (max-width: 640px){
  .cat-subs-section{ padding: 52px 0; }
  .home-category--marquee{ width: 220px; }
  .home-category--marquee .home-category__image{ height: 120px; }
}

/* Header Search Form */
.nav__search-form {
  display: flex;
  align-items: center;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  overflow: hidden;
  height: 38px;
  margin-right: 8px;
}
.nav__search-form input {
  border: 0;
  background: transparent;
  padding: 0 12px 0 16px;
  font-family: inherit;
  font-size: 13.5px;
  color: var(--ink);
  outline: 0;
  width: 140px;
  transition: width .25s ease;
}
.nav__search-form input:focus {
  width: 180px;
}
.nav__search-form .nav__search {
  border: 0;
  background: var(--brand);
  color: #fff;
  width: 38px;
  height: 38px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}
.nav__search-form .nav__search svg { width: 16px; height: 16px; }

/* Icon inside the Category Benefits card */
.cat-benefit__icon {
  width: 48px;
  height: 48px;
  margin-bottom: 16px;
  color: var(--brand); /* Uses the site's brand blue */
}

.cat-benefit__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}