.showcase-section{position:relative;padding:90px 0;background:#f8f4ed;color:#191713;overflow:hidden}
.showcase-skip-link{position:fixed;left:12px;top:12px;z-index:100001;transform:translateY(-160%);min-height:44px;display:flex;align-items:center;border-radius:4px;padding:10px 16px;background:#f7d098;color:#191713!important;font-family:Arial,sans-serif;font-weight:700;text-decoration:none!important}
.showcase-skip-link:focus{transform:translateY(0);outline:3px solid #fff;outline-offset:2px}
.showcase-section-dark{background:#171717;color:#fff}
.showcase-section::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(219,192,120,.65),transparent)}
.showcase-heading{max-width:760px;margin:0 auto 42px;text-align:center}
.showcase-eyebrow{display:block;margin-bottom:8px;color:#8f661d;font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.showcase-section-dark .showcase-eyebrow{color:#f7d098}
.showcase-heading h2{margin:0 0 13px;color:inherit;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(42px,5vw,68px);font-weight:600;line-height:1;letter-spacing:-.025em}
.showcase-heading p{max-width:630px;margin:0 auto;color:#655f55;font-size:16px;line-height:1.75}
.showcase-section-dark .showcase-heading p{color:#c4c0b8}
.showcase-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:38px}
.showcase-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:12px 25px;border:1px solid #191713;border-radius:3px;background:#191713;color:#fff!important;font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;text-decoration:none!important;text-transform:uppercase;transition:transform .2s,border-color .2s,background .2s,color .2s}
.showcase-button-outline{background:transparent;color:#191713!important}
.showcase-section-dark .showcase-button{border-color:#f7d098;background:#f7d098;color:#191713!important}
.showcase-section-dark .showcase-button-outline{background:transparent;color:#f7d098!important}
.showcase-button:focus-visible,.showcase-gallery-open:focus-visible,.showcase-lightbox-button:focus-visible,.google-review-more:focus-visible{outline:3px solid #f7d098;outline-offset:3px}
.showcase-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.showcase-gallery-card{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:4px;background:#e6ded0;box-shadow:0 12px 30px rgba(22,18,12,.1)}
.showcase-gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.showcase-gallery-link{display:block;width:100%;height:100%}
.showcase-gallery-card::after{content:"";position:absolute;inset:auto 0 0;height:28%;pointer-events:none;background:linear-gradient(transparent,rgba(0,0,0,.18));opacity:0;transition:opacity .25s}
.showcase-gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.showcase-gallery-open span{position:absolute;right:12px;bottom:12px;z-index:1;width:42px;height:42px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(20,20,20,.55);color:#fff;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s}
.showcase-gallery-open svg{width:18px;height:18px;fill:currentColor}
.showcase-page-intro{padding:200px 0 92px;background:#171717;color:#fff;text-align:center}
.showcase-page-intro h1{margin:0 0 16px;color:#fff;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(54px,8vw,92px);font-weight:600;line-height:.95;letter-spacing:-.035em}
.showcase-page-intro p{max-width:680px;margin:0 auto;color:#c7c2b9;font-size:17px;line-height:1.75}
.showcase-page-intro .showcase-eyebrow{color:#f7d098}
.showcase-page-gallery{padding-top:82px}
.showcase-gallery-count{margin:0 0 22px;color:#746b5d;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.showcase-lightbox{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(8,8,8,.94)}
.showcase-lightbox.is-open{display:flex}
.showcase-lightbox-figure{position:relative;width:min(94vw,900px);height:min(88vh,1125px);margin:0;display:flex;align-items:center;justify-content:center}
.showcase-lightbox img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.showcase-lightbox-button{position:absolute;z-index:2;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(20,20,20,.76);color:#fff;cursor:pointer}
.showcase-lightbox-button svg{width:21px;height:21px;fill:currentColor}
.showcase-lightbox-close{top:18px;right:18px}
.showcase-lightbox-prev{left:18px;top:50%;transform:translateY(-50%)}
.showcase-lightbox-next{right:18px;top:50%;transform:translateY(-50%)}
.showcase-lightbox-counter{position:absolute;left:50%;bottom:17px;z-index:2;transform:translateX(-50%);border-radius:999px;padding:7px 12px;background:rgba(20,20,20,.72);color:#fff;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.08em}
body.showcase-lightbox-open{overflow:hidden}
.google-summary{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 35px;font-family:Arial,sans-serif}
.google-wordmark{font-size:22px;font-weight:600;letter-spacing:-.04em;color:#4285f4}
.google-wordmark span:nth-child(1){color:#4285f4}.google-wordmark span:nth-child(2){color:#ea4335}.google-wordmark span:nth-child(3){color:#fbbc05}.google-wordmark span:nth-child(4){color:#4285f4}.google-wordmark span:nth-child(5){color:#34a853}.google-wordmark span:nth-child(6){color:#ea4335}
.google-summary-score{display:flex;align-items:center;gap:8px;color:#202124;font-size:14px}
.showcase-section-dark .google-summary-score{color:#fff}
.google-stars{display:inline-flex;color:#fbbc04 !important;font-family:Arial,sans-serif;font-size:17px;letter-spacing:1px;line-height:1}
.google-summary-count{color:#6d706f;font-size:12px}
.showcase-section-dark .google-summary-count{color:#aaa}
.google-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.google-review-card{min-width:0;border:1px solid #dadce0;border-radius:10px;padding:20px;background:#fff;color:#202124;box-shadow:0 2px 8px rgba(60,64,67,.08);font-family:Arial,sans-serif}
.google-review-head{display:grid;grid-template-columns:42px minmax(0,1fr) 44px;gap:11px;align-items:center;margin-bottom:12px}
.google-review-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#886fb0;color:#fff;font-size:18px;font-weight:500;text-transform:uppercase}
.google-review-card:nth-child(4n+2) .google-review-avatar{background:#4c8c6b}
.google-review-card:nth-child(4n+3) .google-review-avatar{background:#b06755}
.google-review-card:nth-child(4n+4) .google-review-avatar{background:#4f78a8}
.google-review-author{min-width:0}
.google-review-author strong{display:block;overflow:hidden;color:#202124;font-size:14px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.google-review-author small{display:block;margin-top:3px;color:#70757a;font-size:11px}
.google-review-source{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#4285f4;font-size:17px;font-weight:700;text-decoration:none!important}
.google-review-rating{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.google-review-rating time{color:#70757a;font-size:11px}
.google-review-copy-wrap{position:relative}
.google-review-copy{margin:0;color:#3c4043 !important;font-size:13px;line-height:1.58;white-space:pre-wrap;overflow:hidden;overflow-wrap:anywhere}
.google-review-copy.is-collapsible:not(.is-expanded){max-height:8.2em}
.google-review-copy.is-collapsible:not(.is-expanded)::after{content:"";position:absolute;right:0;bottom:0;width:45%;height:1.8em;background:linear-gradient(90deg,transparent,#fff 65%)}
.google-review-more{display:none;min-height:44px;margin:5px 0 -8px;padding:7px 0;border:0;background:transparent;color:#1a73e8;font-size:12px;font-weight:600;cursor:pointer}
.google-review-more.is-visible{display:inline-flex;align-items:center}
.showcase-reviews-page .google-review-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.showcase-reviews-page .google-review-card{padding:22px}
.showcase-empty{grid-column:1/-1;border:1px solid rgba(219,192,120,.4);border-radius:4px;padding:40px;text-align:center;color:#6a6358;background:#fff}

@media(hover:hover){
    .showcase-button:hover{transform:translateY(-2px)}
    .showcase-gallery-card:hover img{transform:scale(1.035)}
    .showcase-gallery-card:hover::after,.showcase-gallery-card:hover .showcase-gallery-open span{opacity:1}
    .showcase-gallery-card:hover .showcase-gallery-open span{transform:translateY(0)}
}
@media(max-width:991px){
    .showcase-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .google-review-grid,.showcase-reviews-page .google-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .showcase-page-intro{padding-top:170px}
}
@media(max-width:600px){
    .showcase-section{padding:68px 0}
    .showcase-heading{margin-bottom:30px;padding:0 8px}
    .showcase-heading p,.showcase-page-intro p{font-size:15px}
    .showcase-page-intro{padding:145px 20px 70px}
    .showcase-page-gallery{padding-top:58px}
    .showcase-gallery-grid{grid-template-columns:1fr;gap:14px}
    .google-review-grid,.showcase-reviews-page .google-review-grid{grid-template-columns:1fr}
    .google-summary{flex-wrap:wrap;gap:8px 13px}
    .google-summary-count{flex-basis:100%;text-align:center}
    .showcase-lightbox{padding:12px}
    .showcase-lightbox-button{width:44px;height:44px}
    .showcase-lightbox-close{top:10px;right:10px}
    .showcase-lightbox-prev{left:8px}.showcase-lightbox-next{right:8px}
}
@media(prefers-reduced-motion:reduce){
    .showcase-gallery-card img,.showcase-button,.showcase-gallery-open span{transition:none!important}
}
