.home-body{background:#020a07}.home-page{background:radial-gradient(circle at 35% 18%,rgba(18,58,34,.11),transparent 36%),#020a07;color:#f4f1e9}.home-body .home-benefits{margin:10px 14px 0;border:1px solid #695823;border-radius:6px;background:#03100b;overflow:hidden}.home-body .home-benefits>div{min-height:116px;display:grid;grid-template-columns:78px 1fr;align-items:center;gap:12px;padding:13px 18px;border-right:1px solid #4b4527}.home-body .home-benefits>div:last-child{border-right:0}.home-benefit-icon{width:66px;height:66px;display:grid;place-items:center;color:#91c600}.home-benefit-icon .ui-icon{width:52px!important;height:52px!important}.home-benefit-copy{display:flex!important;flex-direction:column;gap:5px!important;color:#f5f1e8!important}.home-benefit-copy b{font-size:15px;line-height:1.08;letter-spacing:.01em;color:#fff}.home-benefit-copy small{font-size:11.5px;line-height:1.45;color:#e1e4df}.home-body .home-section{padding:14px}.home-body .home-collections{padding-top:8px}.home-body .home-section-heading{margin:0 0 9px}.home-body .home-section-heading span{background:linear-gradient(90deg,transparent,#789c12,transparent)}.home-body .home-section-heading h2{font-family:Georgia,'Times New Roman',serif;color:#f4f0e7;font-size:23px;font-weight:400;letter-spacing:.17em}.home-collection-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.home-collection-card{border:1px solid #7a6030;border-radius:6px;background:#03100b;min-height:288px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.home-collection-card:hover{transform:translateY(-2px);border-color:#9aba1c;box-shadow:0 12px 28px rgba(0,0,0,.28)}.home-reference-placeholder--collection,.home-reference-image--heritage,.home-reference-placeholder--product{background-image:none;background-repeat:no-repeat;background-size:1440px 563px;background-color:#0b1711}.home-reference-placeholder--collection{min-height:158px;padding:0;position:relative}.home-reference-placeholder--baseball{background-position:0 0}.home-reference-placeholder--bucket{background-position:-240px 0}.home-reference-placeholder--snapback{background-position:-476px 0}.home-reference-placeholder--traditional{background-position:-709px 0}.home-reference-placeholder--heritage{background-position:-936px 0}.home-reference-placeholder--beanie{background-position:-1176px 0}.home-collection-new{position:absolute;top:7px;right:7px;padding:4px 7px;border-radius:3px;background:#527f31;color:#fff!important;font-size:10px!important;font-weight:700;line-height:1;box-shadow:0 1px 3px rgba(0,0,0,.35)}.home-body .home-collection-card>div:last-child{padding:9px 18px 13px;display:flex;flex-direction:column;flex:1}.home-body .home-collection-card h3{font-size:17px;line-height:1.08;margin:0 0 7px;color:#fff;font-weight:500}.home-body .home-collection-card p{font-size:11.5px;line-height:1.42;color:#e4e7e2;margin:0 0 14px}.home-body .home-collection-card>div:last-child>span{font-size:13px;color:#9fce0b;font-weight:600;letter-spacing:.02em;margin-top:auto}.home-body .home-collection-card>div:last-child>span b{display:inline-flex;vertical-align:middle;margin-left:5px}.home-heritage{margin:0 14px 8px;display:grid;grid-template-columns:36% 51% 13%;min-height:270px;border:1px solid #7a5d24;border-radius:6px;background:#03100b;overflow:hidden}.home-heritage-copy{padding:25px 35px;background:linear-gradient(105deg,#052013,#06281a 70%,#03140d);display:flex;flex-direction:column;justify-content:center}.home-heritage-title{display:flex;align-items:center;gap:13px;color:#99c80b}.home-heritage-title h2{margin:0;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:30px;line-height:1.14;font-weight:400;letter-spacing:.11em}.home-heritage-copy h3{font-family:Georgia,'Times New Roman',serif;color:#d2952f;font-style:italic;font-size:20px;font-weight:400;margin:14px 0 8px}.home-heritage-copy p:not(.eyebrow){font-size:11.5px;line-height:1.55;margin:0 0 15px;color:#e3e6e1}.home-heritage-copy .btn{padding:10px 18px;font-size:12px;font-weight:500;background:linear-gradient(90deg,#4b8039,#69954a);border-color:#70974b;gap:8px}.home-reference-image--heritage{min-height:267px;background-position:0 -160px}.home-heritage-badges{display:flex;flex-direction:column;justify-content:center;gap:19px;padding:15px 11px;background:#03100b;border-left:1px solid #49522c}.home-heritage-badges div{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:center;color:#91c600}.home-heritage-badges span{font-size:9px;line-height:1.35;color:#f3f4ef}.home-body .home-bestsellers{padding-top:2px;padding-bottom:18px}.home-body .home-section-heading--left{display:grid;grid-template-columns:auto 1fr auto;gap:16px;margin-bottom:4px;align-items:center}.home-body .home-section-heading--left h2{color:#fff;font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:500;letter-spacing:.03em;margin:0}.home-body .home-section-heading--left span{height:1px;background:#4a4a29}.home-body .home-section-heading--left a{font-size:12px;color:#9ccb13;letter-spacing:.05em;display:flex;align-items:center;gap:8px}.home-product-carousel{position:relative}.home-product-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 22px 2px}.home-product-grid::-webkit-scrollbar{display:none}.home-product-grid--static{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;overflow:visible;scroll-snap-type:none;padding:0}.home-product-grid--static .home-product-card{width:auto;max-width:none;flex:none}.home-product-card{position:relative;flex:0 0 calc((100% - 100px)/6);min-width:0;scroll-snap-align:start;border:1px solid #36442d;border-radius:5px;background:#07110d;padding:0 0 12px;overflow:hidden}.home-product-link{display:block}.home-product-media{height:136px;min-height:136px!important;padding:0}.home-reference-placeholder--product-one{background-position:0 -428px}.home-reference-placeholder--product-two{background-position:-228px -428px}.home-reference-placeholder--product-three{background-position:-454px -428px}.home-reference-placeholder--product-four{background-position:-678px -428px}.home-reference-placeholder--product-five{background-position:-902px -428px}.home-reference-placeholder--product-six{background-position:-1126px -428px}.home-product-media img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover}.home-product-link>span{display:block;padding:9px 13px 0;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f1f1ec}.home-product-link>strong{display:block;padding:4px 13px 0;font-size:13px;color:#fff;font-weight:500}.home-product-cart-form{position:absolute;right:11px;bottom:11px;margin:0}.home-product-cart{position:absolute;right:11px;bottom:11px;width:41px;height:41px;border:1px solid #75a713;border-radius:4px;background:#07110d;color:#fff;display:grid;place-items:center;cursor:pointer}.home-product-cart-form .home-product-cart{position:static}.home-product-cart:hover{background:#18351a;color:#a7d51d}.home-carousel-arrow{position:absolute;top:50%;z-index:4;transform:translateY(-50%);width:39px;height:39px;border-radius:50%;border:1px solid #e6ece6;background:#06100c;color:#fff;display:grid;place-items:center;cursor:pointer}.home-carousel-arrow--prev{left:0}.home-carousel-arrow--next{right:0}.home-carousel-arrow:hover{color:#9fd00e;border-color:#9fd00e}.home-quality,.home-franchise{margin-top:14px}.home-body .home-collections,.home-body .home-bestsellers{max-width:none}@media(max-width:1200px){.home-body .home-benefits{grid-template-columns:repeat(3,1fr)}.home-body .home-benefits>div:nth-child(3){border-right:0}.home-body .home-benefits>div:nth-child(n+4){border-top:1px solid #4b4527}.home-collection-grid{grid-template-columns:repeat(3,1fr)}.home-heritage{grid-template-columns:42% 58%}.home-heritage-badges{grid-column:1/-1;flex-direction:row;justify-content:space-around;border-left:0;border-top:1px solid #49522c}.home-product-card{flex-basis:calc((100% - 40px)/3)}}@media(max-width:760px){.home-body .home-benefits{margin:8px 8px 0;grid-template-columns:1fr 1fr}.home-body .home-benefits>div{grid-template-columns:54px 1fr;min-height:104px;padding:10px 11px}.home-body .home-benefits>div:nth-child(odd){border-right:1px solid #4b4527}.home-body .home-benefits>div:nth-child(even){border-right:0}.home-body .home-benefits>div:nth-child(n+3){border-top:1px solid #4b4527}.home-benefit-icon{width:50px;height:50px}.home-benefit-icon .ui-icon{width:38px!important;height:38px!important}.home-benefit-copy b{font-size:11px}.home-benefit-copy small{font-size:9.5px}.home-body .home-section{padding:12px 8px}.home-body .home-section-heading h2{font-size:16px;letter-spacing:.1em}.home-collection-grid{grid-template-columns:1fr 1fr;gap:8px}.home-collection-card{min-height:260px}.home-reference-placeholder--collection{min-height:145px}.home-body .home-collection-card>div:last-child{padding:9px 10px 12px}.home-body .home-collection-card h3{font-size:13px}.home-body .home-collection-card p{font-size:10px}.home-body .home-collection-card>div:last-child>span{font-size:11px}.home-heritage{margin:0 8px 8px;grid-template-columns:1fr}.home-heritage-copy{padding:24px 20px}.home-heritage-title h2{font-size:23px}.home-heritage-title>.ui-icon:first-child{display:none}.home-reference-image--heritage{min-height:220px;background-size:1188px 465px;background-position:0 -132px}.home-heritage-badges{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px}.home-product-grid{gap:10px;padding:0 16px}.home-product-card{flex-basis:calc((100% - 10px)/2)}.home-product-media{height:125px;min-height:125px!important}.home-carousel-arrow{width:32px;height:32px}.home-product-cart{width:36px;height:36px}.home-quality,.home-franchise{margin-left:8px;margin-right:8px}}@media(max-width:430px){.home-body .home-benefits{grid-template-columns:1fr}.home-body .home-benefits>div{border-right:0!important;border-top:1px solid #4b4527}.home-body .home-benefits>div:first-child{border-top:0}.home-collection-grid{grid-template-columns:1fr}.home-reference-placeholder--collection{min-height:190px;background-size:1730px 676px}.home-product-card{flex-basis:78%}.home-heritage-badges{grid-template-columns:1fr}.home-section-heading--left span{display:none}.home-body .home-section-heading--left{grid-template-columns:1fr auto}.home-product-link>span{font-size:11px}}
.home-published-banners {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    max-width: 1440px;
    margin: 24px auto 0;
    padding: 0 24px;
}

.home-published-banner {
    position: relative;
    display: block;
    min-height: 150px;
    overflow: hidden;
    color: inherit;
    background: #f0f2ed;
    border-radius: 2px;
    text-decoration: none;
}

.home-published-banner img,
.home-published-banner video {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 150px;
    object-fit: cover;
}

.home-published-banner__copy {
    position: absolute;
    inset: auto 0 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 18px;
    color: #fff;
    background: linear-gradient(transparent, rgba(15, 31, 23, .86));
}

.home-published-banner__copy strong {
    font-size: 1rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.home-published-banner__copy span {
    font-size: .875rem;
}

@media (max-width: 700px) {
    .home-published-banners {
        grid-template-columns: 1fr;
        padding: 0 16px;
    }
}

/* Managed homepage sections are rendered from PageSection records. These
   rules intentionally replace the old reference-image composition while
   retaining the approved homepage visual hierarchy at every breakpoint. */
.home-page {
    font-family: var(--site-font-family, Inter, Arial, sans-serif);
    font-size: var(--site-base-size, 16px);
    line-height: 1.5;
}

.home-page :where(p, li, label, input, select, textarea, button, a) {
    font-family: inherit;
}

.home-page [data-home-section] {
    position: relative;
}

.home-page [data-home-animation="fade"] {
    animation: home-section-fade 520ms var(--site-motion-easing, ease-out) both;
}

.home-page [data-home-animation="rise"] {
    animation: home-section-rise 560ms var(--site-motion-easing, ease-out) both;
}

.home-page [data-home-animation="slide"] {
    animation: home-section-slide 560ms var(--site-motion-easing, ease-out) both;
}

@keyframes home-section-fade {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes home-section-rise {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes home-section-slide {
    from { opacity: 0; transform: translateX(18px); }
    to { opacity: 1; transform: translateX(0); }
}

.home-page .home-hero--managed {
    min-height: 0;
    padding: clamp(32px, 5vw, 76px) clamp(16px, 4vw, 64px);
    background: linear-gradient(105deg, #020b08 0%, #06291a 68%, #0a3b23 100%);
    border-bottom: 1px solid #315330;
}

.home-page .home-hero--managed .home-hero-composition {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(280px, 1.08fr);
    align-items: stretch;
    gap: clamp(24px, 5vw, 76px);
    width: min(1440px, 100%);
    min-height: clamp(390px, 46vw, 620px);
    aspect-ratio: auto;
    margin: 0 auto;
    overflow: visible;
    background: transparent;
}

.home-page .home-hero--managed .home-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 680px;
}

.home-page .home-hero--managed .home-hero-copy h1 {
    margin: 12px 0 22px;
    font-family: var(--site-heading-family, Georgia, serif);
    font-size: clamp(2.6rem, 5.5vw, 5.4rem);
    line-height: .95;
    letter-spacing: .015em;
}

.home-page .home-hero--managed .home-hero-copy > p:not(.eyebrow) {
    max-width: 560px;
    margin: 0;
    color: #d8e2dc;
    font-size: 1rem;
    line-height: 1.65;
}

.home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 28px;
}

.home-hero-text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #b4d85b;
    font-size: .95rem;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.home-page .home-hero--managed .home-hero-visual {
    display: grid;
    place-items: center;
    min-height: 0;
    border: 1px solid #477444;
    border-radius: var(--site-radius, 12px);
    overflow: hidden;
}

.home-managed-media {
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #b5c8b8;
    background:
        radial-gradient(circle at 50% 32%, rgba(80, 143, 72, .42), transparent 34%),
        linear-gradient(135deg, #173c27, #071710 72%);
}

.home-managed-media::after {
    position: absolute;
    inset: 0;
    pointer-events: none;
    content: '';
    background: linear-gradient(135deg, rgba(255, 255, 255, .04), transparent 42%, rgba(0, 0, 0, .16));
}

.home-managed-media img,
.home-managed-media video {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-managed-media[data-public-media-state="awaiting-approved-media"]::before {
    z-index: 1;
    max-width: 220px;
    padding: 12px;
    border: 1px dashed rgba(190, 220, 161, .55);
    border-radius: 6px;
    color: #d3e1d2;
    font-size: .82rem;
    line-height: 1.45;
    text-align: center;
    content: 'Approved media will appear here after it is selected in Media Manager.';
}

.home-managed-media > .sr-only {
    position: absolute;
}

.home-page .home-hero--managed .home-managed-media--hero {
    min-height: clamp(300px, 39vw, 560px);
}

.home-page .home-hero--managed .btn,
.home-page .home-hero--managed .home-hero-text-link,
.home-page .home-quality--managed .btn,
.home-page .home-franchise--managed .btn,
.home-page .home-heritage--managed .btn {
    font-size: 1rem;
}

.home-page .home-benefits > div,
.home-page .home-collection-card,
.home-page .home-product-card,
.home-page .home-published-banner,
.home-page .home-heritage--managed,
.home-page .home-quality--managed,
.home-page .home-franchise--managed {
    transition: transform var(--site-motion-duration, 180ms) var(--site-motion-easing, ease-out), border-color var(--site-motion-duration, 180ms) var(--site-motion-easing, ease-out), box-shadow var(--site-motion-duration, 180ms) var(--site-motion-easing, ease-out);
}

.home-page .home-benefits > div:hover,
.home-page .home-collection-card:hover,
.home-page .home-product-card:hover,
.home-page .home-published-banner:hover {
    transform: translateY(-2px);
}

.home-page .home-collections--managed .home-managed-media--collection {
    min-height: 158px;
}

.home-page .home-heritage--managed {
    grid-template-columns: minmax(240px, .9fr) minmax(260px, 1.3fr) minmax(150px, .34fr);
}

.home-page .home-heritage--managed .home-managed-media--heritage,
.home-page .home-quality--managed .home-managed-media--quality,
.home-page .home-franchise--managed .home-managed-media--franchise {
    min-height: 260px;
}

.home-page .home-heritage--managed .home-heritage-copy h2,
.home-page .home-quality--managed .home-quality-copy h2,
.home-page .home-franchise--managed h2 {
    font-family: var(--site-heading-family, Georgia, serif);
}

.home-page .home-heritage--managed .home-heritage-copy > p:not(.eyebrow),
.home-page .home-quality--managed .home-quality-copy > p:not(.eyebrow),
.home-page .home-franchise--managed p:not(.eyebrow) {
    font-size: 1rem;
    line-height: 1.6;
}

.home-page .home-product-card {
    padding-bottom: 54px;
}

.home-page .home-product-card .home-managed-media--product {
    min-height: 150px;
}

.home-page .home-product-card > span,
.home-page .home-product-card > strong,
.home-page .home-section-heading--left a,
.home-page .home-collection-card > div:last-child > span {
    font-size: .95rem;
}

.home-managed-empty,
.home-managed-empty-state {
    display: grid;
    place-items: center;
    gap: 12px;
    min-height: 180px;
    margin: 0 auto;
    padding: 32px 20px;
    color: #c9d8ca;
    text-align: center;
}

.home-managed-empty-state {
    min-height: 55vh;
    max-width: 760px;
}

.home-managed-empty-state h1 {
    margin: 0;
    font-family: var(--site-heading-family, Georgia, serif);
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: 1.05;
}

.home-managed-empty-state p:not(.eyebrow) {
    max-width: 520px;
    margin: 0;
    font-size: 1rem;
}

@media (min-width: 1101px) {
    .home-page [data-home-devices]:not([data-home-devices~="desktop"]) { display: none !important; }
}

@media (min-width: 701px) and (max-width: 1100px) {
    .home-page [data-home-devices]:not([data-home-devices~="tablet"]) { display: none !important; }
    .home-page .home-hero--managed .home-hero-composition { grid-template-columns: 1fr; }
    .home-page .home-hero--managed .home-hero-copy { max-width: 760px; }
    .home-page .home-hero--managed .home-managed-media--hero { min-height: 360px; }
    .home-page .home-heritage--managed { grid-template-columns: 1fr 1fr; }
    .home-page .home-heritage--managed .home-heritage-badges { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
    .home-page [data-home-devices]:not([data-home-devices~="mobile"]) { display: none !important; }
    .home-page .home-hero--managed { padding: 36px 16px 28px; }
    .home-page .home-hero--managed .home-hero-composition { grid-template-columns: 1fr; min-height: 0; }
    .home-page .home-hero--managed .home-hero-copy h1 { font-size: clamp(2.4rem, 13vw, 4.1rem); }
    .home-page .home-hero--managed .home-managed-media--hero { min-height: 280px; }
    .home-hero-actions { align-items: stretch; flex-direction: column; }
    .home-hero-actions .btn,
    .home-hero-actions .home-hero-text-link { justify-content: center; width: 100%; }
    .home-page .home-heritage--managed,
    .home-page .home-quality--managed,
    .home-page .home-franchise--managed { grid-template-columns: 1fr; margin-left: 8px; margin-right: 8px; }
    .home-page .home-heritage--managed .home-heritage-badges { grid-column: auto; }
    .home-page .home-heritage--managed .home-managed-media--heritage,
    .home-page .home-quality--managed .home-managed-media--quality,
    .home-page .home-franchise--managed .home-managed-media--franchise { min-height: 220px; }
    .home-page .home-product-card > span,
    .home-page .home-product-card > strong,
    .home-page .home-section-heading--left a,
    .home-page .home-collection-card > div:last-child > span { font-size: .875rem; }
}

@media (prefers-reduced-motion: reduce) {
    .home-page [data-home-animation="fade"],
    .home-page [data-home-animation="rise"],
    .home-page [data-home-animation="slide"] {
        animation: none;
    }
}
.collections-reference-photo,.collections-product-media{background:radial-gradient(circle at 50% 35%,#294b32,#0a1911 68%);display:grid;place-items:center;color:#a8bd9f;font-size:10px;letter-spacing:.08em;text-align:center;padding:12px}.collections-reference-photo{min-height:158px;position:relative}.collections-product-media{min-height:136px;padding:0}.collections-reference-photo img,.collections-product-media img{width:100%;height:100%;object-fit:cover}.collections-heritage-visual{min-height:267px}@media(max-width:760px){.collections-reference-photo{min-height:145px}.collections-product-media{height:125px;min-height:125px!important}.collections-heritage-visual{min-height:220px}}@media(max-width:430px){.collections-reference-photo{min-height:190px}}

/* Supplied homepage composition. The approved baseline is used only when a
   section has no selected media UUID; an approved Page Manager selection
   replaces the corresponding image without changing the section geometry. */
.home-page .home-hero--reference-art {
    padding: 0;
    border-bottom: 1px solid #2b4c31;
}

.home-page .home-published-banners--empty {
    display: none;
}

.home-page .home-hero--reference-art .home-hero-composition {
    display: block;
    width: 100%;
    max-width: none;
    min-height: 0;
    aspect-ratio: 864 / 384;
    overflow: hidden;
    background: #020b08;
}

.home-page .home-hero--reference-art .home-hero-art {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.home-page .home-hero--reference-art .home-hero-copy {
    position: absolute;
    z-index: 3;
    inset: 0;
    display: block;
    max-width: none;
    pointer-events: none;
}

.home-page .home-hero--reference-art .home-hero-copy > .eyebrow,
.home-page .home-hero--reference-art .home-hero-copy > h1,
.home-page .home-hero--reference-art .home-hero-copy > p:not(.eyebrow) {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.home-page .home-hero--reference-art .home-hero-actions {
    position: absolute;
    inset: 0;
    display: block;
    margin: 0;
    pointer-events: none;
}

.home-page .home-hero--reference-art .home-hero-actions > a {
    position: absolute;
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: transparent !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: auto;
    transform: none !important;
}

.home-page .home-hero--reference-art .home-hero-action--primary {
    top: 64%;
    right: 1.5%;
    width: 22%;
    height: 19%;
}

.home-page .home-hero--reference-art .home-hero-action--secondary {
    top: 73%;
    left: 2%;
    width: 19%;
    height: 13%;
}

.home-page .home-hero--reference-art .home-hero-action--tertiary {
    top: 73%;
    left: 21%;
    width: 21%;
    height: 13%;
}

.home-page .home-hero--reference-art .home-hero-actions > a:focus-visible {
    outline: 2px solid #d6a634;
    outline-offset: -2px;
}

.home-page .home-hero--reference-art .home-hero-visual {
    position: absolute;
    z-index: 2;
    inset: 0;
    min-height: 0;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

.home-page .home-reference-media {
    background-image: none;
    background-repeat: no-repeat;
    background-size: 864px auto;
}

.home-page .home-reference-media::before,
.home-page .home-reference-media::after {
    display: none;
    content: none;
}

@media (min-width: 701px) {
    .home-page .home-benefits {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .home-page .home-collection-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

.home-page .home-reference-media--collection-1 { background-position: -12px -613px; }
.home-page .home-reference-media--collection-2 { background-position: -153px -613px; }
.home-page .home-reference-media--collection-3 { background-position: -294px -613px; }
.home-page .home-reference-media--collection-4 { background-position: -435px -613px; }
.home-page .home-reference-media--collection-5 { background-position: -576px -613px; }
.home-page .home-reference-media--collection-6 { background-position: -717px -613px; }

.home-page .home-heritage--managed {
    grid-template-columns: 36% 51% 13%;
}

.home-page .home-heritage--managed .home-heritage-copy h2 {
    margin: 0;
    color: #f2f2e9;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(22px, 3.1vw, 30px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: .12em;
}

.home-page .home-heritage--managed .home-heritage-tagline {
    margin: 14px 0 8px;
    color: #d2952f;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 20px;
    font-style: italic;
    line-height: 1.15;
}

.home-page .home-heritage--managed .home-heritage-content {
    margin: 0 0 15px;
    color: #c7d4ca;
    font-size: 10px;
    line-height: 1.45;
}

.home-page .home-heritage--managed .home-heritage-visual {
    min-height: 260px;
    background-position: -270px -856px;
}

.home-page .home-reference-media--product-1 { background-position: -12px -1164px; }
.home-page .home-reference-media--product-2 { background-position: -153px -1164px; }
.home-page .home-reference-media--product-3 { background-position: -294px -1164px; }
.home-page .home-reference-media--product-4 { background-position: -435px -1164px; }
.home-page .home-reference-media--product-5 { background-position: -576px -1164px; }
.home-page .home-reference-media--product-6 { background-position: -717px -1164px; }

.home-page .home-product-grid {
    display: flex;
    gap: 7px;
    padding-right: 10px;
    padding-left: 10px;
}

.home-page .home-product-card {
    flex: 0 0 calc((100% - 35px) / 6);
}

.home-page .home-quality--managed .home-quality-visual {
    min-height: 160px;
    background-position: -315px -1325px;
}

.home-page .home-franchise--managed .home-franchise-visual {
    min-height: 155px;
    background-position: -185px -1490px;
}

@media (max-width: 700px) {
    .home-page .home-hero--reference-art .home-hero-composition {
        aspect-ratio: 864 / 384;
    }

    .home-page .home-heritage--managed {
        grid-template-columns: 1fr;
    }

    .home-page .home-heritage--managed .home-heritage-visual,
    .home-page .home-quality--managed .home-quality-visual,
    .home-page .home-franchise--managed .home-franchise-visual {
        min-height: 220px;
        background-size: 1188px auto;
    }

    .home-page .home-heritage--managed .home-heritage-visual {
        background-position: -270px -856px;
    }

    .home-page .home-product-card {
        flex-basis: calc((100% - 7px) / 2);
    }
}

/* The hero is a real layout: editable copy on the left, approved media in
   the centre and a functional Virtual Try-On panel on the right. The
   reference asset is cropped into the centre media slot only; it is never
   used as a flattened page-wide background or click target. */
.home-page .home-hero--three-column {
    padding: 0;
    background: #020b08;
    border-bottom: 1px solid #2b4c31;
}

.home-page .home-hero--three-column .home-hero-composition {
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 40%) minmax(0, 34%) minmax(0, 26%);
    width: 100%;
    max-width: none;
    height: clamp(360px, 44.444vw, 520px);
    min-height: 0;
    aspect-ratio: auto;
    gap: 0;
    overflow: hidden;
    background: #020b08;
}

.home-page .home-hero--three-column .home-hero-composition::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, .82) 0%,
        rgba(0, 0, 0, .80) 14%,
        rgba(0, 0, 0, .64) 26%,
        rgba(0, 0, 0, .30) 36%,
        transparent 44%,
        transparent 68%,
        rgba(0, 0, 0, .22) 76%,
        rgba(0, 0, 0, .50) 85%,
        rgba(0, 0, 0, .74) 93%,
        rgba(0, 0, 0, .82) 100%
    );
    content: '';
    pointer-events: none;
}

.home-page .home-hero--three-column .home-hero-copy {
    position: relative;
    z-index: 2;
    display: flex;
    min-width: 0;
    max-width: none;
    height: auto;
    flex-direction: column;
    justify-content: center;
    padding: clamp(24px, 3vw, 42px) clamp(20px, 2.35vw, 42px);
    pointer-events: auto;
    background: linear-gradient(90deg, #020b08 0%, #020b08 62%, rgba(2, 11, 8, .82) 100%);
}

.home-page .home-hero--three-column .home-hero-copy > .eyebrow,
.home-page .home-hero--three-column .home-hero-copy > h1,
.home-page .home-hero--three-column .home-hero-copy > p:not(.eyebrow) {
    position: static;
    width: auto;
    height: auto;
    margin-right: 0;
    margin-left: 0;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: normal;
}

.home-page .home-hero--three-column .home-hero-copy > .eyebrow {
    margin-top: 0;
    margin-bottom: 13px;
    color: #8cc63e;
    font-size: clamp(.68rem, 1.1vw, .92rem);
    letter-spacing: .08em;
}

.home-page .home-hero--three-column .home-hero-copy h1 {
    max-width: 360px;
    margin: 0 0 18px;
    color: #f4f4ee;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', Arial, sans-serif;
    font-size: clamp(2.45rem, 5.35vw, 5rem);
    font-weight: 400;
    line-height: .88;
    letter-spacing: .015em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .34);
}

.home-page .home-hero--three-column .home-hero-copy h1 span,
.home-page .home-hero--three-column .home-hero-copy h1 em {
    display: block;
    font-style: normal;
}

.home-page .home-hero--three-column .home-hero-copy h1 em {
    color: #168e3e;
}

.home-page .home-hero--three-column .home-hero-description {
    max-width: 320px;
    margin: 0;
    color: #d8e2dc;
    font-size: clamp(.72rem, 1.05vw, .96rem);
    line-height: 1.48;
}

.home-page .home-hero--three-column .home-hero-actions {
    position: static;
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 25px 0 0;
    pointer-events: auto;
}

.home-page .home-hero--three-column .home-hero-actions > a {
    position: static;
    display: inline-flex;
    width: auto;
    height: auto;
    min-height: 34px;
    margin: 0;
    padding: 9px 13px;
    overflow: visible;
    color: #f5f5ee !important;
    font-size: clamp(.62rem, .82vw, .76rem);
    line-height: 1.2;
    text-decoration: none;
    background: #218b3e !important;
    border: 1px solid #2b9d48 !important;
    box-shadow: none !important;
    pointer-events: auto;
    transform: none !important;
}

.home-page .home-hero--three-column .home-hero-actions > a.home-hero-action--secondary {
    background: transparent !important;
    border-color: #778276 !important;
}

.home-page .home-hero--three-column .home-hero-actions > a.home-hero-action--tertiary {
    display: none;
}

.home-page .home-hero--three-column .home-hero-center {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #081a12;
}

.home-page .home-hero--three-column .home-hero-center-media {
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: #081a12;
}

.home-page .home-hero--three-column .home-hero-center-media::after {
    background: none;
}

.home-page .home-hero--three-column .home-hero-center-image {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.home-page .home-hero--three-column.home-hero--reference-art .home-hero-center-image {
    /* The reference is 864x384. At the centre slot's aspect ratio this crop
       retains the model and hat while excluding the reference copy/form. */
    object-position: 55% center;
}

.home-page .home-hero--three-column .home-hero-center-caption {
    position: absolute;
    right: 14px;
    bottom: 12px;
    z-index: 3;
    color: rgba(244, 244, 238, .68);
    font-size: 9px;
    letter-spacing: .18em;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

.home-page .home-hero--three-column .home-hero-tryon {
    position: relative;
    z-index: 3;
    display: flex;
    min-width: 0;
    min-height: 0;
    height: fit-content;
    align-self: center;
    margin: 0 14px 0 0;
    padding: 15px 13px 11px;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    overflow: hidden;
    color: #f1f5ee;
    background: linear-gradient(145deg, rgba(2, 22, 13, .98), rgba(3, 14, 10, .98));
    border: 1px solid #527d37;
    border-radius: 7px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .28);
}

.home-page .home-hero--three-column .home-hero-tryon > .eyebrow {
    margin: 0 0 6px;
    color: #56a94e;
    font-size: clamp(.58rem, .78vw, .72rem);
    letter-spacing: .13em;
}

.home-page .home-hero--three-column .home-hero-tryon h2 {
    margin: 0 0 9px;
    color: #f4f1e9;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.35rem, 2.25vw, 2rem);
    font-weight: 400;
    line-height: .98;
}

.home-page .home-hero--three-column .home-hero-tryon-copy {
    margin: 0 0 11px;
    color: #d4dfd5;
    font-size: clamp(.62rem, .82vw, .76rem);
    line-height: 1.35;
}

.home-page .home-tryon-upload-panel {
    display: grid;
    place-items: center;
    gap: 4px;
    min-height: 102px;
    padding: 9px 7px 8px;
    border: 1px dashed #4b773a;
    border-radius: 5px;
    background: rgba(7, 28, 17, .56);
}

.home-page .home-tryon-upload-action,
.home-page .home-tryon-camera-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.home-page .home-tryon-upload-action {
    flex-direction: column;
    gap: 4px;
    width: 100%;
    color: #eef1e9;
    font-size: clamp(.57rem, .72vw, .68rem);
}

.home-page .home-tryon-upload-action .ui-icon {
    color: #e8ede6;
}

.home-page .home-tryon-or {
    color: #b3c0b4;
    font-size: .62rem;
}

.home-page .home-tryon-camera-action {
    gap: 5px;
    min-width: 112px;
    min-height: 24px;
    padding: 4px 8px;
    color: #eef1e9;
    font-size: clamp(.53rem, .7vw, .64rem);
    border: 1px solid #65766a;
    border-radius: 3px;
}

.home-page .home-tryon-file {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.home-page .home-tryon-upload-action:focus-within,
.home-page .home-tryon-camera-action:focus-within,
.home-page .home-tryon-upload-panel:focus-within {
    outline: 2px solid #d6a634;
    outline-offset: 2px;
}

.home-page .home-tryon-upload-panel small {
    max-width: 100%;
    overflow: hidden;
    color: #9fb09f;
    font-size: .56rem;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-page .home-hero--three-column .home-hero-tryon-start {
    display: inline-flex;
    width: 100%;
    min-height: 28px;
    margin-top: 10px;
    padding: 7px 8px;
    align-items: center;
    justify-content: center;
    color: #f3f7ef;
    font-size: clamp(.58rem, .76vw, .7rem);
    line-height: 1;
    background: linear-gradient(90deg, #287f3c, #399c4e);
    border: 1px solid #4bab55;
}

.home-page .home-tryon-privacy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 8px 0 8px;
    color: #c4d1c5;
    font-size: .56rem;
    line-height: 1.2;
}

.home-page .home-tryon-privacy .ui-icon {
    color: #e9efe7;
}

.home-page .home-tryon-thumbnails {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    margin-top: auto;
}

.home-page .home-tryon-thumbnail {
    display: block;
    min-width: 0;
    aspect-ratio: 1 / 1.12;
    overflow: hidden;
    border: 1px solid rgba(229, 232, 217, .65);
    border-radius: 3px;
    background-color: #13261a;
    background-image: none;
    background-repeat: no-repeat;
    background-size: 252% auto;
}

.home-page .home-tryon-thumbnail--one { background-position: 48% 48%; }
.home-page .home-tryon-thumbnail--two { background-position: 55% 46%; }
.home-page .home-tryon-thumbnail--three { background-position: 62% 46%; }
.home-page .home-tryon-thumbnail--four { background-position: 70% 44%; }

.home-page .home-published-banners--empty {
    display: none;
}

@media (max-width: 900px) and (min-width: 701px) {
    .home-page .home-hero--three-column .home-hero-composition {
        grid-template-columns: minmax(0, 39%) minmax(0, 37%) minmax(0, 24%);
    }

    .home-page .home-hero--three-column .home-hero-copy {
        padding-right: 18px;
        padding-left: 18px;
    }

    .home-page .home-hero--three-column .home-hero-copy h1 {
        font-size: clamp(2.1rem, 5.3vw, 3.55rem);
    }

    .home-page .home-hero--three-column .home-hero-actions {
        gap: 6px;
    }

    .home-page .home-hero--three-column .home-hero-actions > a {
        padding-right: 8px;
        padding-left: 8px;
        font-size: .57rem;
    }
}

@media (max-width: 700px) {
    .home-page .home-hero--three-column .home-hero-composition {
        display: grid;
        grid-template-columns: 1fr;
        height: auto;
        aspect-ratio: auto;
    }

    .home-page .home-hero--three-column .home-hero-copy {
        min-height: 330px;
        padding: 34px 18px 28px;
        background: linear-gradient(180deg, #020b08, #03140d);
    }

    .home-page .home-hero--three-column .home-hero-copy h1 {
        max-width: 420px;
        font-size: clamp(2.8rem, 13vw, 4.2rem);
    }

    .home-page .home-hero--three-column .home-hero-description {
        max-width: 360px;
        font-size: .86rem;
    }

    .home-page .home-hero--three-column .home-hero-actions {
        align-items: stretch;
        flex-direction: column;
        max-width: 360px;
    }

    .home-page .home-hero--three-column .home-hero-actions > a {
        width: 100%;
        justify-content: center;
        font-size: .72rem;
    }

    .home-page .home-hero--three-column .home-hero-center {
        height: 360px;
    }

    .home-page .home-hero--three-column .home-hero-center-image {
        object-position: 55% center;
    }

    .home-page .home-hero--three-column .home-hero-tryon {
        min-height: 390px;
        margin: 10px 8px 14px;
        padding: 20px 16px 14px;
    }

    .home-page .home-hero--three-column .home-hero-tryon h2 {
        font-size: 2rem;
    }

    .home-page .home-hero--three-column .home-hero-tryon-copy {
        font-size: .86rem;
    }

    .home-page .home-tryon-upload-panel {
        min-height: 140px;
    }

    .home-page .home-hero--three-column .home-hero-tryon-start {
        min-height: 40px;
        font-size: .78rem;
    }

    .home-page .home-tryon-privacy,
    .home-page .home-tryon-upload-panel small {
        font-size: .68rem;
    }
}


/* Homepage catalogue discovery: every public root category and every active
   visible collection are rendered from database records, not a six-card seed. */
.home-catalog-groups{display:grid;gap:24px}
.home-catalog-group{display:grid;gap:10px}
.home-category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.home-category-card{display:grid;min-height:138px;padding:16px;align-content:center;justify-items:center;gap:7px;border:1px solid #48603b;border-radius:6px;background:#06130d;color:#f4f1e9;text-align:center;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.home-category-card:hover,.home-category-card:focus-visible{transform:translateY(-2px);border-color:#9aba1c;box-shadow:0 12px 28px rgba(0,0,0,.28)}
.home-category-card__icon{display:grid;width:50px;height:50px;place-items:center;border:1px solid #64804e;border-radius:50%;background:#0a1d13;color:#9dcc27}
.home-category-card strong{font-size:14px;line-height:1.2}
.home-category-card small{color:#9fb0a5;font-size:11px}
.home-category-card em{display:inline-flex;align-items:center;gap:5px;color:#9fce0b;font-size:11px;font-style:normal;font-weight:700}
.home-category-product-groups{display:grid;gap:20px;margin-top:8px}
.home-category-product-group{display:grid;gap:9px}
.home-category-product-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:7px;border-bottom:1px solid #33452f}
.home-category-product-heading h3{margin:0;color:#f4f0e7;font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400;letter-spacing:.07em}
.home-category-product-heading a{display:inline-flex;align-items:center;gap:6px;color:#9fce0b;font-size:11px;font-weight:700;white-space:nowrap}
.home-category-product-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.home-collection-grid--all{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-collection-fallback-icon{position:relative;z-index:2;display:grid;width:66px;height:66px;place-items:center;border:1px solid rgba(158,201,62,.45);border-radius:50%;color:#9dcc27;background:rgba(4,24,14,.64)}
@media(max-width:1200px){.home-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-category-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.home-collection-grid--all{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-category-grid,.home-collection-grid--all{grid-template-columns:repeat(2,minmax(0,1fr))}.home-category-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-category-card{min-height:124px;padding:12px}.home-category-product-heading h3{font-size:16px}}
@media(max-width:430px){.home-category-grid,.home-collection-grid--all{grid-template-columns:1fr}.home-category-product-grid{grid-template-columns:1fr!important}.home-category-card{min-height:112px}}

@media(max-width:760px){
  .home-page .home-product-grid--static{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:0}
}
@media(max-width:430px){
  .home-page .home-product-grid--static{grid-template-columns:1fr}
}

/* Bestseller rows with six or fewer products should fill the available width.
   Higher specificity keeps this behavior after the reference-layout rules. */
.home-page .home-product-grid.home-product-grid--static{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
  overflow:visible;
  scroll-snap-type:none;
  padding-right:0;
  padding-left:0;
}
.home-page .home-product-grid.home-product-grid--static .home-product-card{
  width:auto;
  max-width:none;
  flex:none;
}
@media(max-width:760px){
  .home-page .home-product-grid.home-product-grid--static{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    padding-right:0;
    padding-left:0;
  }
}
@media(max-width:430px){
  .home-page .home-product-grid.home-product-grid--static{grid-template-columns:1fr}
}


/* Homepage product cards must show the complete approved product photo.
   Product photography often uses square source canvases; cover would crop
   the crown/brim when the card is wider than the media slot. */
.home-page .home-product-card .home-product-media.home-managed-media--product{
  display:grid;
  place-items:center;
  width:100%;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:4 / 3;
  padding:0;
  overflow:hidden;
  background:#f2f3f0;
}
.home-page .home-product-card .home-product-media.home-managed-media--product img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center;
}
@media(max-width:700px){
  .home-page .home-product-card .home-product-media.home-managed-media--product{
    aspect-ratio:4 / 3;
  }
}
