.jl-brand-page { --jl-brand-accent: #a57b3e; --jl-brand-accent-dark: #765529; --jl-brand-hero-background: #eee8dd; --jl-brand-story-background: #f3efe7; background: #fff; color: #292720; font-family: Arial, Helvetica, sans-serif; margin: 0; }
.jl-brand-page--sheridan { --jl-brand-accent: #536d79; --jl-brand-accent-dark: #3f5965; --jl-brand-hero-background: #e9eef0; --jl-brand-story-background: #f2f5f6; }
.jl-brand-page *, .jl-brand-page *::before, .jl-brand-page *::after { box-sizing: border-box; }
.jl-brand-container { margin: 0 auto; max-width: 1400px; padding-left: 24px; padding-right: 24px; width: 100%; }
.jl-brand-breadcrumbs { color: #77726a; display: flex; flex-wrap: wrap; font-size: 12px; gap: 9px; padding-bottom: 18px; padding-top: 19px; }
.jl-brand-breadcrumbs a { color: #77726a; text-decoration: none; }
.jl-brand-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(400px, .72fr); height: clamp(480px, 34vw, 540px); max-height: 540px; overflow: hidden; }
.jl-brand-hero-media { min-height: 0; overflow: hidden; }
.jl-brand-hero-media img { display: block; height: 100%; object-fit: cover; width: 100%; }
.jl-brand-hero-copy { align-items: flex-start; background: var(--jl-brand-hero-background); display: flex; flex-direction: column; justify-content: center; overflow:hidden; padding: clamp(30px, 3.4vw, 48px); }
.jl-brand-logo { display: block; margin-bottom: 20px; max-height: 58px; max-width: 175px; mix-blend-mode: multiply; object-fit: contain; }
.jl-brand-kicker { color: var(--jl-brand-accent); display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; margin-bottom: 9px; text-transform: uppercase; }
.jl-brand-hero h1 { color: #292720; font: 400 clamp(34px, 3.1vw, 46px)/1.08 Arial, Helvetica, sans-serif; margin: 0 0 18px; }
.jl-brand-collection-page .jl-brand-hero h1 { font-size:clamp(30px,2.55vw,40px); line-height:1.1; }
.jl-brand-hero p { color: #68645d; font-size: 14px; line-height: 1.65; margin: 0; max-width: 520px; }
.jl-brand-hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 23px; }
.jl-brand-button { background: #34342f; color: #fff !important; display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .08em; padding: 15px 22px; text-decoration: none; text-transform: uppercase; }
.jl-brand-text-link { border-bottom: 1px solid var(--jl-brand-accent); color: var(--jl-brand-accent-dark) !important; font-size: 12px; font-weight: 700; padding-bottom: 4px; text-decoration: none; }
.jl-brand-section { background:#fff; padding-bottom: 88px; padding-top: 82px; position:relative; z-index:1; }
.jl-brand-heading { margin-bottom: 28px; max-width: 760px; }
.jl-brand-heading h2, .jl-brand-story-heading h2 { color: #292720; font: 400 clamp(29px, 2.7vw, 40px)/1.15 Arial, Helvetica, sans-serif; margin: 0 0 10px; }
.jl-brand-heading p { color: #706b63; font-size: 14px; line-height: 1.6; margin: 0; }
.jl-brand-category-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jl-brand-category-grid > a { background: #f7f5f1; color: #292720 !important; display: flex; flex-direction: column; min-width: 0; text-decoration: none; transition: box-shadow .2s ease, transform .2s ease; }
.jl-brand-category-grid > a:hover { box-shadow: 0 8px 24px rgba(42,39,32,.1); transform: translateY(-2px); }
.jl-brand-category-image { aspect-ratio: 1 / .88; display: block; overflow: hidden; }
.jl-brand-category-image img { display: block; height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.jl-brand-category-grid > a:hover img { transform: scale(1.025); }
.jl-brand-category-heading { font-size:24px; font-weight:500; margin:34px 0 16px; }
.jl-brand-heading + .jl-brand-category-heading { margin-top:0; }
.jl-brand-category-copy { display: flex; flex: 1; flex-direction: column; min-height: 155px; padding: 20px 21px 22px; }
.jl-brand-category-copy strong { font-size: 21px; font-weight: 500; }
.jl-brand-category-copy small { color: #706c64; font-size: 13px; line-height: 1.5; margin-top: 7px; }
.jl-brand-category-copy b { color: var(--jl-brand-accent-dark); font-size: 11px; letter-spacing: .06em; margin-top: auto; padding-top: 20px; text-transform: uppercase; }
.jl-brand-size-section { background: #31322e; padding: 68px 0 74px; }
.jl-brand-heading-light h2 { color: #fff; }
.jl-brand-size-grid { display: grid; gap: 1px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jl-brand-size-grid a { background: #3c3d38; color: #fff !important; display: flex; flex-direction: column; min-height: 126px; padding: 25px; text-decoration: none; transition: background .2s ease; }
.jl-brand-size-grid a:hover { background: var(--jl-brand-accent); }
.jl-brand-size-grid strong { font-size: 20px; font-weight: 500; }
.jl-brand-size-grid span { color: #d4d2cc; font-size: 12px; margin-top: 8px; }
.jl-brand-towel-filter-section { padding-bottom: 72px; }
.jl-brand-towel-type-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jl-brand-towel-type-grid a { border: 1px solid #dcd6cb; color: #292720 !important; display: flex; flex-direction: column; min-height: 155px; padding: 25px; text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.jl-brand-towel-type-grid a:hover { border-color: var(--jl-brand-accent); box-shadow: 0 7px 20px rgba(42,39,32,.08); transform: translateY(-2px); }
.jl-brand-towel-type-grid strong { font-size: 22px; font-weight: 500; }
.jl-brand-towel-type-grid span { color: #77726a; font-size: 13px; margin-top: 7px; }
.jl-brand-towel-type-grid small { color: var(--jl-brand-accent-dark); font-size: 11px; font-weight: 700; letter-spacing: .05em; margin-top: auto; padding-top: 20px; text-transform: uppercase; }
.jl-brand-towel-colour-section { background: #f5f2ec; padding: 70px 0 76px; }
.jl-brand-colour-grid { display: grid; gap: 12px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.jl-brand-colour-grid a { align-items: center; background: #fff; border: 1px solid #ded9d0; color: #35332e !important; display: flex; gap: 13px; min-height: 70px; padding: 10px 14px; text-decoration: none; }
.jl-brand-colour-grid a:hover { border-color: var(--jl-brand-accent); }
.jl-brand-colour-grid i { background: var(--jl-brand-swatch); border: 1px solid rgba(0,0,0,.09); border-radius: 50%; display: block; flex: 0 0 38px; height: 38px; width: 38px; }
.jl-brand-colour-grid span { font-size: 13px; }
.jl-brand-colour-grid .jl-brand-colour-multi i { background: conic-gradient(#b65f4d, #c7a64a, #73806a, #6687a4, #c78a9c, #b65f4d); }
.jl-brand-product-grid { display: grid; gap: 22px 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.jl-brand-product-card { border: 1px solid #dfdad1; display: flex; flex-direction: column; min-width: 0; }
.jl-brand-product-image { aspect-ratio: 1 / .84; background: #f4f2ed; display: block; overflow: hidden; }
.jl-brand-product-image img { display: block; height: 100%; object-fit: cover; transition: transform .35s ease; width: 100%; }
.jl-brand-product-card:hover .jl-brand-product-image img { transform: scale(1.025); }
.jl-brand-product-copy { display: flex; flex: 1; flex-direction: column; padding: 18px 18px 20px; }
.jl-brand-product-brand { color: var(--jl-brand-accent); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.jl-brand-product-copy h3 { font-size: 18px; font-weight: 500; line-height: 1.3; margin: 6px 0 8px; }
.jl-brand-product-copy h3 a { color: #292720 !important; text-decoration: none; }
.jl-brand-product-copy p { color: #716d65; font-size: 12px; line-height: 1.55; margin: 12px 0 18px; }
.jl-brand-card-link { border-top: 1px solid #ebe6dd; color: var(--jl-brand-accent-dark) !important; font-size: 11px; font-weight: 700; letter-spacing: .05em; margin-top: auto; padding-top: 14px; text-decoration: none; text-transform: uppercase; }
.jl-brand-story { background: var(--jl-brand-story-background); padding: 78px 0 82px; }
.jl-brand-story-grid { display: grid; gap: clamp(45px, 8vw, 120px); grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); }
.jl-brand-story-heading { max-width: 400px; }
.jl-brand-story-copy > p { color: #56524b; font-size: 15px; line-height: 1.8; margin: 0 0 18px; }
.jl-brand-story-copy details { border-bottom: 1px solid #d4cbbc; border-top: 1px solid #d4cbbc; margin-top: 29px; }
.jl-brand-story-copy summary { color: #4c3b24; cursor: pointer; font-size: 12px; font-weight: 700; letter-spacing: .07em; padding: 17px 0; text-transform: uppercase; }
.jl-brand-story-more { padding: 5px 0 20px; }
.jl-brand-story-more h3 { font-size: 17px; font-weight: 600; margin: 18px 0 6px; }
.jl-brand-story-more p { color: #625e56; font-size: 14px; line-height: 1.75; margin: 0; }
.jl-brand-reviews { padding-bottom: 80px; }
#carousel-widget { max-width: 1180px; }
@media (max-width: 1050px) {
  .jl-brand-hero { grid-template-columns: 1.2fr .8fr; }
  .jl-brand-category-grid, .jl-brand-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jl-brand-towel-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jl-brand-colour-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .jl-brand-hero { grid-template-columns: 1fr; height:auto; max-height:none; min-height:0; overflow:visible; }
  .jl-brand-hero-media { min-height: 390px; }
  .jl-brand-hero-copy { padding: 42px 34px 48px; }
  .jl-brand-size-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jl-brand-colour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jl-brand-story-grid { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .jl-brand-container { padding-left: 14px; padding-right: 14px; }
  .jl-brand-breadcrumbs { padding-bottom: 13px; padding-top: 13px; }
  .jl-brand-hero-media { min-height: 285px; }
  .jl-brand-hero-copy { padding: 34px 24px 39px; }
  .jl-brand-logo { margin-bottom: 20px; max-height: 54px; max-width: 160px; }
  .jl-brand-section { padding-bottom: 59px; padding-top: 56px; }
  .jl-brand-category-grid, .jl-brand-product-grid { grid-template-columns: 1fr; }
  .jl-brand-towel-type-grid, .jl-brand-colour-grid { grid-template-columns: 1fr; }
  .jl-brand-towel-type-grid a { min-height: 132px; }
  .jl-brand-category-copy { min-height: 135px; }
  .jl-brand-size-section { padding: 54px 0 58px; }
  .jl-brand-size-grid a { min-height: 112px; padding: 20px; }
  .jl-brand-story { padding: 56px 0 60px; }
}
