.catalog-page{max-width:1680px;margin:0 auto;padding:49px 5.4% 65px}.catalog-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}.catalog-intro h1{font-size:clamp(43px,4.6vw,72px);margin:17px 0 15px;line-height:1.08}.catalog-intro h1 em{color:#49877e}.catalog-intro>div>p:last-child{font-size:1rem}.catalog-intro>.text-link{margin-bottom:5px}.catalog-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;display:flex;justify-content:space-between;gap:22px;align-items:flex-end}.category-options{display:flex;flex-wrap:wrap;gap:9px}.category-options button{border:1px solid #b6c9c2;border-radius:0;background:#fff;min-height:45px;padding:10px 15px;color:var(--ink);font-size:.875rem;cursor:pointer;transition:background .15s,border-color .15s}.category-options button:hover{background:#eef7f3}.category-options button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.catalog-search{flex:0 1 305px;min-width:240px}.catalog-search label{font-size:.75rem;margin-bottom:6px;display:block;color:#4b665d}.search-field{position:relative}.search-field svg{width:20px;height:20px;position:absolute;left:12px;top:14px;pointer-events:none}.search-field input{font:inherit;font-size:1rem;width:100%;padding:11px 12px 11px 41px;min-height:46px;border:1px solid #a5bdb4;border-radius:0;color:var(--ink);background:white}.search-field input:focus{outline:2px solid #298277;outline-offset:2px}.search-field input::placeholder{color:#637b72;opacity:1}.catalog-meta{display:flex;justify-content:space-between;gap:20px;padding:20px 0 10px}.catalog-meta p{font-size:.875rem}.catalog-meta p:first-child{color:var(--ink)}.reference-note{font-size:.8125rem;max-width:920px;line-height:1.7;color:#62776e;margin-bottom:30px}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 23px}.catalog-card{display:flex;flex-direction:column;position:relative;text-align:left;padding:0;border:0;border-bottom:1px solid var(--line);background:white;color:var(--ink);min-width:0;cursor:pointer}.catalog-card:hover .catalog-card-title{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.catalog-card:focus-visible{outline:2px solid #298277;outline-offset:7px}.catalog-photo-frame{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1.04;width:100%;background:#fff;position:relative;padding:10px;overflow:hidden}.catalog-photo-frame .photo-enlarge{position:absolute;bottom:12px;right:12px;background:white;border:1px solid #dce4df;display:flex;width:32px;height:32px;align-items:center;justify-content:center;font-size:20px}.catalog-crop{display:block;position:relative;overflow:hidden;width:100%;flex-shrink:0;background:white}.catalog-crop img{position:absolute;top:0;left:0;width:100%;height:auto;max-width:none;object-fit:initial}.catalog-card-copy{display:flex;flex-direction:column;width:100%;padding:18px 0 20px;flex:1}.catalog-card-category{font-size:.75rem;letter-spacing:.12em;color:#5a7970;text-transform:uppercase;margin-bottom:8px}.catalog-card-title{font-family:var(--serif);font-size:1.4rem;line-height:1.3;letter-spacing:-.015em;font-weight:400;margin-bottom:12px;overflow-wrap:anywhere}.catalog-card-ref{font-size:.875rem;color:#536f65;margin-top:auto}.catalog-card-action{font-size:.875rem;color:var(--ink);margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.catalog-card-action>span{font-size:20px}.catalog-more{text-align:center;margin-top:40px}.catalog-more p{font-size:.875rem;margin-top:16px}.button-outline{border:1px solid var(--ink);background:white;color:var(--ink);cursor:pointer;min-width:205px}.button-outline:hover{background:var(--tiffany-light)}.catalog-empty{text-align:center;background:var(--paper);padding:48px 25px;margin:30px 0}.catalog-empty h2{font-size:34px;line-height:1.2;margin-bottom:12px}.catalog-empty p{margin-bottom:23px;font-size:1rem}.catalog-empty .button{border:0;cursor:pointer}.catalog-empty .text-link{margin:20px}.catalog-empty[hidden],#load-more[hidden]{display:none}.product-dialog{padding:0;border:0;width:min(1010px,calc(100% - 40px));max-height:calc(100dvh - 48px);margin:auto;color:var(--ink);background:#fff;overflow:auto;box-shadow:0 22px 70px #0002}.product-dialog::backdrop{background:rgb(12 37 33 / 66%)}body:has(.product-dialog[open]){overflow:hidden}.close-dialog{position:absolute;z-index:2;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #b8cdc4;background:#fff;color:var(--ink);font-size:31px;cursor:pointer;line-height:1}.detail-layout{display:grid;grid-template-columns:1fr 1fr;min-height:570px}.detail-gallery{background:#fff;padding:60px 25px 27px;display:flex;flex-direction:column;justify-content:center}.detail-image{min-height:320px;display:flex;align-items:center;justify-content:center;overflow:hidden}.detail-gallery>p{font-size:.75rem;text-align:center;margin-top:22px;color:#536d62}.detail-thumbnails{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}.detail-thumbnails:empty{display:none}.detail-thumb{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border:1px solid #bac9c1;padding:3px;background:#fff;cursor:pointer}.detail-thumb[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.detail-info{padding:62px 36px 34px}.detail-info h2{font-size:38px;line-height:1.15;letter-spacing:-.025em;margin:15px 0}.detail-code{font-size:.875rem;color:#587066;margin-bottom:19px}.detail-info>p:not(.eyebrow,.detail-code,.detail-note){font-size:1rem;line-height:1.75}.detail-specs{margin:24px 0}.detail-specs>div{padding:12px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:100px 1fr;gap:12px}.detail-specs>div:last-child{border-bottom:1px solid var(--line)}.detail-specs dt,.detail-specs dd{margin:0;font-size:.875rem;line-height:1.7}.detail-specs dd{color:var(--body)}.detail-info>.button{width:100%;gap:20px}.detail-note{font-size:.8125rem;line-height:1.7;margin-top:18px;color:#587066}.exchange-details{margin-top:23px;padding-top:17px;border-top:1px solid var(--line)}.exchange-details summary{cursor:pointer;font-size:.875rem;min-height:32px}.exchange-details p{font-size:.875rem;line-height:1.75;margin-top:10px}.desktop-nav a[aria-current=page]{font-weight:600}.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}
@media(max-width:1200px){.catalog-controls{align-items:stretch;flex-direction:column;gap:16px}.catalog-search{flex:initial;width:100%;max-width:450px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-photo-frame{aspect-ratio:1/1}.catalog-search label{font-size:.875rem}.category-options button{padding:10px 17px}}
@media(max-width:800px){.catalog-page{padding:35px 6% 45px}.catalog-intro{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:26px}.catalog-intro h1{font-size:53px}.catalog-grid{gap:25px 16px}.catalog-card-title{font-size:1.3rem}.catalog-meta{flex-direction:column;gap:6px}.detail-layout{grid-template-columns:1fr}.product-dialog{width:min(590px,calc(100% - 24px));max-height:calc(100dvh - 24px)}.detail-gallery{padding:52px 30px 25px}.detail-image{min-height:0;max-width:390px;width:100%;margin:auto}.detail-info{padding:30px}.detail-info h2{font-size:36px}.detail-gallery>p{margin-top:15px}.close-dialog{position:sticky;float:right;top:12px;margin:12px 12px -56px 0}.catalog-search{max-width:none}}
@media(max-width:600px){.catalog-page{padding-top:29px}.catalog-intro h1{font-size:45px;margin-top:13px}.catalog-intro .eyebrow{font-size:.75rem;letter-spacing:.13em}.category-options{gap:8px}.category-options button{font-size:.875rem;padding:9px 12px;min-height:44px}.catalog-controls{padding:18px 0}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.catalog-photo-frame{padding:5px}.catalog-card-title{font-size:1.3rem;line-height:1.25;margin-bottom:10px}.catalog-card-copy{padding-top:14px;padding-bottom:15px}.catalog-card-category{font-size:.75rem;letter-spacing:.08em}.catalog-card-ref{font-size:.8125rem}.catalog-card-action{font-size:.875rem}.catalog-meta{padding-top:17px}.reference-note{font-size:.8125rem;margin-bottom:24px}.photo-enlarge{bottom:8px!important;right:8px!important;width:28px!important;height:28px!important}.detail-info{padding:25px 22px}.detail-gallery{padding-left:22px;padding-right:22px}.detail-specs>div{grid-template-columns:94px 1fr}.catalog-empty h2{font-size:30px}}
@media(max-width:360px){.catalog-grid{grid-template-columns:1fr}.catalog-card-title{font-size:1.5rem}.catalog-photo-frame{aspect-ratio:1.2/1}.catalog-intro h1{font-size:39px}}
.catalog-card-prices{display:flex;flex-direction:column;gap:5px;margin-top:14px;font-size:.875rem;font-weight:600;line-height:1.5;color:var(--ink)}
.detail-prices{padding:16px 18px;background:var(--tiffany-light);display:grid;gap:7px;margin-top:20px;font-size:1.125rem;font-weight:600}
.detail-prices p{margin:0}.price-includes{font-size:.8125rem!important;margin-top:8px;color:#536f65}
.detail-selected-price{font-weight:600;margin:12px 0 18px;line-height:1.6}

/* Keep the original front-view crop continuous at the photo’s top edge. */
.catalog-photo-frame:has(.catalog-crop[data-framing="top-edge"]){align-items:flex-start;padding-top:0}
.detail-gallery:has(.catalog-crop[data-framing="top-edge"]){justify-content:flex-start;padding-top:0}
.detail-image:has(.catalog-crop[data-framing="top-edge"]){min-height:0}

/* The initial public HTML uses the same cards before JavaScript enhances them. */
a.catalog-card{text-decoration:none}

.catalog-extra-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.catalog-extra-filters label{display:grid;gap:7px;font-size:.875rem}.catalog-extra-filters select{font:inherit;font-size:1rem;min-height:46px;border:1px solid #a5bdb4;padding:10px;background:white;color:var(--ink);min-width:0;width:100%}.catalog-extra-filters p{grid-column:1/-1;font-size:.875rem;color:#536f65}.detail-specs dd{overflow-wrap:anywhere}@media(max-width:600px){.catalog-extra-filters{grid-template-columns:1fr;gap:12px}.detail-secondary-actions{flex-wrap:wrap}}

.catalog-sale-unit{font-size:.875rem;line-height:1.6;color:#536f65;margin-top:7px}
