.countertops-intro{padding:65px 0 40px}.countertops-intro h1{font-size:clamp(3rem,7vw,5.5rem)}.source-note{max-width:760px;color:#68716c;font-size:.95rem}.source-note a{text-underline-offset:3px}.stone-categories{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.stone-categories a{padding:10px 18px;border:1px solid #c8c0b3;text-decoration:none;font-weight:600;background:#fffdf8}.stone-categories a:hover{background:#1d2923;color:white}.stone-section{padding:48px 0 22px;scroll-margin-top:24px}.stone-section:last-child{padding-bottom:80px}.stone-heading{display:flex;align-items:baseline;gap:20px;justify-content:space-between;margin-bottom:22px;border-bottom:1px solid var(--line);padding-bottom:14px}.stone-heading h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15;margin:0}.stone-heading span{color:var(--muted);white-space:nowrap}.stone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.stone-grid figure{margin:0;min-width:0}.stone-open{display:block;width:100%;padding:0;border:1px solid var(--line);background:#efeeeb;cursor:zoom-in}.stone-open img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.stone-grid figcaption{padding:12px 0;font-weight:600;font-size:1rem}.stone-open:hover{border-color:var(--gold)}button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.stone-viewer{box-sizing:border-box;width:min(1300px,96vw);max-width:96vw;max-height:96dvh;padding:56px 18px 16px;border:0;background:#1d2923;color:#fff;overflow:auto}.stone-viewer::backdrop{background:rgb(0 0 0 / .85)}.stone-viewer img{display:block;width:100%;height:auto;max-height:calc(90dvh - 100px);object-fit:contain}.stone-close{position:absolute;right:16px;top:10px;padding:7px 16px;background:#fff;color:#1d2923;border:0;font:inherit;font-weight:700;cursor:pointer}.stone-caption{text-align:center;margin:12px 0 0;font-size:1rem}html:has(.stone-viewer[open]){overflow:hidden}@media(max-width:800px){.stone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.countertops-intro{padding-top:45px}.stone-categories a{font-size:.9rem;padding:9px 12px}}@media(max-width:420px){.stone-grid{grid-template-columns:1fr}.stone-heading{gap:10px}}
