/* Larger readable type, tighter cards, full-size original product artwork. */
.home-design { font-size:16px; line-height:1.6; }
.home-design .eyebrow { font-size:12px; font-weight:700; letter-spacing:.12em; }
.home-design h2 { color:#701c35; font-weight:600; font-size:clamp(34px,2.8vw,46px); }
.home-design .section-heading { background:transparent; padding:0; gap:16px; }
/* Small opaque title labels protect text without masking a background strip. */
.home-design .section-heading > div:first-child {
  background:#fff8ef; border-left:3px solid #ae7b36;
  padding:10px 16px; border-radius:5px;
}
.home-design .section-heading > a,
.home-design .carousel-controls > a {
  color:#fffaf0; background:#701c35; padding:10px 14px;
  border-radius:5px; font-size:15px; font-weight:700;
}
.home-design .b2b-why-intro h2,
.home-design .mif-section-intro h2 {
  display:inline-block; background:#fff8ef; padding:10px 14px;
  border-left:3px solid #ae7b36; border-radius:5px;
}
.home-design .home-featured .section-heading > div:first-child { background:#123d32; }
.home-design .home-featured h2 { color:#fff1cb; }
.home-design .home-featured .eyebrow { color:#e6c78c; }
.home-design .b2b-member-cta h2 { color:#fff8e6; }
.home-design .hero-copy > p:not(.eyebrow) { font-size:18px; }
.home-design .btn, .home-design .mif-quote-button { font-size:15px; }
.home-design .promo-caption { font-size:15px; }
.home-design .b2b-quick-find h2 { font-size:28px; }
.home-design .b2b-quick-links { font-size:14px; }
.home-design .b2b-quick-search button { font-size:15px; }
.home-design .b2b-category-section > .container { max-width:1600px; }
.home-design .b2b-category-grid { max-width:1440px; margin-inline:auto; gap:12px; }
.home-design .b2b-category-card {
  min-height:144px; padding:10px 14px; gap:16px;
  border-radius:9px; background:#fffaf3;
}
.home-design .b2b-category-image {
  --product-size:124px;
  width:124px; height:124px; flex:0 0 124px;
  position:relative; display:block; overflow:hidden;
}
/* Scale and center the package, preserving every original image byte.
   Only the unused surrounding image canvas falls outside this viewport. */
.home-design .b2b-category-image img,
.home-design .b2b-royal-image img {
  position:absolute;
  width:calc(var(--product-size) * var(--art-w,1));
  height:calc(var(--product-size) * var(--art-h,1));
  max-width:none; max-height:none;
  left:calc(50% - var(--product-size) * var(--art-cx,.5));
  top:calc(50% - var(--product-size) * var(--art-cy,.5));
  right:auto; bottom:auto; transform:none;
  object-fit:contain; clip-path:none;
}
.home-design .b2b-category-card strong { font-size:25px; font-weight:700; }
.home-design .b2b-category-card small { font-size:14px; line-height:1.45; color:#344f43; }
.home-design .b2b-royal-section > .container {
  width:calc(100% - 64px); max-width:840px;
  padding:16px 22px 10px;
  background:#fff8ef url('../images/home-design/light-royal-background.webp') right center / auto 100% no-repeat;
}
.home-design .b2b-royal-section .section-heading { margin-bottom:4px; gap:10px; }
.home-design .b2b-royal-section .section-heading > div:first-child { padding:0; border:0; background:#fff8ef; }
.home-design .b2b-royal-section .section-heading h2 { font-size:30px; }
.home-design .b2b-royal-section .section-heading > a { font-size:14px; padding:7px 10px; }
.home-design .b2b-royal-body { grid-template-columns:1.1fr 1fr; gap:16px; min-height:0; }
.home-design .mif-royal-side-copy h2 { font-size:34px; }
.home-design .mif-royal-side-copy > p:not(.poster-kicker) { font-size:16px; line-height:1.5; }
.home-design .poster-kicker { font-size:12px; }
.home-design .mif-top-cta { font-size:16px; }
.home-design .b2b-royal-image { --product-size:224px; position:relative; display:block; height:224px; overflow:hidden; }
.home-design .b2b-royal-footer { margin-top:0; }
.home-design .mif-royal-side-label { font-size:12px; }
.home-design .b2b-brand-grid {
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.home-design .b2b-brand-card { min-height:144px; padding:10px 8px; gap:8px; }
.home-design .b2b-brand-card img {
  width:104px; height:104px; max-width:100%;
  object-fit:contain; flex-shrink:0;
}
.home-design .b2b-brand-card strong { font-size:16px; line-height:1.3; overflow-wrap:anywhere; }
@media (max-width:1100px) {
  .home-design .b2b-brand-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .home-design .b2b-brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
}
@media (max-width:480px) {
  .home-design .b2b-brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-design .b2b-brand-card { min-height:132px; padding:10px 8px; gap:6px; }
  .home-design .b2b-brand-card img { width:88px; height:88px; }
  .home-design .b2b-brand-card strong { font-size:15px; }
}
.home-design .b2b-why-grid h3 { font-size:22px; }
.home-design .b2b-why-grid p { font-size:16px; }
.home-design .mif-service-card h3 { font-size:20px; }
.home-design .mif-service-card p { font-size:16px; }
.home-design .mif-order-steps h3 { font-size:20px; }
.home-design .mif-order-steps p { font-size:16px; }
.home-design .mif-order-steps a { font-size:15px; }
.site-footer .footer-col, .site-footer .footer-brand-col p { font-size:14px; }
.site-footer .footer-col h3 { font-size:17px; }
@media (max-width:1400px) {
  .home-design .b2b-category-image { --product-size:108px; width:108px; height:108px; flex-basis:108px; }
  .home-design .b2b-category-card { min-height:132px; padding:10px; gap:10px; }
  .home-design .b2b-category-card strong { font-size:22px; }
}
@media (max-width:1100px) {
  .home-design .b2b-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-design .b2b-category-image { --product-size:124px; width:124px; height:124px; flex-basis:124px; }
  .home-design .b2b-category-card strong { font-size:24px; }
}
@media (max-width:600px) {
  .home-design h2 { font-size:30px; }
  .home-design .section-heading > div:first-child { padding:8px 12px; }
  .home-design .b2b-category-grid { gap:8px; }
  .home-design .b2b-category-card { flex-direction:column; align-items:center; text-align:center; padding:10px 8px; gap:8px; }
  .home-design .b2b-category-image { --product-size:108px; width:108px; height:108px; flex-basis:108px; }
  .home-design .b2b-category-card strong { font-size:20px; }
  .home-design .b2b-category-card small { font-size:13px; }
  .home-design .b2b-royal-section > .container { width:calc(100% - 32px); padding:14px 16px 8px; }
  .home-design .b2b-royal-section .section-heading { flex-direction:row; align-items:center; }
  .home-design .b2b-royal-section .section-heading h2 { font-size:27px; }
  .home-design .b2b-royal-section .section-heading > a { font-size:12px; }
  .home-design .mif-royal-side-copy h2 { font-size:28px; }
  .home-design .mif-royal-side-copy > p:not(.poster-kicker) { font-size:14px; }
  .home-design .b2b-royal-image { --product-size:160px; height:180px; }
  .home-design .mif-top-cta { font-size:14px; }
}
@media (max-width:350px) {
  .home-design .b2b-category-image { --product-size:92px; width:92px; height:92px; flex-basis:92px; }
  .home-design .b2b-royal-body { grid-template-columns:1fr; }
  .home-design .b2b-royal-image { --product-size:200px; height:210px; }
}

/* Corrections from the live-site review: keep the hero copy clear of products. */
@media(min-width:901px) {
  .home-design .hero-grid { align-items:start; padding-top:clamp(40px,4vw,80px); }
  .home-design .hero-copy {
    margin-left:clamp(24px,4vw,80px);
    width:calc(100% - clamp(24px,4vw,80px));
    max-width:460px; padding-right:0;
  }
  .home-design .hero-copy h1 { font-size:clamp(34px,3.1vw,52px); line-height:1.1; margin-bottom:16px; }
  .home-design .hero-actions { margin-top:18px; gap:10px; }
  .home-design .hero-actions .btn { padding:11px 14px; font-size:14px; }
}
.home-design .hero-copy > p:not(.eyebrow) {
  max-width:440px; color:#163e2e; background:#fff8ef;
  border-left:3px solid #ae7b36; padding:8px 12px;
  font-size:17px; line-height:1.5; border-radius:4px;
}
/* Quick Find has no .section-heading wrapper, so protect its title separately. */
.home-design .b2b-quick-find-inner > div:first-child {
  background:#fff8ef; padding:12px 16px;
  border-left:3px solid #ae7b36; border-radius:5px;
}
.home-design .b2b-quick-find .eyebrow { color:#77501f; }
.home-design .b2b-quick-find h2 { color:#701c35; }
.home-design .b2b-why-intro > p:not(.eyebrow),
.home-design .mif-section-intro > p:not(.eyebrow) {
  display:block; max-width:640px; color:#244337;
  background:#fff8ef; padding:8px 12px; border-radius:4px;
  font-size:16px; line-height:1.6;
}
@media(max-width:900px) {
  .home-design .hero-copy { margin-left:0; width:100%; max-width:600px; }
}

/* Royal: one continuous backdrop, without a separate cream text slab. */
.home-design .b2b-royal-section > .container {
  background-color:#fff8ef;
  background-image:url('../images/home-design/light-royal-background.webp');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}
.home-design .b2b-royal-section .section-heading > div:first-child,
.home-design .b2b-royal-section .mif-royal-side-copy,
.home-design .b2b-royal-section .mif-royal-side-copy h2,
.home-design .b2b-royal-section .mif-royal-side-copy p {
  background:transparent;
}

/* Royal controls: opposite ends, clear of the product and card edges. */
.home-design .b2b-royal-footer {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  grid-template-rows:44px auto;
  align-items:center;
  gap:4px 12px;
  margin-top:8px;
  padding-bottom:6px;
}
.home-design .b2b-royal-footer .poster-arrows { display:contents; }
.home-design .b2b-royal-footer .poster-arrows button {
  position:static;
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  font-size:30px;
  line-height:1;
  color:#701c35;
  background:#fffaf0;
  border:1px solid #b69a63;
  box-shadow:0 2px 6px #3c251b26;
  cursor:pointer;
}
.home-design .b2b-royal-footer [data-royal-prev] { grid-column:1; grid-row:1; }
.home-design .b2b-royal-footer [data-royal-next] { grid-column:3; grid-row:1; }
.home-design .b2b-royal-footer .poster-dots { grid-column:2; grid-row:1; }
.home-design .b2b-royal-footer .mif-royal-side-label {
  grid-column:2;
  grid-row:2;
  justify-self:center;
}
.home-design .b2b-royal-footer .poster-arrows button:focus-visible {
  outline:3px solid #701c35;
  outline-offset:3px;
}
/* Featured posters use matching frames and geometrically centered controls. */
.home-design #featured-brands .old-brand-posters-carousel {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:center;
  gap:12px;
}
.home-design #featured-brands .old-brand-poster-window { min-width:0; }
.home-design #featured-brands .old-brand-poster-slide {
  aspect-ratio:3/2;
  height:auto;
  align-self:stretch;
}
.home-design #featured-brands .old-brand-poster-slide img {
  width:100%; height:100%; object-fit:contain;
}
.home-design #featured-brands .old-brand-poster-arrow {
  position:static;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  width:44px; height:44px; min-width:44px;
  padding:0;
  margin:0;
  line-height:0;
  border-radius:50%;
  box-sizing:border-box;
  transform:none;
}
.home-design #featured-brands .old-brand-poster-arrow svg {
  display:block; width:20px; height:20px; flex:0 0 20px;
}
@media(max-width:600px) {
  .home-design #featured-brands .old-brand-posters-carousel {
    grid-template-columns:36px minmax(0,1fr) 36px;
    gap:6px;
  }
  .home-design #featured-brands .old-brand-poster-arrow {
    width:36px; height:36px; min-width:36px;
  }
}
