/* Justin Traders LLC — Swiss Editorial system. Loaded last. */
:root,
body.zt-site {
  --jt-ink: #161a1d;
  --jt-paper: #f5f1e8;
  --jt-white: #fffdf8;
  --jt-copper: #b86f45;
  --jt-sage: #54756b;
  --jt-soft: #e8e2d7;
  --jt-muted: #646964;
  --jt-line: #cfc8bb;
  --jt-serif: "Playfair Display", Georgia, serif;
  --jt-sans: "Inter", Arial, sans-serif;
  --iw-ink: var(--jt-ink);
  --iw-ink-2: #24292c;
  --iw-graphite: #343a3d;
  --iw-cobalt: var(--jt-copper);
  --iw-cobalt-d: #8c4e2e;
  --iw-yellow: #b8c7c0;
  --iw-mist: #ede9df;
  --iw-mist-2: var(--jt-paper);
  --iw-white: var(--jt-white);
  --iw-body: var(--jt-muted);
  --iw-line: var(--jt-line);
  --iw-line-d: rgba(245, 241, 232, .18);
  --iw-r: 2px;
  --iw-r-sm: 2px;
  --iw-sans: var(--jt-sans);
  --iw-display: var(--jt-serif);
  --iw-shadow: 0 18px 45px -34px rgba(22, 26, 29, .45);
}

body.zt-site { background: var(--jt-paper); color: var(--jt-muted); font-family: var(--jt-sans); }
body.zt-site h1, body.zt-site h2, body.zt-site h3, body.zt-site h4 { font-family: var(--jt-serif); font-weight: 600; letter-spacing: 0; }
.iw-wrap, .zt-wrap, .itl-wrap { width: min(1240px, calc(100% - 48px)); }

.iw-head { background: rgba(245, 241, 232, .96); border-color: var(--jt-line); }
.iw-head__inner { min-height: 88px; }
.iw-brand img, .iw-brand .custom-logo { height: 50px !important; }
.iw-nav__link { border-radius: 0; padding: 12px 11px; font-size: .86rem; letter-spacing: .04em; text-transform: uppercase; }
.iw-nav__link:hover { background: transparent; border-bottom: 1px solid var(--jt-copper); }
.iw-iconbtn, body.zt-site .iw-btn, body.zt-site .woocommerce a.button, body.zt-site .woocommerce button.button, body.zt-site .woocommerce input.button { border-radius: 1px !important; }
.iw-btn { min-height: 48px; padding-inline: 23px; text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; }
.iw-btn--solid { background: var(--jt-ink); }
.iw-btn--solid:hover { background: var(--jt-copper); }
.iw-iconbtn { background: transparent; border-color: var(--jt-line); }

.jt-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--jt-line); background: var(--jt-paper); }
.jt-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); min-height: 680px; }
.jt-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: 76px 72px 72px 0; }
.jt-kicker { margin: 0 0 22px; color: var(--jt-sage); font: 700 .71rem/1.3 var(--jt-sans); letter-spacing: .14em; text-transform: uppercase; }
.jt-hero h1 { max-width: 820px; margin: 0; color: var(--jt-ink); font-size: clamp(3.25rem, 6.3vw, 6.8rem); line-height: .94; }
.jt-hero h1 em { color: var(--jt-copper); font-style: italic; font-weight: 500; }
.jt-hero__lead { max-width: 580px; margin: 30px 0 0 16%; padding-left: 22px; border-left: 1px solid var(--jt-copper); color: var(--jt-muted); font-size: 1.03rem; }
.jt-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 28px 0 0 16%; }
.jt-hero__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 48px 0 0; padding: 20px 0 0; border-top: 1px solid var(--jt-line); }
.jt-hero__metrics div { padding-right: 18px; }
.jt-hero__metrics div + div { padding-left: 18px; border-left: 1px solid var(--jt-line); }
.jt-hero__metrics strong { display: block; color: var(--jt-ink); font: 600 1.8rem/1 var(--jt-serif); }
.jt-hero__metrics span { display: block; margin-top: 6px; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.jt-hero__visual { position: relative; min-height: 680px; }
.jt-hero__visual img { width: 100%; height: 100%; object-fit: cover; }
.jt-hero__case { position: absolute; left: -82px; bottom: 42px; width: 260px; padding: 22px; background: var(--jt-white); border-top: 4px solid var(--jt-copper); box-shadow: var(--iw-shadow); }
.jt-hero__case b { display: block; margin-bottom: 7px; color: var(--jt-ink); font: 600 1.15rem var(--jt-serif); }
.jt-hero__case span { font-size: .82rem; }

.jt-strip { border-bottom: 1px solid var(--jt-line); background: var(--jt-white); }
.jt-strip__inner { display: grid; grid-template-columns: repeat(4, 1fr); }
.jt-strip span { padding: 18px 20px; border-right: 1px solid var(--jt-line); color: var(--jt-ink); font-size: .72rem; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.jt-strip span:first-child { border-left: 1px solid var(--jt-line); }

.jt-section { padding: clamp(64px, 7vw, 104px) 0; }
.jt-section--white { background: var(--jt-white); }
.jt-section--ink { background: var(--jt-ink); color: rgba(245,241,232,.72); }
.jt-section--ink h2, .jt-section--ink h3 { color: var(--jt-paper) !important; }
.jt-section__head { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; margin-bottom: 44px; padding-bottom: 24px; border-bottom: 1px solid var(--jt-line); }
.jt-section__head h2 { max-width: 760px; margin: 0; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: 1.04; }
.jt-section__head p { max-width: 560px; margin: 0; }
.jt-section--ink .jt-section__head { border-color: rgba(245,241,232,.2); }

.jt-service-index { display: grid; grid-template-columns: repeat(12, 1fr); border-top: 1px solid var(--jt-line); border-left: 1px solid var(--jt-line); }
.jt-service-card { grid-column: span 3; min-height: 265px; display: flex; flex-direction: column; padding: 26px; border-right: 1px solid var(--jt-line); border-bottom: 1px solid var(--jt-line); color: var(--jt-ink) !important; text-decoration: none; transition: background .2s ease, color .2s ease; }
.jt-service-card:nth-child(1), .jt-service-card:nth-child(6), .jt-service-card:nth-child(11) { grid-column: span 6; }
.jt-service-card:hover { background: var(--jt-ink); color: var(--jt-paper) !important; }
.jt-service-card__top { display: flex; justify-content: space-between; gap: 18px; color: var(--jt-sage); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.jt-service-card h3 { margin: auto 0 12px; color: inherit !important; font-size: clamp(1.35rem, 2vw, 2rem); }
.jt-service-card p { margin: 0; color: inherit; opacity: .72; font-size: .88rem; }

.jt-advantage { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: 72px; align-items: start; }
.jt-advantage figure { margin: 0; position: sticky; top: 112px; }
.jt-advantage figure img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.jt-advantage__list { border-top: 1px solid var(--jt-line); }
.jt-advantage__item { display: grid; grid-template-columns: 56px 1fr; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--jt-line); }
.jt-advantage__item > span { color: var(--jt-copper); font: 600 .9rem var(--jt-serif); }
.jt-advantage__item h3 { margin: 0 0 5px; font-size: 1.25rem; }
.jt-advantage__item p { margin: 0; font-size: .92rem; }

.iw-packs, .iw-quotes { gap: 0; border: 1px solid var(--jt-line); }
.iw-pack, .iw-quotes figure { border: 0; border-radius: 0 !important; box-shadow: none; }
.iw-pack + .iw-pack, .iw-quotes figure + figure { border-left: 1px solid var(--jt-line); }
.iw-pack.is-featured { background: var(--jt-sage); border-color: var(--jt-sage); }
.iw-pack__flag { border-radius: 0; background: var(--jt-paper); }
.iw-custom__grid { grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 0; border: 1px solid var(--jt-line); }
.iw-custom__intro { padding: 44px; background: var(--jt-ink); color: rgba(245,241,232,.72); }
.iw-custom__intro h2 { color: var(--jt-paper) !important; }
.iw-custom__panel { border: 0; border-radius: 0; box-shadow: none; padding: 44px; }

.jt-process { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(245,241,232,.2); border-left: 1px solid rgba(245,241,232,.2); }
.jt-process li { min-height: 220px; padding: 24px; border-right: 1px solid rgba(245,241,232,.2); border-bottom: 1px solid rgba(245,241,232,.2); }
.jt-process p { font-size: .86rem; color: rgba(245,241,232,.62); }

body.zt-site .zt-banner { padding: 60px 0; background: var(--jt-ink); border-bottom: 6px solid var(--jt-copper); }
body.zt-site .zt-banner h1 { max-width: 900px; font-size: clamp(2.6rem, 5vw, 5rem); font-family: var(--jt-serif); }
body.zt-site .zt-banner .zt-eyebrow { color: #b8c7c0; }
.iw-card, .iw-reasons article, .iw-contactlist li, body.zt-site .woocommerce ul.products li.product { border-radius: 1px !important; }
.iw-card:hover { border-color: var(--jt-copper); }

.iw-foot { border-top: 8px solid var(--jt-copper); }
.iw-foot__ctainner { padding: 44px 0; }
.iw-foot__grid { grid-template-columns: 1.5fr repeat(3, 1fr); }
.iw-foot__col:nth-of-type(5), .iw-foot__col:nth-of-type(6) { display: none; }
.iw-totop { border-radius: 1px; background: var(--jt-copper); }

body.zt-site .woocommerce table.shop_table { border-radius: 1px; }
body.zt-site .woocommerce .cart-collaterals .cart_totals { width: min(100%, 460px); }
body.zt-site .woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: 34px; align-items: start; }
body.zt-site .woocommerce-checkout #customer_details { float: none; width: auto; }
body.zt-site .woocommerce-checkout #order_review_heading, body.zt-site .woocommerce-checkout #order_review { float: none; width: auto; }
body.zt-site .woocommerce-checkout #order_review { position: static; }
.sc-prod-head { background: var(--jt-ink); border-bottom-color: var(--jt-copper); }

@media (max-width: 1080px) {
  .jt-hero__grid { grid-template-columns: 1fr; }
  .jt-hero__copy { padding: 64px 0; }
  .jt-hero__visual { min-height: 500px; }
  .jt-hero__case { left: 24px; }
  .jt-service-card { grid-column: span 6; }
  .jt-service-card:nth-child(1), .jt-service-card:nth-child(6), .jt-service-card:nth-child(11) { grid-column: span 6; }
  .jt-advantage { grid-template-columns: 1fr; }
  .jt-advantage figure { position: static; max-height: 500px; overflow: hidden; }
  .jt-advantage figure img { aspect-ratio: 16/9; }
  .jt-process { grid-template-columns: repeat(3, 1fr); }
  body.zt-site .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .iw-wrap, .zt-wrap, .itl-wrap { width: min(1240px, calc(100% - 28px)); }
  .iw-head__inner { min-height: 72px; }
  .iw-brand img, .iw-brand .custom-logo { height: 38px !important; max-width: 220px !important; }
  .jt-hero__copy { padding: 48px 0; }
  .jt-hero h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
  .jt-hero__lead, .jt-hero__actions { margin-left: 0; }
  .jt-hero__visual { min-height: 420px; }
  .jt-strip__inner { grid-template-columns: repeat(2, 1fr); }
  .jt-section__head { grid-template-columns: 1fr; gap: 18px; }
  .jt-service-card, .jt-service-card:nth-child(1), .jt-service-card:nth-child(6), .jt-service-card:nth-child(11) { grid-column: span 12; min-height: 230px; }
  .jt-process { grid-template-columns: 1fr 1fr; }
  .iw-packs, .iw-quotes { grid-template-columns: 1fr; }
  .iw-pack + .iw-pack, .iw-quotes figure + figure { border-left: 0; border-top: 1px solid var(--jt-line); }
  .iw-custom__grid { grid-template-columns: 1fr; }
  .iw-custom__intro, .iw-custom__panel { padding: 28px; }
  .iw-foot__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .jt-hero__metrics { grid-template-columns: 1fr; }
  .jt-hero__metrics div { padding: 12px 0; }
  .jt-hero__metrics div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--jt-line); }
  .jt-hero__visual { min-height: 350px; }
  .jt-hero__case { right: 14px; left: 14px; bottom: 14px; width: auto; }
  .jt-process, .iw-foot__grid { grid-template-columns: 1fr; }
  .jt-advantage__item { grid-template-columns: 38px 1fr; }

  body.zt-site .woocommerce-cart table.cart tr.cart_item {
    position: relative;
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 10px 14px;
    padding: 18px 42px 18px 14px;
    border-bottom: 1px solid var(--jt-line);
  }
  body.zt-site .woocommerce-cart table.cart tr.cart_item td { display: block; padding: 0; border: 0; min-width: 0; }
  body.zt-site .woocommerce-cart table.cart tr.cart_item td.product-thumbnail { grid-row: 1 / span 4; grid-column: 1; }
  body.zt-site .woocommerce-cart table.cart tr.cart_item td.product-thumbnail img { width: 74px; height: 74px; object-fit: cover; }
  body.zt-site .woocommerce-cart table.cart tr.cart_item td.product-name,
  body.zt-site .woocommerce-cart table.cart tr.cart_item td.product-price,
  body.zt-site .woocommerce-cart table.cart tr.cart_item td.product-quantity,
  body.zt-site .woocommerce-cart table.cart tr.cart_item td.product-subtotal { grid-column: 2; }
  body.zt-site .woocommerce-cart table.cart tr.cart_item td.product-remove { position: absolute; top: 14px; right: 12px; }
  body.zt-site .woocommerce-cart table.cart td.actions { display: grid; gap: 10px; }
  body.zt-site .woocommerce-cart table.cart td.actions .coupon { display: grid; grid-template-columns: 1fr; gap: 8px; width: 100%; }
  body.zt-site .woocommerce-cart table.cart td.actions .coupon .input-text,
  body.zt-site .woocommerce-cart table.cart td.actions .button { width: 100% !important; }
}

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