/* The approved Stone and Tide system continues through this upper-page extension.
   Existing homepage.css remains unchanged, including the entire cream section. */
.stonebuilt-home.stonebuilt-gallery{position:relative}
.stonebuilt-gallery>.opening-atmosphere{position:absolute;top:30px;left:0;right:0;height:340px;z-index:0;overflow:hidden;pointer-events:none;mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%)}
.stonebuilt-gallery>.opening-atmosphere img{width:100%;height:100%;object-fit:cover;object-position:center 90%}
.stonebuilt-gallery>.opening-atmosphere::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d3435e8 0%,#0d343573 30%,#0d34351f 75%),linear-gradient(180deg,#0d34355c,transparent 50%)}
.stonebuilt-gallery>main{position:relative;z-index:1}
.stonebuilt-home.stonebuilt-gallery .site-header nav,.stonebuilt-home.stonebuilt-gallery .site-header .wordmark{text-shadow:0 1px 12px #073e42}
.stonebuilt-home.stonebuilt-gallery .hero-photo img{mask-image:linear-gradient(180deg,transparent 0%,#000 24%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 24%)}
.stonebuilt-home.stonebuilt-gallery .hero-photo::after{background:linear-gradient(90deg,var(--st-deep) 0%,#0d3435f2 10%,#0d3435b3 20%,#0d343500 38%),linear-gradient(0deg,var(--st-deep) 0%,#0d343500 18%)}
.stonebuilt-home.stonebuilt-gallery .hero-section::after{background:linear-gradient(180deg,transparent,var(--st-deep));clip-path:none}
.stonebuilt-home.stonebuilt-gallery .hero-price{font-size:clamp(1.75rem,2.7vw,2.4rem);line-height:1.3;color:var(--st-cream)}
.stonebuilt-home.stonebuilt-gallery .hero-price strong{font-size:1em;font-weight:500}

.stonebuilt-home .stone-discovery{position:relative;isolation:isolate;margin-top:-35px;background:radial-gradient(ellipse at 78% 58%,#245e503b,transparent 52%),linear-gradient(180deg,var(--st-deep),#083b3a 45%,#164f47 75%,#214f43);color:var(--st-cream)}
.stonebuilt-home .photo-gallery{position:relative;padding:35px 0 26px;overflow:hidden}
.stonebuilt-home .gallery-backdrop{position:absolute;top:-28px;left:0;width:78%;height:450px;pointer-events:none;opacity:.93;mask-image:linear-gradient(180deg,transparent 0%,#000 13%,#000 59%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 13%,#000 59%,transparent 100%)}
.stonebuilt-home .gallery-backdrop img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.stonebuilt-home .gallery-backdrop::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#0d343518,#0d343510 40%,#0d343580 67%,var(--st-deep))}
.stonebuilt-home .photo-gallery>.wrap{position:relative;z-index:1}
.stonebuilt-home .gallery-heading{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:50px;min-height:230px;margin-bottom:26px}
.stonebuilt-home .gallery-heading>div{max-width:640px;text-align:center;justify-self:end}
.stonebuilt-home .stone-discovery .eyebrow{font-size:.75rem;color:var(--st-sand);margin-bottom:13px}
.stonebuilt-home .gallery-heading h2{font-size:clamp(2.7rem,4.4vw,4.6rem);line-height:1.02}
.stonebuilt-home .stone-discovery h2 em{color:var(--st-sand)}
.stonebuilt-home .gallery-intro{font-size:1rem;line-height:1.5;max-width:530px;margin:16px auto 0;color:var(--st-cream)}
.stonebuilt-home .gallery-motto{justify-self:start;align-self:end;max-width:330px;border-left:1px solid rgba(214,204,170,.6);padding:9px 0 9px 23px;margin:0 0 37px;font-size:.875rem;font-weight:600;letter-spacing:.2em;line-height:1.7;color:#f4e5bf;text-shadow:0 2px 12px #0d3435}
.stonebuilt-home .gallery-grid,.stonebuilt-home .stone-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.stonebuilt-home .gallery-tile{display:block;min-width:0;width:100%;padding:0;overflow:hidden;border:1px solid rgba(229,229,202,.25);border-radius:6px;background:#123f3e;color:var(--st-cream);text-align:left;box-shadow:0 7px 20px #062b2c12;cursor:pointer}
.stonebuilt-home .gallery-tile:focus-visible{outline:3px solid var(--st-sand);outline-offset:4px}
.stonebuilt-home .gallery-caption{display:block;padding:8px 13px;font-size:.9375rem;line-height:1.4;background:linear-gradient(90deg,#123f3e,#153d3dc9)}
.stonebuilt-home .reference-window{display:block;position:relative;overflow:hidden;aspect-ratio:var(--crop-width)/var(--crop-height);width:100%;background:#254c48}
.stonebuilt-home .reference-window>img{position:absolute;display:block;width:calc(100% * var(--source-width) / var(--crop-width));max-width:none;height:auto;left:calc(-100% * var(--crop-x) / var(--crop-width));top:calc(-100% * var(--crop-y) / var(--crop-height));object-fit:initial;pointer-events:none}
.stonebuilt-home .gallery-photo{display:block;aspect-ratio:3.2/1;overflow:hidden}
.stonebuilt-home .gallery-photo>img{width:100%;height:100%;object-fit:cover}
.stonebuilt-home .stone-card .gallery-photo{aspect-ratio:4.3/1}
.stonebuilt-home .gallery-actions{display:flex;justify-content:center;margin-top:22px}

.stonebuilt-home .stone-selection{position:relative;isolation:isolate;padding:49px 0 30px;overflow:hidden}
.stonebuilt-home .stone-selection::before{content:"";position:absolute;z-index:-1;inset:-80px 0 -60px;background:url('/images/granite-detail-retouched.png') center 55%/cover;opacity:.055;mask-image:linear-gradient(180deg,transparent,#000 32%,#000 60%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 32%,#000 60%,transparent);pointer-events:none}
.stonebuilt-home .stone-selection-heading{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px;margin-bottom:26px}
.stonebuilt-home .stone-selection h2{font-size:clamp(2.5rem,4vw,4.2rem);line-height:1.03}
.stonebuilt-home .stone-selection h2 em{display:block;font-size:.78em;line-height:1.17;margin-top:2px}
.stonebuilt-home .inventory-explainer{border-left:1px solid rgba(255,248,238,.55);padding-left:34px;font-size:1rem;line-height:1.5}
.stonebuilt-home .inventory-explainer p{line-height:1.5}
.stonebuilt-home .inventory-updated{color:#f3dfb2;margin-bottom:8px;font-size:1rem}
.stonebuilt-home .stone-card{min-width:0;overflow:hidden;border:1px solid #f0eadf40;border-radius:5px;background:#0c3e3d}
.stonebuilt-home .stone-card-copy{padding:9px 13px 10px;background:linear-gradient(120deg,#0a4341,#0b3535)}
.stonebuilt-home .stone-card h3{font-size:1.25rem;line-height:1.15;letter-spacing:0;color:var(--st-cream)}
.stonebuilt-home .stone-status{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:.875rem;line-height:1.4;color:var(--st-cream)}
.stonebuilt-home .stone-status::before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#c9d09c}
.stonebuilt-home .stone-status.is-available::before{background:#bdde52}
.stonebuilt-home .stone-status.is-sample{color:#e3dec7}
.stonebuilt-home .stone-status.is-sample::before{background:transparent;border:1px solid #c9c9b2}
.stonebuilt-home .stone-selection-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px}
.stonebuilt-home .inventory-daily-note{max-width:440px;font-size:.8125rem;line-height:1.5;color:#e1dfce}

.stonebuilt-home .texas-landscape{position:relative;isolation:isolate;min-height:clamp(340px,29vw,470px);display:flex;align-items:flex-end;margin-top:-12px;padding:90px 0 85px;overflow:hidden}
.stonebuilt-home .texas-landscape-photo{position:absolute;z-index:-2;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 53%;mask-image:linear-gradient(180deg,transparent,#000 30%);-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%)}
.stonebuilt-home .texas-landscape::after{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(0deg,var(--st-base) 0%,#f0eadf9c 6%,#f0eadf00 18%),linear-gradient(0deg,#082e356b,transparent 49%)}
.stonebuilt-home .landscape-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;color:var(--st-cream)}
.stonebuilt-home .landscape-copy p{font-size:.875rem;font-weight:600;letter-spacing:.2em;line-height:1.7;text-shadow:0 2px 12px #0d3435}
.stonebuilt-home .landscape-copy p:last-child{text-align:right}

.stonebuilt-home .gallery-viewer{width:min(1000px,calc(100% - 28px));max-height:calc(100dvh - 28px);overflow-y:auto;padding:24px}
.stonebuilt-home .gallery-viewer .dialog-head{margin-bottom:16px}
.stonebuilt-home .gallery-viewer .eyebrow{color:var(--st-text);margin:0}
.stonebuilt-home .gallery-viewer figure{margin:0}
.stonebuilt-home .gallery-viewer .reference-window{border-radius:6px}
.stonebuilt-home .gallery-viewer .gallery-photo{aspect-ratio:auto}
.stonebuilt-home .gallery-viewer .gallery-photo>img{height:auto;max-height:65dvh;object-fit:contain}
.stonebuilt-home .gallery-viewer figcaption{font-family:var(--display);font-size:1.6rem;margin-top:17px;color:var(--st-text)}
.stonebuilt-home .gallery-viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:17px}
.stonebuilt-home .gallery-viewer-controls button{min-height:44px;padding:9px 17px}
.stonebuilt-home .gallery-viewer-counter{font-size:.9375rem;color:var(--st-muted)}

@media(max-width:1100px){
  .stonebuilt-home .gallery-heading{gap:30px;grid-template-columns:.85fr 1.15fr}
  .stonebuilt-home .gallery-motto{padding-left:18px;font-size:.8125rem}
  .stonebuilt-home .stone-selection-heading{gap:30px}
  .stonebuilt-home .inventory-explainer{padding-left:26px}
  .stonebuilt-home .gallery-grid,.stonebuilt-home .stone-grid{gap:13px}
}
@media(max-width:850px){
  .stonebuilt-gallery>.opening-atmosphere{height:440px;opacity:.65}
  .stonebuilt-home.stonebuilt-gallery .hero-photo img{mask-image:none;-webkit-mask-image:none}
  .stonebuilt-home.stonebuilt-gallery .hero-photo::after{background:linear-gradient(180deg,var(--st-deep) 0%,#0d343599 9%,#0d343500 21%,#0d343500 80%,var(--st-deep) 100%)}
  .stonebuilt-home .gallery-heading{grid-template-columns:1fr;gap:28px;min-height:0}
  .stonebuilt-home .gallery-motto{margin:30px 0 25px;min-height:90px;padding-top:22px;padding-bottom:22px;align-self:center}
  .stonebuilt-home .gallery-heading>div{max-width:650px;justify-self:stretch;text-align:left}
  .stonebuilt-home .gallery-intro{margin-left:0;max-width:600px}
  .stonebuilt-home .gallery-backdrop{width:100%;height:330px;opacity:.84;top:-25px}
  .stonebuilt-home .gallery-grid,.stonebuilt-home .stone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stonebuilt-home .stone-selection-heading{grid-template-columns:1fr;gap:24px}
  .stonebuilt-home .inventory-explainer{border:0;padding:0;max-width:620px}
  .stonebuilt-home .stone-selection-actions{align-items:flex-start;flex-direction:column;gap:16px}
  .stonebuilt-home .inventory-daily-note{max-width:none}
  .stonebuilt-home .landscape-copy{gap:20px}
  .stonebuilt-home .landscape-copy p{font-size:.8125rem;letter-spacing:.14em}
}
@media(max-width:600px){
  .stonebuilt-home .stone-discovery{margin-top:-18px}
  .stonebuilt-home .photo-gallery{padding-top:24px;padding-bottom:23px}
  .stonebuilt-home .gallery-heading h2{font-size:clamp(2.4rem,8.9vw,3.3rem)}
  .stonebuilt-home .gallery-intro{font-size:1rem;margin-top:18px}
  .stonebuilt-home .gallery-heading{margin-bottom:23px}
  .stonebuilt-home .gallery-caption{font-size:.875rem;padding:8px 11px}
  .stonebuilt-home .stone-selection{padding:39px 0 28px}
  .stonebuilt-home .stone-selection h2{font-size:clamp(2.2rem,8.4vw,3.2rem)}
  .stonebuilt-home .stone-selection h2 em{font-size:.75em}
  .stonebuilt-home .inventory-updated{font-size:.9375rem}
  .stonebuilt-home .stone-selection-actions .button{max-width:100%;font-size:.9375rem;gap:15px}
  .stonebuilt-home .stone-selection-actions .button span{flex-shrink:0}
  .stonebuilt-home .texas-landscape{min-height:330px;padding-bottom:66px}
  .stonebuilt-home .texas-landscape-photo{object-position:58% center}
  .stonebuilt-home .landscape-copy{align-items:flex-start;flex-direction:column;gap:18px}
  .stonebuilt-home .landscape-copy p:last-child{text-align:left}
  .stonebuilt-home .gallery-viewer{padding:18px}
  .stonebuilt-home .gallery-viewer-controls button{font-size:.875rem;padding:10px 13px}
}
@media(max-width:480px){
  .stonebuilt-home .gallery-grid,.stonebuilt-home .stone-grid{grid-template-columns:1fr;gap:14px}
  .stonebuilt-home .gallery-caption{font-size:.9375rem}
  .stonebuilt-home .stone-card-copy{padding:10px 13px}
  .stonebuilt-home .stone-selection-actions .button{width:100%}
}
