.page-intro-photo{position:relative;isolation:isolate;min-height:440px;height:52svh;max-height:580px;display:flex;flex-direction:column;justify-content:space-between;color:white;padding-bottom:46px}
.page-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-intro-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,24,20,.76),rgba(13,24,20,.22) 75%),linear-gradient(0deg,rgba(13,24,20,.46),transparent 70%);z-index:-1}
.page-intro-photo .page-back,.page-intro-photo .page-title-row>p{color:white}
.page-intro-photo .page-title-row{display:block;max-width:760px}
.page-intro-photo .page-title-row h1{font-size:64px;max-width:760px}
.page-intro-photo .page-title-row>p{margin-top:22px;max-width:540px;font-size:15px}
.cover-note{position:absolute;bottom:20px;right:var(--gutter);font-size:9px;color:white}
.application{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:60px;padding:70px 0}
.application-copy h2{font-size:42px}.application-copy dl>div{border-top:1px solid var(--line);padding-top:14px}
.project-material-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--accent);margin:0 0 20px}
.process-chapter:nth-child(even) .chapter-photo{order:2}.process-chapter:nth-child(even) .chapter-copy{order:1}
.company-services h3{color:var(--accent)}
.contact-phone{display:inline-flex;gap:12px;align-items:center;font:30px/1.3 Editorial,Georgia,serif;color:var(--accent);margin-bottom:24px}
.contact-phone svg{width:24px;height:24px}.contact-secondary{display:block;margin-top:18px;color:var(--accent);font-size:13px}
.company-material-photo{background:none;aspect-ratio:3/2;margin:0;width:100%}
.company-material-photo img{display:block;width:100%;height:100%;object-fit:contain}
.company-material-photo figcaption{position:absolute;bottom:16px;left:16px;max-width:calc(100% - 32px);background:#ffffffed;color:var(--ink);padding:8px 10px;font-size:10px;line-height:1.5}
.process-cover{object-position:58% 65%}
.business-location{border-top:1px solid var(--line);padding-top:24px;margin-top:30px}
.business-location h3{font-size:12px;color:var(--muted);font-weight:400;margin-bottom:14px}
.business-location address{font-style:normal;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.business-location address span{display:block}.location-actions{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:18px}
.location-actions a{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--accent)}
.location-actions svg{width:17px;height:17px}.location-note{margin-top:18px;font-size:12px!important}
.footer-address{font-style:normal;margin-top:18px;max-width:230px}.footer-address a{line-height:1.7;overflow-wrap:anywhere}
.catalog-extra-filters{display:flex;align-items:end;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.color-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex:1}
.color-filters legend{font-size:11px;margin-bottom:10px;color:var(--muted)}
.color-filters fieldset{padding:0;border:0;margin:0;min-width:0}
.color-swatch{width:32px;height:32px;padding:3px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.color-swatch:before{content:'';background:var(--swatch);width:22px;height:22px;border-radius:50%;border:1px solid #0002}
.color-swatch[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}
.color-swatch.color-all:before{background:conic-gradient(#f5f5f5,#5d6662,#2b523e,#8b7155,#f5f5f5)}
.catalog-application{margin:0;font-size:11px;color:var(--muted);min-width:200px}
.catalog-application select{display:block;margin-top:10px;background:white;color:var(--ink);border:1px solid var(--line);padding:9px 36px 9px 12px;min-width:200px;width:100%;font-size:13px}
.filter-clear{min-height:40px;display:flex;gap:8px;align-items:center;font-size:12px;color:var(--accent)}
.filter-clear svg{width:16px;height:16px}
.detail-photo img{object-fit:contain}.detail-photo{background:#f4f6f5}
.material-detail{align-items:start}.detail-photo{position:sticky;top:0;height:min(550px,90svh);min-height:0}
#quote-dialog .dialog-close{position:sticky;top:12px;float:right;margin-bottom:-40px;z-index:5}
#material-dialog .dialog-close{position:sticky;top:12px;float:right;margin:16px 16px -56px 0;z-index:5}
.image-failure{position:absolute;inset:0;display:grid;place-items:center;padding:20px;text-align:center;font-size:12px;color:var(--muted);background:#f4f6f5}
.stone-photo>.image-failure{width:auto;height:auto;right:0;bottom:0}
.detail-copy{padding-top:58px}.detail-copy h2{font-size:34px}
.detail-copy dd{margin:0;line-height:1.7}.detail-guide-label{font-size:10px;color:var(--muted);margin:22px 0 8px}
.detail-guidance-source{display:block;font-size:10px;margin-top:12px;color:var(--accent);line-height:1.6}
.attachment-section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
.attachment-label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;border:1px solid var(--line);padding:12px 16px;font-size:13px}
.attachment-label svg{width:18px;height:18px}.attachment-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.attachment-label:focus-within{outline:2px solid var(--accent);outline-offset:4px}
.attachment-note{font-size:11px;color:var(--muted);line-height:1.6;margin:12px 0}
.attachment-list{padding:0;margin:0;list-style:none;display:grid;gap:8px}
.attachment-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0;min-width:0}
.attachment-preview{width:52px;height:52px;object-fit:cover;flex-shrink:0}.attachment-file-icon{width:52px;height:52px;background:#f4f6f5;display:grid;place-items:center;flex-shrink:0}
.attachment-info{flex:1;min-width:0}.attachment-info strong{display:block;font-size:12px;overflow-wrap:anywhere;font-weight:400}.attachment-info small{font-size:10px;color:var(--muted)}
.attachment-remove{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center}.attachment-remove svg{width:18px;height:18px}
.attachment-error{font-size:12px;color:#942d2d;line-height:1.6;margin-top:12px}
.result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.result-actions .button{padding:12px 16px;min-height:44px;font-size:12px;gap:8px}.result-actions svg{width:17px;height:17px}
.form-grid.dimensions-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.dimensions-grid label{font-size:11px}.dimensions-grid input{min-width:0}
@media(max-width:1000px){.application{gap:30px}.application-copy h2{font-size:36px}.page-intro-photo .page-title-row h1{font-size:56px}.catalog-extra-filters{flex-wrap:wrap;gap:16px}.color-filters{flex-basis:100%}}
@media(max-width:760px){.page-intro-photo{height:auto;min-height:430px;padding-top:28px;padding-bottom:48px}.page-intro-photo .page-title-row h1{font-size:44px}.page-intro-photo .page-title-row>p{font-size:13px;line-height:1.7}.page-intro-photo .page-back{margin-bottom:36px}.cover-note{font-size:8px;left:var(--gutter);right:auto;bottom:16px}.application{display:block;padding:38px 0}.application-copy h2{font-size:34px}.catalog-extra-filters{gap:16px}.catalog-application{min-width:0;flex:1}.catalog-application select{min-width:0}.filter-clear{align-self:end}.form-grid.dimensions-grid{grid-template-columns:1fr;gap:0}.result-actions{flex-direction:column}.result-actions .button{width:100%;justify-content:center}.contact-phone{font-size:28px}}
@media(max-width:760px){.detail-photo{position:relative;height:auto;aspect-ratio:4/3}}
