@font-face {
  font-family: cormorantgaramond;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/font-0.woff2") format("woff2");
}
@font-face {
  font-family: cormorantgaramond;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/font-1.woff2") format("woff2");
}
@font-face {
  font-family: cormorantgaramond;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/font-2.woff2") format("woff2");
}
@font-face {
  font-family: cormorantgaramond;
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/font-3.woff2") format("woff2");
}
@font-face {
  font-family: sora;
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/font-4.woff2") format("woff2");
}
picture.home-slide{display:block;background:#d0cec7}
.preview-responsive-image{display:block;width:100%;height:100%;object-fit:contain;object-position:right bottom}

/* Preserve the source photographs' environment and lower-body context. */
.factory-illustration { margin: 0; min-width: 0; }
.factory-illustration figcaption { margin-top: .6rem; font: 12px/1.6 sora,Arial,sans-serif; color: #4b5b63; }
.home-section-about-gold-printing .home-split-image,
.home-section-factory-equipment .home-split-image {
  aspect-ratio: auto;
  height: auto;
  object-fit: contain;
}

/* Homepage V4 only. Existing photography remains unchanged and unfiltered. */
body.home {
  --gp-primary: #174b5c; --gp-foreground: #25343b; --gp-secondary: #4b5b63;
  --gp-border: #dce4e7; --gp-shell: min(90rem,calc(100vw - 6rem));
  background: #fff; color: #25343b; font-family: sora,Arial,sans-serif;
  font-size: 16px; line-height: 1.7;
}
body.home .site-header { background: #fff; border-color: #e3e9eb; }
body.home .header-inner { min-height: 5.25rem; gap: 1.5rem; }
body.home .brand-logo { width: 12rem; max-height: 4rem; }
body.home .primary-menu { gap: 1.2rem; font-size: 14px; }
body.home .primary-menu ul { gap: 1.15rem; }
body.home .primary-menu a { color: #25343b; }
body.home .primary-menu a:hover,
body.home .primary-menu .current-menu-item > a { color: #174b5c; }
body.home .primary-menu .current-menu-item > a { text-underline-offset: .45rem; text-decoration: underline; }
body.home .button { font: 600 15px/1.4 sora,Arial,sans-serif; padding: .85rem 1.4rem; }
body.home .button-primary,
body.home .primary-menu .nav-cta { background: #174b5c; color: #fff; }
body.home .button-primary:hover,
body.home .primary-menu .nav-cta:hover { background: #123d4b; color: #fff; }
body.home a:focus-visible,
body.home button:focus-visible { outline: 3px solid #e8a33d; outline-offset: 4px; }
body.home .hero-home,
body.home .hero-home-inner { min-height: clamp(30rem,42vw,44rem); }
body.home .hero-home { color: #174b5c; background: #f3f7f8; }
body.home .hero-home-inner { padding-block: 4rem; }
body.home .hero-home h1 {
  font: 700 clamp(44px,4vw,56px)/1.08 cormorantgaramond,Georgia,serif;
  max-width: min(42vw,590px); color: #174b5c; text-wrap: balance; margin-bottom: 1.6rem;
}
body.home picture.home-slide { background: #f3f7f8; }
body.home .hero-overlay { background: linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.91) 25%,rgba(255,255,255,.4) 45%,rgba(255,255,255,0) 67%); }
body.home .hero-home:has(.home-slide:nth-child(3).is-active) h1 { color: #fff; }
body.home .hero-home:has(.home-slide:nth-child(3).is-active) .hero-overlay { background: linear-gradient(90deg,rgba(15,47,59,.94),rgba(15,47,59,.76) 36%,rgba(15,47,59,.08) 78%); }
body.home .hero-arrow { top: 1rem; transform: none; color: #174b5c; background: rgba(255,255,255,.87); width: 2.5rem; height: 2.5rem; font-size: 2rem; }
body.home .hero-arrow-prev { left: .65rem; }
body.home .hero-arrow-next { right: .65rem; }
body.home .hero-arrow:hover { background: #fff; }

body.home .home-section-inner { width: min(90rem,calc(100% - 6rem)); }
body.home .home-section:not(.home-section-stats) { padding-block: 4rem; background: #fff; }
body.home .home-section h2 { color: #174b5c; font: 700 clamp(32px,3vw,40px)/1.14 cormorantgaramond,Georgia,serif; margin-bottom: 1.1rem; text-wrap: balance; }
body.home .home-section h3 { font: 600 19px/1.35 sora,Arial,sans-serif; color: #174b5c; }
body.home .home-section p,
body.home .home-section li { font-size: 16px; line-height: 1.75; color: #25343b; }
body.home .home-section > .home-section-inner > p,
body.home .home-section-body > p:first-of-type { max-width: 52rem; color: #4b5b63; }
body.home .home-section.home-section-our-brand-story { padding-block: 3.5rem; }
body.home .home-wide-image { height: auto; max-height: none; object-fit: contain; }
body.home .home-section.home-section-about-gold-printing,
body.home .home-section.home-section-production-workflow,
body.home .home-section.home-section-logistics-delivery { background: #f3f7f8; }
body.home .home-split { gap: clamp(2rem,5vw,4.5rem); grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
body.home .home-split-copy p { max-width: 42rem; }
body.home .home-section.home-section-why-choose-gold-printing,
body.home .home-section.home-section-support { background: #f3f7f8; }
body.home .home-section.home-section-our-main-clients { padding-block: 2.8rem; }
body.home .home-info-card { background: #fff; border: 1px solid #dce4e7; border-radius: 4px; padding: 1.4rem; min-height: 0; }
body.home .home-info-card h3 { font-size: 18px; min-height: 2.7em; margin-bottom: .75rem; }
body.home .home-info-card p { font-size: 15px; line-height: 1.7; }
body.home .home-section-why-choose-gold-printing .home-card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.2rem; }
body.home .home-section-why-choose-gold-printing .home-info-card { border-top: 3px solid #174b5c; }
body.home .home-section-production-workflow .home-info-card h3::before { background: #174b5c; color: #fff; font-size: 12px; font-family: sora,Arial,sans-serif; }

body.home .service-card-grid { max-width: none; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1.1rem; }
body.home .home-section-our-printing-services .service-tile {
  display: flex; flex-direction: column; min-height: 0; padding: 1rem; background: #fff;
  color: #25343b; border: 1px solid #dce4e7; border-radius: 4px;
  box-shadow: 0 3px 12px rgba(23,75,92,.035); transition: border-color .2s,box-shadow .2s;
}
body.home .service-tile img { order: -1; aspect-ratio: 4/3; width: 100%; object-fit: cover; margin-bottom: 1.1rem; border-radius: 2px; }
body.home .service-tile h3 { color: #174b5c; font-size: 18px; min-height: 2.7em; margin: 0 0 .65rem; }
body.home .service-tile p { color: #25343b; font-size: 15px; line-height: 1.65; min-height: 0; margin: 0 0 1rem; }
body.home .service-tile span { margin-top: auto; padding-top: .3rem; align-self: flex-start; color: #174b5c; border-bottom-color: #174b5c; font-size: 14px; font-weight: 600; }
body.home .service-tile:hover { border-color: #17a3a5; box-shadow: 0 6px 18px rgba(23,75,92,.09); }
body.home .home-section.home-section-logistics-delivery { padding-block: 3rem; }
body.home .home-section-logistics-delivery .home-split-image { aspect-ratio: auto; height: auto; max-height: 23rem; object-fit: contain; }
body.home .home-section.home-section-support { padding-block: 2.5rem; }

/* Compact statistics and separate left-art / center-copy / right-action CTA. */
body.home .home-section.home-section-stats { background: #174b5c; padding: 0; color: #fff; }
body.home .home-stats-grid { margin: 0; padding-block: 2.1rem; gap: 1rem; border-bottom: 1px solid rgba(255,255,255,.18); }
body.home .home-stats-grid strong { font: 600 clamp(28px,2.5vw,36px)/1.15 sora,Arial,sans-serif; font-variant-numeric: tabular-nums; color: #fff; }
body.home .home-stats-grid span { color: #fff; font-size: 13px; margin-top: .55rem; letter-spacing: .02em; }
body.home .v4-cta { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1.65fr) auto; align-items: center; gap: 2rem; min-height: 15rem; padding-block: 1.3rem; text-align: left; }
body.home .v4-cta-art { width: 100%; height: 12rem; object-fit: contain; display: block; }
body.home .v4-cta h2 { color: #fff; font-size: clamp(30px,2.8vw,38px); text-align: left; margin: 0 0 .8rem; }
body.home .v4-cta .v4-cta-description { color: #fff; font-size: 16px; line-height: 1.65; margin: 0; max-width: 32rem; }
body.home .button-light { background: #fff; color: #174b5c; white-space: nowrap; }
body.home .button-light:hover { background: #f3f7f8; color: #174b5c; }
body.home .site-footer { margin-top: 0; padding: 3rem 0 1.8rem; background: #fff; color: #25343b; border-top: 1px solid #dce4e7; }
body.home .site-footer h2,
body.home .site-footer h3 { color: #174b5c; }
body.home .site-footer p,
body.home .site-footer a,
body.home .copyright { color: #4b5b63; font-size: 14px; line-height: 1.75; }
body.home .site-footer a:hover { color: #174b5c; text-decoration: underline; }
body.home .copyright { margin-top: 2rem; }

@media(max-width:1279px) {
  body.home { --gp-shell: min(90rem,calc(100vw - 4rem)); }
  body.home .home-section-inner { width: calc(100% - 4rem); }
  body.home .service-card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.home .header-inner { gap: .8rem; }
  body.home .primary-menu,body.home .primary-menu ul { gap: .8rem; }
  body.home .brand-logo { width: 10rem; }
  body.home .v4-cta { gap: 1.4rem; grid-template-columns: minmax(0,.95fr) minmax(0,1.5fr) auto; }
}
@media(max-width:1050px) and (min-width:901px) {
  body.home .header-inner { flex-wrap: wrap; padding-block: .6rem; }
  body.home .primary-menu { margin-left: auto; }
}
@media(max-width:900px) {
  body.home { --gp-shell: calc(100vw - 2.4rem); }
  body.home .home-section-inner { width: calc(100% - 2.4rem); }
  body.home .home-section:not(.home-section-stats) { padding-block: 3rem; }
  body.home .hero-home,body.home .hero-home-inner { min-height: 25rem; }
  body.home .hero-home-inner { width: var(--gp-shell); padding-block: 4rem; }
  body.home .hero-home h1 { font-size: clamp(34px,5.2vw,46px); max-width: 62%; }
  body.home .hero-arrow { top: 1rem; transform: none; width: 2rem; height: 2rem; font-size: 1.5rem; }
  body.home .hero-overlay { background: linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.85) 27%,rgba(255,255,255,.2) 64%,rgba(255,255,255,0)); }
  body.home .home-split { grid-template-columns: 1fr; gap: 1.7rem; }
  body.home .service-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.home .home-section-why-choose-gold-printing .home-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.home .home-stats-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.6rem 1rem; padding-block: 1.8rem; }
  body.home .v4-cta { grid-template-columns: 1fr; justify-items: center; gap: 1.2rem; padding-block: 1.2rem 2.4rem; text-align: center; }
  body.home .v4-cta-art { width: min(100%,23rem); height: 10rem; }
  body.home .v4-cta h2 { text-align: center; }
  body.home .v4-cta .v4-cta-description { max-width: 32rem; }
  body.home .v4-cta .button { justify-self: center; }
}
@media(max-width:600px) {
  body.home .hero-home,body.home .hero-home-inner { min-height: 25rem; }
  body.home .hero-home-inner { justify-content: flex-start; padding-top: 4rem; }
  body.home .hero-home h1 { font-size: clamp(32px,8.4vw,40px); max-width: 100%; margin-bottom: 1.25rem; }
  body.home .service-card-grid { grid-template-columns: 1fr; }
  body.home .service-tile h3 { min-height: 0; font-size: 20px; }
  body.home .home-section-why-choose-gold-printing .home-card-grid { grid-template-columns: 1fr; }
  body.home .home-info-card h3 { min-height: 0; }
  body.home .home-section h2 { font-size: 32px; }
  body.home .home-section.home-section-logistics-delivery { padding-block: 2.5rem; }
  body.home .footer-grid { gap: 2rem; }
}

/* Exact user-supplied artwork, extracted without its screenshot text. */
body.home .home-stats-grid { height: 10rem; padding-block: 1.4rem; align-items: center; }
body.home .v4-cta {
  position: relative; width: 100vw; margin-left: calc(50% - 50vw);
  grid-template-columns: 34% minmax(0,1fr) auto; gap: 1.8rem;
  min-height: 10rem; height: 10rem; padding: 0 max(3rem,calc((100vw - 90rem)/2)) 0 1rem;
  background: #104d60;
}
body.home .v4-cta::before {
  content: ""; position: absolute; left: 1rem; top: 1rem; width: 32%; height: 8rem;
  background: url("images/cta-reference-left.png") left center / contain no-repeat;
  filter: blur(9px); opacity: .3; pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse,#000 30%,transparent 75%);
  mask-image: radial-gradient(ellipse,#000 30%,transparent 75%);
}
body.home .v4-cta > * { position: relative; z-index: 1; }
body.home .v4-cta-art {
  width: 100%; height: 8rem; object-fit: contain; object-position: center;
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 12%,#000 72%,transparent),linear-gradient(0deg,transparent,#000 18%,#000 80%,transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(90deg,transparent,#000 12%,#000 72%,transparent),linear-gradient(0deg,transparent,#000 18%,#000 80%,transparent);
  mask-composite: intersect;
}
body.home .v4-cta-copy { padding-block: 0; }
body.home .v4-cta h2 { font-size: clamp(28px,2.5vw,36px); }
@media(max-width:1100px) and (min-width:901px) {
  body.home .v4-cta { grid-template-columns: 32% minmax(0,1fr) auto; gap: 1.2rem; padding-right: 2rem; }
}
@media(max-width:900px) {
  body.home .home-stats-grid { height: auto; }
  body.home .v4-cta { grid-template-columns: 1fr; height: auto; min-height: 0; gap: 0; padding: .5rem 0 1.7rem; }
  body.home .v4-cta-art { width: min(80%,24rem); height: 7rem; object-fit: contain; object-position: center; }
  body.home .v4-cta::before { left: 10%; top: .5rem; width: 80%; height: 7rem; background-position: center; }
  body.home .v4-cta-copy { padding: 1rem 1.2rem; }
  body.home .v4-cta .button { margin-top: .3rem; }
}
