/* Editorial photography and progressive catalogue browsing. */
.ah-design-v2 { --ah-green: #193a32; --ah-gold: #a98c57; }
.ah-design-v2 [hidden] { display: none !important; }
.ah-design-v2 .ah-eyebrow { margin: 0 0 14px; font: 11px/1.5 Arial, sans-serif; text-transform: uppercase; letter-spacing: .19em; color: #6c735f; }
.ah-design-v2 h2, .ah-design-v2 h3 { text-wrap: balance; }
.ah-design-v2 .ah-cta { display: inline-flex; align-items: center; gap: 30px; padding: 16px 22px; background: #e7d6ad; color: #193a32; font: 600 14px/1.5 Arial, sans-serif; text-decoration: none; border: 1px solid #e7d6ad; }
.ah-design-v2 .ah-cta:hover { background: #f2e6c9; }
.ah-quiet-link { color: inherit; font-size: 14px; }
.ah-text-link { color: var(--ah-green); font-size: 14px; }
body.ah-home.ah-design-v2 { max-width: 1440px; padding: 0; }
.ah-design-v2 .ah-home-header { padding: 26px 4.5%; margin: 0; }
.ah-design-v2 .ah-brand { font-size: 29px; }
.ah-design-v2 .ah-header-actions { letter-spacing: .04em; font-size: 11px; }
.ah-home.ah-design-v2 > .ah-nav { margin: 0; padding: 0 3.3%; border-bottom: 0; background: #f0eee7; }
.ah-design-v2 .ah-editorial-hero { position: relative; min-height: 580px; background: #102a23; overflow: hidden; isolation: isolate; }
.ah-hero-art { position: absolute; inset: 0; z-index: -2; }
.ah-hero-art img { display: block; margin-left: auto; width: 68%; height: 100%; object-fit: cover; object-position: 50% 47%; border-radius: 0; mask-image: linear-gradient(90deg, transparent, #000 42%); }
.ah-hero-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #102a23 23%, #102a23eb 42%, #102a2335 72%, #102a230a); }
.ah-editorial-copy { max-width: 560px; padding: 70px 0 65px 7%; color: #fffaf0; }
.ah-editorial-copy .ah-eyebrow { color: #d2c3a0; }
.ah-editorial-copy h1 { margin: 26px 0 28px; font: 51px/1.13 Georgia, serif; text-wrap: balance; }
.ah-editorial-copy h1 font { font: inherit !important; color: inherit !important; }
.ah-editorial-copy h1 span { letter-spacing: 0 !important; }
.ah-editorial-copy h1 > span:first-child { display: block; text-wrap: balance; }
.ah-editorial-copy h1 > span:first-child br { display: none; }
.ah-editorial-copy h1 i { display: block; font: 18px/1.5 Georgia, serif; color: #e0cc9b; margin-top: 18px; }
.ah-hero-line { font: 20px/1.7 Georgia, serif; color: #e3e8df; margin: 0 0 32px; }
.ah-hero-actions { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }
.ah-confidence { display: flex; justify-content: space-around; gap: 20px; padding: 23px 5%; border-bottom: 1px solid #dedbd3; font-size: 13px; }
.ah-confidence a { color: #364c43; text-decoration: none; }
.ah-confidence a:hover { text-decoration: underline; }
.ah-introduction { max-width: 860px; margin: 0 auto; padding: 70px 7% 56px; text-align: center; }
.ah-introduction .auto-style1 { text-align: center; margin: 0; }
.ah-introduction .auto-style1, .ah-introduction .auto-style1 font { font: 19px/1.8 Georgia, serif !important; color: #485249 !important; }
.ah-introduction .auto-style1 b, .ah-introduction .auto-style1 strong { font-weight: 400; }
.ah-introduction .auto-style1 span { letter-spacing: 0 !important; }
.ah-collection-section { padding: 20px 5% 72px; scroll-margin-top: 24px; }
.ah-section-title { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.ah-section-title h2 { font: 37px/1.15 Georgia, serif; color: #193a32; margin: 0; }
.ah-visual-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px 20px; }
.ah-visual-card { display: flex; flex-direction: column; background: #fff; color: #253e34; text-decoration: none; border: 1px solid #e0dfd6; }
.ah-card-photo { overflow: hidden; aspect-ratio: 1.15; background: #e9e8e0; }
.ah-card-photo picture, .ah-history-photo picture { display: contents; }
.ah-card-photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.ah-card-copy { padding: 22px 20px; flex: 1; display: flex; flex-direction: column; }
.ah-card-copy h3 { margin: 0 0 10px; color: #193a32; font: 23px/1.22 Georgia, serif; }
.ah-card-copy p { margin: 0 0 22px; font: 14px/1.65 Arial,sans-serif; color: #62685e; }
.ah-card-link { display: flex; justify-content: space-between; align-items: center; margin-top: auto; font: 600 12px/1.5 Arial,sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.ah-visual-card:hover { border-color: #a98c57; text-decoration: none; }
.ah-visual-card:hover img { transform: scale(1.035); opacity: 1; }
.ah-history-feature { display: grid; grid-template-columns: 1fr 1fr; background: #193a32; color: #f8f6ed; }
.ah-history-photo { min-height: 500px; }
.ah-history-photo img { width: 100%; height: 100%; max-height: 610px; object-fit: cover; object-position: 50% 50%; display: block; }
.ah-history-copy { padding: 64px 12%; align-self: center; }
.ah-history-copy .ah-eyebrow { color: #d2c3a0; }
.ah-history-copy h2 { font: 45px/1.15 Georgia,serif; margin: 0 0 25px; }
.ah-history-copy p:not(.ah-eyebrow) { font: 16px/1.8 Arial,sans-serif; color: #d2dbd0; margin-bottom: 30px; }
.ah-design-v2 .ah-stories-heading { padding: 65px 5% 0; }
.ah-design-v2 .ah-stories { margin: 0 5%; padding-top: 0; border: 0; padding-bottom: 65px; }
.ah-design-v2 .ah-home-footer { margin: 0; padding: 35px 5%; background: #f0eee7; }
.ah-design-v2 .ah-home-footer h2 { font-weight: normal; }
.ah-design-v2 .ah-home-footer > p { max-width: 950px; margin: 22px auto 0; }
.ah-design-v2 .ah-unified-header { padding: 18px 4%; gap: 30px; background: var(--ah-paper); border-bottom: 1px solid var(--ah-line); }
.ah-unified-header .ah-brand-logo { flex: 0 0 180px; }
.ah-unified-header .ah-brand-logo img { display: block; width: 180px; height: auto; mix-blend-mode: multiply; }
.ah-unified-header .ah-nav { flex: 1; margin: 0; border: 0; }
.ah-unified-header .ah-nav > ul { justify-content: flex-end; gap: 2px; }
.ah-unified-header .ah-nav > ul > li > a, .ah-unified-header .ah-nav > ul > li > details > summary { padding: 14px 12px; border-radius: 6px; font-size: 14px; }
.ah-unified-header .ah-nav > ul > li > details > ul { margin-top: 8px; border-radius: 10px; box-shadow: 0 18px 45px #102a2324; }
.ah-unified-header .ah-nav > ul > li:nth-last-child(-n+3) > details > ul { right: 0; }
.ah-unified-header .ah-nav ul ul a, .ah-unified-header .ah-nav ul ul summary { border-radius: 5px; }
.ah-home.ah-design-v2 .ah-collection-section { padding-top: 58px; }
.ah-collection-intro { max-width: 650px; margin: 18px 0 0; color: #58635a; font: 16px/1.75 Arial, sans-serif; }
.ah-home-footer img[src^="images/Icons/"] { mix-blend-mode: multiply; }
.ah-catalogue-tools { padding: 26px; margin: 40px 0 24px; background: #eeeee6; border: 1px solid #d8dbcd; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; scroll-margin-top: 16px; }
.ah-catalogue-tools label { display: block; font: 25px/1.2 Georgia,serif; color: #193a32; }
.ah-search-field { align-self: center; display: flex; background: white; border: 1px solid #c2c9b9; }
.ah-search-field input { font: 16px Arial,sans-serif; padding: 15px; width: 100%; min-width: 0; border: 0; background: transparent; }
.ah-search-field button { padding: 10px 15px; border: 0; background: transparent; color: #193a32; cursor: pointer; }
.ah-order-label { display: inline-flex; align-items: center; gap: 24px; font: 600 13px/1.5 Arial,sans-serif; padding: 4px 6px; }
.ah-catalogue-jump { display: block; width: fit-content; margin: 0 auto 24px; padding: 12px 22px; border: 1px solid #c9cfbf; color: #193a32; background: #eeeee6; text-decoration: none; font: 14px/1.5 Arial,sans-serif; }
.ah-details-label { display: inline-flex; gap: 30px; align-items: center; padding: 11px 18px; border: 1px solid #cad0c0; margin-top: 12px; font: 600 13px/1.5 Arial,sans-serif; color: #193a32; background: #f5f4ed; }
.ah-filter-buttons { display: flex; flex-wrap: wrap; gap: 8px; grid-column: 1/-1; }
.ah-filter-buttons button { border: 1px solid #b7c0ae; border-radius: 30px; padding: 10px 16px; background: #fff; color: #304634; cursor: pointer; font: 14px Arial,sans-serif; }
.ah-filter-buttons button[aria-pressed="true"] { background: #193a32; border-color: #193a32; color: white; }
.ah-results-count, .ah-no-results { margin: 0; grid-column: 1/-1; font-size: 14px; color: #465841; }
.ah-catalogue table.ah-product-grid { display: block; width: 100% !important; border: 0; }
.ah-catalogue .ah-product-grid > tbody { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; width: 100%; }
.ah-catalogue tr.ah-product-card { display: flex; flex-direction: column; padding: 20px; background: white; border: 1px solid #dedfd6; min-width: 0; }
.ah-catalogue tr.ah-product-card > td { display: block; width: auto !important; height: auto !important; padding: 0; text-align: left; }
.ah-catalogue tr.ah-product-card > td:first-child { min-height: 180px; display: flex; align-items: center; justify-content: center; background: #f7f7f3; margin-bottom: 18px; }
.ah-catalogue tr.ah-product-card > td:first-child img { display: block; width: auto; max-height: 190px; object-fit: contain; }
.ah-catalogue .ah-product-card h3, .ah-catalogue .ah-product-card p { text-align: left; margin: 8px 0; }
.ah-catalogue .ah-product-card h3, .ah-catalogue .ah-product-card h3 font { font-size: 17px !important; line-height: 1.5; }
.ah-catalogue .ah-product-card td:nth-child(2) > p:empty { display: none; }
.ah-catalogue .ah-product-card img[src*="detailsbutton"] { margin-top: 10px; padding: 10px 16px; background: #f2f0e6; border: 1px solid #dbdece; }
.ah-sword-shortcuts { padding: 32px 0; margin-bottom: 28px; border-bottom: 1px solid #dedbd3; }
.ah-sword-shortcuts .ah-card-photo { aspect-ratio: 1; }
.ah-sword-shortcuts .ah-card-photo img { object-fit: contain; background: #efeee9; }
.ah-sword-shortcuts .ah-card-copy h3 { font-size: 21px; }
.ah-main-photo { display: block; background: white; border: 1px solid #e0dfd6; padding: 42px 20px; cursor: zoom-in; }
.ah-photo-hint { display: block; margin: 10px 0; color: #67705f; font: 12px/1.5 Arial,sans-serif; }
.ah-image-viewer { box-sizing: border-box; width: min(1100px,94vw); max-width: 94vw; max-height: 92vh; padding: 20px; border: 1px solid #b4bda8; background: #faf8f3; color: #193a32; }
.ah-image-viewer::backdrop { background: #0c1813dc; }
.ah-viewer-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.ah-viewer-header h2 { font: 22px Georgia,serif; margin: 0; }
.ah-image-viewer button { background: white; border: 1px solid #c2c9b9; padding: 12px 18px; color: #193a32; cursor: pointer; font: 14px Arial,sans-serif; }
.ah-viewer-stage { display: flex; align-items: center; justify-content: center; min-height: 200px; background: white; }
.ah-viewer-stage img { display: block; max-width: 100%; max-height: 64vh; object-fit: contain; }
.ah-viewer-controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 16px; }
.ah-viewer-controls a { font-size: 13px; color: #193a32; }
.ah-image-viewer:focus-visible, .ah-search-field input:focus-visible { outline: 3px solid #a98c57; outline-offset: 3px; }
@media (max-width: 1050px) { .ah-visual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .ah-editorial-copy { max-width: 470px; padding-left: 5%; } }
@media (min-width: 761px) and (max-width: 1050px) { .ah-design-v2 .ah-unified-header { gap: 18px; padding: 16px 24px; } .ah-unified-header .ah-brand-logo { flex-basis: 150px; } .ah-unified-header .ah-nav > ul > li > a, .ah-unified-header .ah-nav > ul > li > details > summary { padding: 12px 8px; font-size: 13px; } }
@media (max-width: 760px) {
 .ah-design-v2 .ah-home-header { padding: 20px 16px; }
 .ah-design-v2 .ah-brand { font-size: 23px; }
 .ah-design-v2 .ah-header-catalogue { display: none; }
 .ah-home.ah-design-v2 > .ah-nav { padding: 0 6px; }
 .ah-design-v2 .ah-editorial-hero { min-height: 620px; display: flex; align-items: end; }
 .ah-hero-art { inset: 0; }
 .ah-hero-art img { width: 100%; mask-image: none; object-position: 55% 35%; }
 .ah-hero-shade { background: linear-gradient(0deg,#102a23 4%,#102a23e8 40%,#102a2340 100%); }
 .ah-editorial-copy { max-width: none; padding: 170px 24px 35px; }
 .ah-editorial-copy h1 { font-size: 40px; }
 .ah-hero-line { font-size: 18px; }
 .ah-hero-actions { gap: 18px; }
 .ah-confidence { display: grid; grid-template-columns: 1fr; gap: 12px; text-align: center; padding: 22px 15px; font-size: 12px; }
 .ah-introduction { padding: 45px 24px; }
 .ah-introduction .auto-style1 font { font-size: 18px !important; }
 .ah-section-title { align-items: start; flex-direction: column; gap: 16px; }
 .ah-section-title h2 { font-size: 31px; }
 .ah-collection-section { padding: 10px 16px 45px; }
 .ah-visual-grid { gap: 18px 12px; }
 .ah-card-copy { padding: 17px 14px; }
 .ah-card-copy h3 { font-size: 21px; }
 .ah-card-copy p { font-size: 13px; }
 .ah-history-feature { grid-template-columns: 1fr; }
 .ah-history-photo { min-height: 0; height: 360px; }
 .ah-history-copy { padding: 40px 24px; }
 .ah-history-copy h2 { font-size: 38px; }
 .ah-design-v2 .ah-stories-heading { padding-top: 45px; }
 .ah-catalogue-tools { grid-template-columns: 1fr; padding: 20px 16px; }
 .ah-catalogue .ah-product-grid > tbody { grid-template-columns: 1fr; }
 .ah-catalogue tr.ah-product-card > td:first-child { min-height: 130px; }
 .ah-sword-shortcuts .ah-visual-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .ah-viewer-controls { flex-wrap: wrap; }
 .ah-viewer-controls a { flex-basis: 100%; text-align: center; }
 .ah-design-v2 .ah-unified-header { flex-direction: column; align-items: stretch; gap: 14px; padding: 16px; }
 .ah-unified-header .ah-brand-logo { flex-basis: auto; align-self: center; }
 .ah-unified-header .ah-brand-logo img { width: 150px; }
 .ah-unified-header .ah-nav { width: 100%; }
 .ah-unified-header .ah-nav > ul { justify-content: start; }
 .ah-unified-header .ah-nav > ul > li > details > ul { box-shadow: none; margin: 2px 0 10px; }
 .ah-home.ah-design-v2 .ah-collection-section { padding-top: 34px; }
}
@media (max-width: 400px) { .ah-visual-grid, .ah-sword-shortcuts .ah-visual-grid { grid-template-columns: 1fr; } .ah-card-photo { aspect-ratio: 1.45; } }
@media (prefers-reduced-motion: reduce) { .ah-card-photo img { transition: none; } .ah-visual-card:hover img { transform: none; } }
@media print { .ah-catalogue-tools, .ah-image-viewer { display: none !important; } .ah-editorial-hero { color: black; background: white; } }

.ah-carousel-frame .ah-gallery-expand{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #d5ddd3;border-radius:50%;background:#fffdf8;color:#234637;box-shadow:0 2px 10px #172e1920;cursor:pointer;z-index:2}
.ah-gallery-expand:focus-visible{outline:2px solid #977b36;outline-offset:3px}

.ah-results-count{min-height:1.5em}
