
/* Sharp Floors | Luxury Carpet Page | October 22, 2026 */
.sharp-carpet-page{background:#fffcf7}
.sharp-carpet-page .sharp-carpet-hero{background:#f7f4ee;padding:72px 0 56px}
.sharp-carpet-hero-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:clamp(30px,5vw,84px)}
.sharp-carpet-message .eyebrow,.sharp-carpet-album-title .eyebrow,.sharp-carpet-custom .eyebrow,.sharp-carpet-showroom .eyebrow{color:#a4834d;letter-spacing:.17em;font-size:.7rem;font-weight:750;text-transform:uppercase}
.sharp-carpet-message h1{font:normal clamp(4.3rem,8vw,8rem)/.95 Georgia,serif;color:#27251f;letter-spacing:-.064em;margin:18px 0 24px}
.sharp-carpet-message h2{font:normal clamp(1.65rem,2.75vw,2.65rem)/1.18 Georgia,serif;color:#302b25;letter-spacing:-.035em;margin:0 0 24px}
.sharp-carpet-message p{color:#615b51;line-height:1.9;font-size:1.02rem;max-width:540px;margin:0 0 25px}
.sharp-carpet-message p strong{color:#393127;font-weight:750}
.sharp-carpet-text-link{color:#876b37;font-size:.78rem;font-weight:750;letter-spacing:.05em;border-bottom:1px solid #bdaa82;display:inline-flex;gap:12px;padding:0 0 8px}
.sharp-carpet-feature{background:#e9e3da;min-width:0}
.sharp-carpet-page .sharp-carpet-zoom{appearance:none;display:block;width:100%;border:0;background:transparent;margin:0;padding:0;cursor:zoom-in;overflow:hidden}
.sharp-carpet-page .sharp-carpet-zoom img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center}
.sharp-carpet-page .sharp-carpet-albums{background:#fffdfa;padding:35px 0 90px}
.sharp-carpet-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.sharp-carpet-gallery-grid button{background:#ede6dc!important}
.sharp-carpet-album-title{padding:28px 0 0;margin-top:26px;border-top:1px solid #e4dac9;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.sharp-carpet-album-title h2{font:normal clamp(2.1rem,4vw,3.5rem)/1.07 Georgia,serif;color:#26221d;letter-spacing:-.04em;margin:11px 0 0}
.sharp-carpet-album-title h2 span{color:#756959}
.sharp-carpet-album-title p{color:#786d5c;white-space:nowrap;font-size:.89rem;margin:0 0 4px}
.sharp-carpet-album-title p strong{color:#624923;font-weight:750}
.sharp-carpet-page .sharp-carpet-custom{background:#f3ede2;padding:70px 0}
.sharp-carpet-custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.sharp-carpet-custom h2{font:normal clamp(2.35rem,4.9vw,4.6rem)/1.07 Georgia,serif;letter-spacing:-.05em;color:#2f2b25;margin:14px 0 0}
.sharp-carpet-custom p{font-size:1.08rem;line-height:1.9;color:#655c4f;margin:0}
.sharp-carpet-custom p strong{color:#453522}
.sharp-carpet-page .sharp-carpet-showroom{background:#22221e;color:#fff;padding:78px 0}
.sharp-carpet-showroom-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.sharp-carpet-showroom h2{font:normal clamp(2rem,4vw,3.8rem)/1.05 Georgia,serif;margin:12px 0 12px;letter-spacing:-.035em}
.sharp-carpet-showroom p{color:#d9d3c8;font-size:1rem;margin:0}
.sharp-carpet-showroom .btn{white-space:normal;text-align:center;flex:0 0 auto}
.sharp-carpet-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:110;display:none;align-items:center;justify-content:center;padding:60px 70px}
.sharp-carpet-lightbox.is-open{display:flex}
.sharp-carpet-lightbox img{width:auto;height:auto;max-height:calc(100vh - 90px);max-width:min(100%,1150px);object-fit:contain}
.sharp-carpet-lightbox button{appearance:none;border:0;background:transparent;color:#fff;cursor:pointer;position:absolute;z-index:1}
.sharp-carpet-close{right:20px;top:10px;font-size:46px;padding:8px 13px}
.sharp-carpet-nav{font-size:45px;top:50%;transform:translateY(-50%);padding:12px}
.sharp-carpet-previous{left:12px}.sharp-carpet-next{right:12px}
.sharp-carpet-page .sharp-carpet-zoom:focus-visible,.sharp-carpet-lightbox button:focus-visible{outline:3px solid #d1a95e;outline-offset:3px}
@media(max-width:900px){
 .sharp-carpet-page .sharp-carpet-hero{padding:50px 0 44px}
 .sharp-carpet-hero-layout{grid-template-columns:1fr;gap:29px}
 .sharp-carpet-message h1{font-size:clamp(4.7rem,15vw,7rem);margin:12px 0 13px}
 .sharp-carpet-message h2{font-size:clamp(1.55rem,5.1vw,2.35rem);margin-bottom:15px}
 .sharp-carpet-message p{font-size:.97rem;line-height:1.75;margin-bottom:16px}
 .sharp-carpet-feature{max-width:700px;margin-inline:auto;width:100%}
 .sharp-carpet-page .sharp-carpet-albums{padding:25px 0 58px}
 .sharp-carpet-gallery-grid{gap:16px}
 .sharp-carpet-album-title{align-items:start;flex-direction:column;gap:10px;margin-top:24px;padding-top:22px}
 .sharp-carpet-album-title p{margin:0}
 .sharp-carpet-custom-grid{grid-template-columns:1fr;gap:16px}
 .sharp-carpet-custom h2{font-size:clamp(2.3rem,6vw,3.7rem)}
 .sharp-carpet-showroom-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:620px){
 .sharp-carpet-gallery-grid{grid-template-columns:1fr;gap:18px}
 .sharp-carpet-page .sharp-carpet-hero{padding:36px 0 30px}
 .sharp-carpet-message h1{font-size:clamp(4.1rem,20vw,5.6rem)}
 .sharp-carpet-message h2{font-size:1.55rem}
 .sharp-carpet-message p{font-size:.91rem}
 .sharp-carpet-album-title h2{font-size:2.3rem}
 .sharp-carpet-page .sharp-carpet-custom{padding:58px 0}
 .sharp-carpet-custom p{font-size:.97rem}
 .sharp-carpet-page .sharp-carpet-showroom{padding:60px 0}
 .sharp-carpet-showroom h2{font-size:2.4rem}
 .sharp-carpet-lightbox{padding:50px 28px}
 .sharp-carpet-lightbox img{max-height:calc(100vh - 90px)}
 .sharp-carpet-nav{font-size:34px;top:auto;bottom:8px;transform:none}
 .sharp-carpet-previous{left:18px}.sharp-carpet-next{right:18px}
}
@media(prefers-reduced-motion:reduce){.sharp-carpet-page *{scroll-behavior:auto!important}}

/* Additional carpet projects: visually separate the full albums while preserving un-cropped photographs. */
.sharp-carpet-project + .sharp-carpet-project {margin-top:90px;padding-top:72px;border-top:1px solid #e6dccc}
.sharp-carpet-project .sharp-carpet-album-title h2 {margin-top:0}
@media(max-width:900px){.sharp-carpet-project + .sharp-carpet-project{margin-top:66px;padding-top:51px}}
@media(max-width:620px){.sharp-carpet-project + .sharp-carpet-project{margin-top:48px;padding-top:40px}}


/* REVIEW: full-width hero photo first, descriptive copy below, album cards after. */
.sharp-carpet-page .sharp-carpet-hero{padding:0!important;background:#f7f4ee}
.sharp-carpet-page .sharp-carpet-hero-layout{display:flex;flex-direction:column;align-items:stretch;gap:0}
.sharp-carpet-page .sharp-carpet-feature{width:100%;margin:0;max-width:none;background:#e9e3da}
.sharp-carpet-page .sharp-carpet-feature .sharp-carpet-zoom{display:block;width:100%;height:auto}
.sharp-carpet-page .sharp-carpet-feature .sharp-carpet-zoom img{width:100%;height:clamp(400px,54vw,675px);max-width:100%;object-fit:cover;object-position:center 60%}
.sharp-carpet-page .sharp-carpet-message{padding:58px 0 64px;max-width:860px;align-self:flex-start}
.sharp-carpet-page .sharp-carpet-message h1{font-size:clamp(3.7rem,6.5vw,6.8rem);margin:12px 0 20px}
.sharp-carpet-page .sharp-carpet-message h2{margin-bottom:19px}
.sharp-carpet-page .sharp-carpet-message p{max-width:770px}
@media(max-width:900px){
 .sharp-carpet-page .sharp-carpet-feature{max-width:none}
 .sharp-carpet-page .sharp-carpet-message{padding:39px 0 49px}
 .sharp-carpet-page .sharp-carpet-feature .sharp-carpet-zoom img{height:auto;max-height:none;object-fit:contain}
 .sharp-carpet-page .sharp-carpet-message h1{font-size:clamp(4rem,14vw,6.4rem)}
}
@media(max-width:620px){
 .sharp-carpet-page .sharp-carpet-message{padding:32px 0 42px}
 .sharp-carpet-page .sharp-carpet-message h1{font-size:clamp(3.65rem,18vw,5.4rem)}
 .sharp-carpet-page .sharp-carpet-message h2{font-size:1.65rem;line-height:1.2}
 .sharp-carpet-page .sharp-carpet-message p{font-size:.95rem;line-height:1.8}
}
/* Hero photo stays fully visible at desktop sizes — no cropping of carpet design. */
@media(min-width:901px){
 .sharp-carpet-page .sharp-carpet-feature{
   height:clamp(510px,55vw,690px);
   display:flex;align-items:center;justify-content:center;
   background:radial-gradient(ellipse at 50% 45%,#f2e9de 0%,#e4d5c2 58%,#d7c8b6 100%);
 }
 .sharp-carpet-page .sharp-carpet-feature .sharp-carpet-zoom{width:auto;height:100%;max-width:100%}
 .sharp-carpet-page .sharp-carpet-feature .sharp-carpet-zoom img{width:auto;height:100%;max-width:100%;object-fit:contain;box-shadow:0 3px 17px rgba(46,33,25,.15)}
}
