:root{
  --ivory:#F7F5F2; --beige:#E8E1D6; --taupe:#C8BDAF; --stonegray:#A79F95;
  --charcoal:#2B2B2B; --deepbrown:#3A2F26; --gold:#C9A66B; --goldhover:#B8935A;
  --white:#FFFFFF; --line:rgba(43,43,43,0.09);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--charcoal);font-family:'Inter',system-ui,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:1000;padding:.7rem 1rem;border-radius:8px;background:var(--charcoal);color:var(--white);text-decoration:none;transform:translateY(-160%);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(201,166,107,.48);outline-offset:3px}
.serif{font-family:'Playfair Display',serif}
img{max-width:100%;display:block}
.wrap{max-width:1320px;margin:0 auto;padding:0 2rem}

/* NAV */
#nav{background:var(--ivory);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
.nav-inner{max-width:1320px;margin:0 auto;padding:1.1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.logo{font-size:1.5rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;color:var(--charcoal);text-decoration:none}
.nav-mid{display:flex;align-items:center;gap:.7rem;flex-shrink:0}
.btn-outline{display:inline-flex;align-items:center;gap:.4rem;background:var(--white);border:1px solid var(--taupe);color:var(--charcoal);padding:.6rem 1.1rem;border-radius:8px;font-size:.84rem;font-weight:500;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;white-space:nowrap}
.btn-outline:hover{border-color:var(--charcoal);background:var(--beige)}
.btn-gold{display:inline-flex;align-items:center;gap:.4rem;background:var(--gold);border:1px solid var(--gold);color:#fff;padding:.6rem 1.2rem;border-radius:8px;font-size:.84rem;font-weight:500;cursor:pointer;font-family:'Inter',sans-serif;text-decoration:none;transition:all .2s;white-space:nowrap}
.btn-gold:hover{background:var(--goldhover);border-color:var(--goldhover)}
.btn-gold svg,.btn-outline svg{width:15px;height:15px;flex-shrink:0}
.nav-links{display:flex;gap:1.9rem;list-style:none}
.nav-links a{color:var(--charcoal);text-decoration:none;font-size:.88rem;font-weight:500;transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:var(--gold)}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hamburger span{width:22px;height:2px;background:var(--charcoal);border-radius:2px}

/* FEATURED STONE STRIP */
.fs-strip{background:var(--beige);border-bottom:1px solid var(--line);overflow:hidden}
.fs-inner{max-width:1320px;margin:0 auto;padding:.9rem 2rem;display:flex;align-items:center;gap:1rem}
.fs-label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--deepbrown);white-space:nowrap;flex-shrink:0}
.fs-arrow{width:30px;height:30px;padding:0;border-radius:50%;background:var(--white);border:1px solid var(--taupe);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .2s}
.fs-arrow:hover{background:var(--charcoal);border-color:var(--charcoal)}
.fs-arrow:hover svg{stroke:#fff}
.fs-arrow svg{width:14px;height:14px;stroke:var(--charcoal);transition:stroke .2s}
.fs-track{display:flex;gap:.8rem;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}
.fs-track::-webkit-scrollbar{display:none}
.fs-card{position:relative;width:170px;height:64px;border-radius:10px;overflow:hidden;flex-shrink:0;cursor:pointer;transition:transform .2s}
.fs-card:hover{transform:scale(1.02)}
.fs-swatch{position:absolute;inset:0}
.fs-swatch img{width:100%;height:100%;object-fit:cover}
.fs-swatch::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,transparent 65%)}
.fs-state-card .fs-swatch{background:linear-gradient(135deg,var(--taupe),var(--beige))}
.fs-name{position:absolute;bottom:.5rem;left:.7rem;color:#fff;font-size:.78rem;font-weight:600;z-index:2}

/* HERO 3-PANEL */
.hero{padding:1.3rem 2rem 0}
.hero-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:22% 1fr 22%;gap:.9rem;height:600px}
.hero-panel{position:relative;border-radius:18px;overflow:hidden;background:var(--charcoal)}
.hero-panel img{width:100%;height:100%;object-fit:cover}
.hero-panel .hero-fireplace{object-position:center center}
.hero-panel .hero-main-kitchen{object-position:center center}
.hero-panel .hero-edge-detail{object-position:center center}
.hero-scrim-b{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,15,10,.64) 0%,rgba(20,15,10,.08) 42%,transparent 62%)}
.hero-scrim-c{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,12,8,.38) 0%,rgba(15,12,8,.1) 48%,rgba(15,12,8,.14) 100%)}
.hero-side-text{position:absolute;bottom:1.6rem;left:1.6rem;right:1.6rem;color:#fff;z-index:2}
.hero-side-text h3{font-size:1.5rem;font-weight:500;margin-bottom:.3rem;letter-spacing:-.01em}
.hero-side-text p{font-size:.82rem;color:rgba(255,255,255,.82);line-height:1.5;font-weight:400}
.hero-center-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;z-index:2;padding:2rem}
.hero-center-text h1{font-size:clamp(2.6rem,4.6vw,4.4rem);font-weight:500;line-height:1.04;letter-spacing:-.015em;margin-bottom:1.1rem}
.hero-center-text p{font-size:1.02rem;color:rgba(255,255,255,.92);margin-bottom:1.8rem;font-weight:400}

/* INFO CARDS */
.cards-sec{padding:2.2rem 2rem}
.cards-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1.15fr .95fr .95fr;gap:1rem}
.card{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;transition:box-shadow .25s,transform .25s}
.card:hover{box-shadow:0 8px 28px rgba(43,43,43,.08);transform:translateY(-2px)}
.card-img{width:38%;flex-shrink:0;position:relative}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-body{padding:1.3rem 1.3rem 1.3rem 1.1rem;display:flex;flex-direction:column;flex:1;min-width:0}
.card-icon-row{display:flex;align-items:center;gap:.55rem;margin-bottom:.6rem}
.card-icon{width:19px;height:19px;stroke:var(--gold);flex-shrink:0}
.card-title{font-size:1.02rem;font-weight:600;color:var(--charcoal)}
.card-desc{font-size:.83rem;color:var(--stonegray);line-height:1.55;margin-bottom:.9rem;flex:1}
.card-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--charcoal);text-decoration:none;cursor:pointer;transition:gap .2s,color .2s;width:fit-content}
.card-link:hover{gap:.5rem;color:var(--gold)}
.card-link svg{width:13px;height:13px;stroke:currentColor}
.card.no-img .card-body{padding:1.5rem}
.card.highlight{background:var(--beige);border-color:var(--taupe)}
.card.highlight .card-body{padding:1.5rem}
.card.highlight .card-desc{color:var(--deepbrown);opacity:.75}

/* FEATURED WORK */
.featured-work{padding:3.8rem 2rem 4.5rem;background:var(--beige)}
.featured-work-inner{max-width:1320px;margin:0 auto}
.featured-work-heading{max-width:720px;margin-bottom:2rem}
.featured-work-heading h2{font-size:clamp(2.2rem,4vw,3.6rem);font-weight:500;line-height:1.08;letter-spacing:-.015em;margin-bottom:.8rem}
.featured-work-heading p{max-width:650px;color:var(--deepbrown);font-size:.96rem;line-height:1.7;opacity:.78}
.work-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(3,220px);grid-template-areas:"feature feature feature feature feature feature medium-one medium-one medium-one detail detail detail" "feature feature feature feature feature feature medium-two medium-two medium-two detail detail detail" "accent-one accent-one accent-one accent-one accent-two accent-two accent-two accent-two accent-two detail detail detail";gap:1rem}
.work-image{overflow:hidden;border-radius:14px;background:var(--taupe)}
.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.work-image:hover img{transform:scale(1.02)}
.work-feature{grid-area:feature}
.work-medium-one{grid-area:medium-one}
.work-medium-two{grid-area:medium-two}
.work-detail{grid-area:detail}
.work-detail img{object-position:center center}
.work-accent-one{grid-area:accent-one}
.work-accent-two{grid-area:accent-two}
.featured-work-action{display:flex;justify-content:center;margin-top:2rem}
.featured-work-action .btn-gold{text-decoration:none;padding:.8rem 1.4rem}

/* ESTIMATE REQUEST */
.estimate-sec{padding:4.5rem 2rem;background:var(--ivory);scroll-margin-top:5.5rem}
.estimate-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 16px 45px rgba(43,43,43,.07)}
.estimate-photo{position:relative;min-height:760px;background:var(--charcoal);overflow:hidden}
.estimate-photo img{width:100%;height:100%;object-fit:cover}
.estimate-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(24,18,13,.72),rgba(24,18,13,.02) 62%)}
.estimate-photo-copy{position:absolute;left:2.2rem;right:2.2rem;bottom:2.3rem;z-index:1;color:var(--white)}
.estimate-photo-copy>span{display:block;margin-bottom:.8rem;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#ead5ae}
.estimate-photo-copy h2{font-size:clamp(2.2rem,3.5vw,3.5rem);font-weight:500;line-height:1.06;letter-spacing:-.015em;margin-bottom:1rem}
.estimate-photo-copy p{max-width:430px;font-size:.9rem;line-height:1.65;color:rgba(255,255,255,.84)}
.estimate-form-panel{padding:3rem clamp(2rem,4vw,4rem)}
.estimate-progress{margin-bottom:2.4rem}
.estimate-step-count{font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--deepbrown);margin-bottom:.7rem}
.estimate-progress-track{height:3px;background:var(--beige);overflow:hidden;border-radius:3px}
.estimate-progress-track span{display:block;width:33.333%;height:100%;background:var(--gold);transition:width .3s ease}
.estimate-step-list{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin-top:.65rem;color:var(--stonegray);font-size:.72rem}
.estimate-step-list li:nth-child(2){text-align:center}
.estimate-step-list li:last-child{text-align:right}
.estimate-step-list li.active{color:var(--charcoal);font-weight:600}
.estimate-form fieldset{border:0;min-width:0}
.estimate-form legend{width:100%;font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:500;color:var(--charcoal);margin-bottom:1.8rem}
.estimate-form legend span{display:block;font-family:'Inter',sans-serif;color:var(--gold);font-size:.68rem;letter-spacing:.16em;margin-bottom:.45rem}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem}
.field{display:flex;flex-direction:column;min-width:0}
.field-full{grid-column:1/-1}
.field label,.field-label{display:block;font-size:.78rem;font-weight:600;color:var(--charcoal);margin-bottom:.48rem}
.optional{font-weight:400;color:var(--stonegray);margin-left:.25rem}
.field input[type="text"],.field input[type="tel"],.field input[type="email"],.field select,.field textarea,.file-input{width:100%;border:1px solid var(--taupe);border-radius:8px;background:var(--ivory);color:var(--charcoal);font:inherit;font-size:.88rem;padding:.78rem .85rem;transition:border-color .2s,box-shadow .2s,background .2s}
.field textarea{resize:vertical;min-height:120px;line-height:1.5}
.field input::placeholder,.field textarea::placeholder{color:var(--stonegray)}
.field select{cursor:pointer}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.file-input:focus-visible,.choice-card input:focus-visible+span,.btn-gold:focus-visible,.btn-outline:focus-visible,.card-link:focus-visible,.nav-links a:focus-visible,.mmenu a:focus-visible{outline:3px solid rgba(201,166,107,.38);outline-offset:2px;border-color:var(--gold)}
.field [aria-invalid="true"]{border-color:#9b3a31;background:#fffafa}
.field-error{display:block;min-height:1rem;margin-top:.35rem;color:#8b3028;font-size:.72rem;line-height:1.35}
.field-hint,.file-status{font-size:.7rem;line-height:1.45;color:var(--stonegray);margin-top:.38rem}
.file-status{color:var(--deepbrown)}
.file-input{padding:.55rem}
.file-input::file-selector-button{border:0;border-radius:6px;background:var(--beige);color:var(--charcoal);font:inherit;font-size:.76rem;font-weight:600;padding:.55rem .7rem;margin-right:.7rem;cursor:pointer}
.file-upload-list{display:grid;gap:.8rem}
.file-upload-item label{font-size:.72rem;color:var(--deepbrown);margin-bottom:.35rem}
.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}
.choice-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice-card{margin:0!important;cursor:pointer}
.choice-card input{position:absolute;opacity:0;pointer-events:none}
.choice-card span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem .5rem;border:1px solid var(--taupe);border-radius:8px;background:var(--ivory);font-size:.76rem;font-weight:500;text-align:center;transition:border-color .2s,background .2s,color .2s}
.choice-card input:checked+span{background:var(--deepbrown);border-color:var(--deepbrown);color:var(--white)}
.choice-card input[aria-invalid="true"]+span{border-color:#9b3a31}
.estimate-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--line)}
.estimate-controls-end{justify-content:flex-end}
.estimate-controls .btn-gold,.estimate-controls .btn-outline{min-height:44px}
.estimate-submit{white-space:normal;text-align:center;justify-content:center}
.estimate-privacy{text-align:right;color:var(--stonegray);font-size:.68rem;margin-top:.8rem}
.estimate-privacy a,.thank-you-privacy a{color:var(--deepbrown);text-underline-offset:3px}
.form-error-summary{padding:.85rem 1rem;margin-bottom:1.3rem;border-left:3px solid #9b3a31;background:#fff6f5;color:#73271f;font-size:.8rem;line-height:1.5}
.bot-field{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* SHARED HOMEPAGE SECTIONS */
.section-inner{max-width:1320px;margin:0 auto}
.section-eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.section-heading h2{font-size:clamp(2.2rem,4vw,3.6rem);font-weight:500;line-height:1.08;letter-spacing:-.015em}
.section-heading>p:last-child{max-width:680px;margin-top:.9rem;color:var(--stonegray);font-size:.95rem;line-height:1.7}
.section-heading-centered{text-align:center;max-width:720px;margin:0 auto 2.4rem}
.text-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--charcoal);font-size:.82rem;font-weight:600;text-decoration:none;transition:color .2s,gap .2s}
.text-link:hover{color:var(--gold);gap:.55rem}
.text-link:focus-visible,.footer-nav a:focus-visible,.footer-contact a:focus-visible,.footer-logo:focus-visible{outline:3px solid rgba(201,166,107,.38);outline-offset:4px}
.shop-info-dialog{width:min(680px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:0;border-radius:14px;background:var(--ivory);color:var(--charcoal);box-shadow:0 24px 70px rgba(20,16,12,.34);overflow:auto}
.shop-info-dialog::backdrop{background:rgba(32,27,23,.62);backdrop-filter:blur(3px)}
.shop-info-panel{position:relative;padding:clamp(2rem,6vw,4rem)}
.shop-info-close{position:absolute;top:1rem;right:1rem;width:2.6rem;height:2.6rem;border:1px solid rgba(43,43,43,.18);border-radius:50%;background:transparent;color:var(--charcoal);font:300 1.65rem/1 Inter,sans-serif;cursor:pointer}
.shop-info-close:hover{border-color:var(--gold);color:var(--deepbrown)}
.shop-info-close:focus-visible,.shop-info-details a:focus-visible,.shop-info-instagram:focus-visible{outline:3px solid rgba(201,166,107,.42);outline-offset:3px}
.shop-info-panel h2{margin:.55rem 0 1.8rem;font-size:clamp(2rem,6vw,3.4rem);line-height:1.03}
.shop-info-details{display:grid;grid-template-columns:1.25fr 1fr;gap:1.5rem 2rem;padding:1.5rem 0;border-top:1px solid rgba(43,43,43,.13);border-bottom:1px solid rgba(43,43,43,.13)}
.shop-info-details span{display:block;margin-bottom:.35rem;color:var(--gold);font-size:.62rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase}
.shop-info-details a,.shop-info-details p{color:var(--charcoal);font-size:.88rem;line-height:1.65;text-decoration:none}
.shop-info-details a:hover,.shop-info-instagram:hover{color:var(--deepbrown);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.shop-info-service{margin:1.5rem 0 .8rem;color:var(--stonegray);font-size:.88rem;line-height:1.7}
.shop-info-instagram{display:inline-flex;gap:.45rem;color:var(--charcoal);font-size:.82rem;text-decoration:none}
.shop-info-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}

/* FEATURED STONE */
.stone-feature{padding:5rem 2rem;background:var(--beige);scroll-margin-top:5.5rem}
.stone-feature-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch;background:var(--white);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.stone-feature-image{min-height:560px;background:var(--taupe);overflow:hidden}
.stone-feature-image img{width:100%;height:100%;object-fit:cover}
.stone-feature-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.5rem,5vw,5rem)}
.stone-feature-content h2{font-size:clamp(3rem,5vw,5rem);font-weight:500;line-height:1;letter-spacing:-.02em;margin-bottom:1.1rem}
.stone-feature-copy{max-width:460px;color:var(--deepbrown);font-size:1rem;line-height:1.7}
.stone-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.2rem 0}
.stone-meta dt{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stonegray);margin-bottom:.3rem}
.stone-meta dd{font-size:.82rem;font-weight:600;color:var(--charcoal)}
.stone-feature-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}

/* PROCESS */
.process-sec{padding:5rem 2rem;background:var(--ivory)}
.process-list{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;border-top:1px solid var(--taupe)}
.process-step{position:relative;padding:2rem 2rem 1rem 0}
.process-step::before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--ivory)}
.process-number{display:block;color:var(--gold);font-size:.68rem;font-weight:600;letter-spacing:.16em;margin-bottom:1.4rem}
.process-step h3{font-size:1.65rem;font-weight:500;margin-bottom:.55rem}
.process-step p{max-width:245px;color:var(--stonegray);font-size:.82rem;line-height:1.65}

/* WHY S&F */
.why-sec{padding:5rem 2rem;background:var(--charcoal);color:var(--white);scroll-margin-top:5.5rem}
.why-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.why-intro h2{font-size:clamp(2.6rem,4.5vw,4.3rem);font-weight:500;line-height:1.06;letter-spacing:-.015em;margin-bottom:1rem}
.why-intro>p:not(.section-eyebrow){max-width:500px;color:rgba(255,255,255,.7);font-size:.92rem;line-height:1.7}
.trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13)}
.trust-pillar{min-height:220px;padding:2rem;background:var(--charcoal)}
.trust-pillar>span{display:block;color:var(--gold);font-size:.65rem;letter-spacing:.15em;margin-bottom:2rem}
.trust-pillar h3{font-size:1.45rem;font-weight:500;line-height:1.18;margin-bottom:.7rem}
.trust-pillar p{color:rgba(255,255,255,.62);font-size:.78rem;line-height:1.6}

/* REMNANTS */
.remnants-sec{padding:5rem 2rem;background:var(--ivory);scroll-margin-top:5.5rem}
.remnants-heading{margin-bottom:2.3rem}
.remnant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.remnant-card{overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:14px;transition:transform .25s,box-shadow .25s}
.remnant-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(43,43,43,.08)}
.remnant-image{position:relative;height:220px;overflow:hidden;background-color:var(--beige)}
.remnant-image img{width:100%;height:100%;object-fit:cover}
.remnant-image::before,.remnant-image::after{content:'';position:absolute;inset:-20%;transform:rotate(-8deg)}
.remnant-image-one{background:linear-gradient(145deg,#eee9df,#d7d0c4 48%,#f4f1ea)}
.remnant-image-one::before{background:linear-gradient(100deg,transparent 42%,rgba(125,111,95,.22) 43%,transparent 46%)}
.remnant-image-one::after{background:linear-gradient(70deg,transparent 58%,rgba(201,166,107,.24) 59%,transparent 62%)}
.remnant-image-two{background:linear-gradient(140deg,#dedbd4,#bdb9b1 55%,#ebe7df)}
.remnant-image-two::before{background:linear-gradient(115deg,transparent 34%,rgba(77,74,70,.22) 35%,transparent 38%,transparent 62%,rgba(92,88,82,.18) 63%,transparent 66%)}
.remnant-image-two::after{background:radial-gradient(ellipse at center,rgba(255,255,255,.35),transparent 58%)}
.remnant-image-three{background:linear-gradient(135deg,#272421,#4a4038 50%,#25221f)}
.remnant-image-three::before{background:linear-gradient(78deg,transparent 38%,rgba(201,166,107,.36) 39%,transparent 43%,transparent 61%,rgba(232,225,214,.23) 62%,transparent 65%)}
.remnant-image-three::after{background:radial-gradient(ellipse at 70% 30%,rgba(201,166,107,.2),transparent 45%)}
.remnant-body{padding:1.5rem}
.remnant-kicker{font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.remnant-body h3{font-size:1.65rem;font-weight:500;margin-bottom:1rem}
.remnant-meta{display:grid;gap:.65rem;margin-bottom:1.3rem}
.remnant-meta div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.55rem;border-bottom:1px solid var(--line)}
.remnant-meta dt{color:var(--stonegray);font-size:.7rem}
.remnant-meta dd{color:var(--charcoal);font-size:.72rem;font-weight:500;text-align:right}
.remnant-body .btn-outline{min-height:42px;text-decoration:none}
.remnants-action{display:flex;justify-content:center;margin-top:2rem}

/* LIVE REMNANT DATA */
.remnant-data-state{grid-column:1/-1;display:flex;min-height:260px;align-items:center;justify-content:center;flex-direction:column;gap:1.2rem;padding:2.5rem;border:1px solid var(--line);border-radius:14px;background:var(--white);text-align:center}
.remnant-data-state p{max-width:620px;color:var(--deepbrown);font-size:.9rem;line-height:1.7}
.remnant-data-state .btn-gold{min-height:44px}
.remnant-loading-mark{width:32px;height:32px;border:2px solid var(--taupe);border-top-color:var(--gold);border-radius:50%;animation:remnant-spin .8s linear infinite}
.remnant-error-state{border-color:rgba(58,47,38,.18);background:#f2ede6}
.remnant-image-fallback{background:linear-gradient(145deg,var(--beige),var(--taupe));}
.remnant-image-fallback::after{content:'Photo unavailable';position:absolute;inset:0;display:grid;place-items:center;color:var(--deepbrown);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transform:none}
@keyframes remnant-spin{to{transform:rotate(360deg)}}

.estimate-remnant-context{display:grid;gap:.3rem;margin:0 0 1.5rem;padding:1rem 1.1rem;border-left:3px solid var(--gold);background:var(--beige);color:var(--charcoal)}
.estimate-remnant-context span{font-size:.62rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--deepbrown)}
.estimate-remnant-context strong{font-family:'Playfair Display',serif;font-size:1.12rem;font-weight:500;line-height:1.35}
.estimate-remnant-context.is-unavailable{border-left-color:var(--deepbrown)}

/* PUBLIC REMNANT PAGES */
.catalog-hero{padding:clamp(4rem,8vw,7rem) 2rem;background:var(--beige);border-bottom:1px solid var(--line)}
.catalog-hero h1{max-width:850px;font-size:clamp(3rem,7vw,6rem);font-weight:500;line-height:1;letter-spacing:-.025em;margin-bottom:1.2rem}
.catalog-hero>div>p:last-child{max-width:760px;color:var(--deepbrown);font-size:1rem;line-height:1.75}
.catalog-listing{min-height:480px;padding:4rem 2rem 5rem;background:var(--ivory)}
.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-grid .remnant-card:last-child{grid-column:auto;width:auto;justify-self:stretch}
.catalog-grid .remnant-image{height:260px}
.remnant-detail-page{min-height:620px;padding:clamp(2rem,5vw,5rem) 2rem;background:var(--ivory)}
.remnant-detail-shell{min-height:520px}
.remnant-detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 16px 45px rgba(43,43,43,.07)}
.remnant-detail-image{position:relative;min-height:620px;overflow:hidden;background:var(--beige)}
.remnant-detail-image img{width:100%;height:100%;min-height:620px;object-fit:cover}
.remnant-detail-content{display:flex;justify-content:center;flex-direction:column;padding:clamp(2.2rem,5vw,5rem)}
.remnant-detail-content h1{font-size:clamp(2.8rem,5vw,5rem);font-weight:500;line-height:1;letter-spacing:-.02em;margin-bottom:2rem}
.remnant-detail-meta{gap:.8rem;margin-bottom:2rem}
.remnant-detail-meta div{padding-bottom:.8rem}
.remnant-detail-meta dt{font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.remnant-detail-meta dd{font-size:.88rem}
.remnant-detail-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}

/* PUBLIC FEATURED STONE DATA */
.stone-image-fallback{position:relative;background:linear-gradient(145deg,var(--beige),var(--taupe))}
.stone-image-fallback::after{content:'Photo unavailable';position:absolute;inset:0;display:grid;place-items:center;color:var(--deepbrown);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.stone-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.stone-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--white);transition:transform .25s,box-shadow .25s}
.stone-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(43,43,43,.08)}
.stone-card-image{position:relative;height:290px;overflow:hidden;background:var(--beige)}
.stone-card-image img{width:100%;height:100%;object-fit:cover}
.stone-card-body{padding:1.6rem}
.stone-card-body h2{font-size:1.75rem;font-weight:500;line-height:1.1;margin-bottom:.75rem}
.stone-card-copy{display:-webkit-box;overflow:hidden;min-height:3.9em;margin-bottom:1.2rem;color:var(--deepbrown);font-size:.8rem;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.stone-card-meta{display:grid;gap:.55rem;margin-bottom:1.35rem}
.stone-card-meta div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.stone-card-meta dt{color:var(--stonegray);font-size:.68rem}
.stone-card-meta dd{max-width:62%;color:var(--charcoal);font-size:.7rem;font-weight:500;text-align:right}
.stone-card-body .btn-outline{min-height:42px;text-decoration:none}
.stone-detail-page{min-height:620px;padding:clamp(2rem,5vw,5rem) 2rem;background:var(--ivory)}
.stone-detail-shell{min-height:540px}
.stone-detail-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr);overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 16px 45px rgba(43,43,43,.07)}
.stone-detail-image{position:relative;min-height:720px;overflow:hidden;background:var(--beige)}
.stone-detail-image img{width:100%;height:100%;min-height:720px;object-fit:cover}
.stone-detail-content{display:flex;justify-content:center;flex-direction:column;padding:clamp(2.2rem,5vw,4.5rem)}
.stone-detail-content h1{font-size:clamp(2.8rem,5vw,5rem);font-weight:500;line-height:1;letter-spacing:-.02em;margin-bottom:1rem}
.stone-detail-copy{margin-bottom:1.6rem;color:var(--deepbrown);font-size:.92rem;line-height:1.75}
.stone-detail-meta{display:grid;gap:.65rem;margin-bottom:2rem}
.stone-detail-meta div{display:grid;grid-template-columns:minmax(105px,.4fr) minmax(0,1fr);gap:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--line)}
.stone-detail-meta dt{color:var(--stonegray);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.stone-detail-meta dd{color:var(--charcoal);font-size:.8rem;line-height:1.5}

/* LIVE PROJECT PORTFOLIO */
.project-work-tile{position:relative;display:block;color:var(--white);text-decoration:none}
.project-work-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(25,19,14,.72));transition:background .25s}
.project-work-tile:hover::after{background:linear-gradient(180deg,transparent 38%,rgba(25,19,14,.78))}
.project-work-caption{position:absolute;z-index:1;right:1.25rem;bottom:1.15rem;left:1.25rem;display:grid;gap:.25rem}
.project-work-caption small{font-size:.58rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.project-work-caption strong{font-family:'Playfair Display',serif;font-size:clamp(1.1rem,2vw,1.65rem);font-weight:500;line-height:1.15}
.project-image-fallback{position:relative;background:linear-gradient(145deg,var(--beige),var(--taupe))}
.project-image-fallback::before{content:'Photo unavailable';position:absolute;z-index:1;inset:0;display:grid;place-items:center;color:var(--deepbrown);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.project-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.project-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--white);transition:transform .25s,box-shadow .25s}
.project-card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(43,43,43,.08)}
.project-card-image{position:relative;display:block;height:300px;overflow:hidden;background:var(--beige)}
.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.project-card:hover .project-card-image img{transform:scale(1.025)}
.project-card-body{padding:1.6rem}
.project-card-kicker{margin-bottom:.55rem;color:var(--gold);font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.project-card-body h2{margin-bottom:.8rem;font-size:1.75rem;font-weight:500;line-height:1.12}
.project-card-body h2 a{color:var(--charcoal);text-decoration:none}
.project-card-copy{display:-webkit-box;overflow:hidden;min-height:3.9em;margin-bottom:.8rem;color:var(--deepbrown);font-size:.8rem;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.project-card-meta{min-height:1.2em;margin-bottom:1.25rem;color:var(--stonegray);font-size:.7rem}
.project-card-body .btn-outline{min-height:42px;text-decoration:none}
.project-detail-page{min-height:620px;padding:clamp(2rem,5vw,5rem) 2rem;background:var(--ivory)}
.project-detail-shell{min-height:540px}
.project-detail-article{display:grid;gap:clamp(3rem,6vw,6rem)}
.project-detail-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:1rem clamp(3rem,8vw,8rem);align-items:start;padding:clamp(2rem,4vw,4rem);border:1px solid var(--line);background:var(--white)}
.project-detail-intro>.section-eyebrow,.project-detail-intro>h1,.project-detail-intro>.project-detail-copy{grid-column:1}
.project-detail-intro h1{max-width:900px;font-size:clamp(3rem,7vw,6rem);font-weight:500;line-height:.98;letter-spacing:-.025em}
.project-detail-copy{max-width:760px;color:var(--deepbrown);font-size:.95rem;line-height:1.8}
.project-detail-meta{grid-column:2;grid-row:1/span 3;display:grid;gap:.8rem}
.project-detail-meta div{display:grid;gap:.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
.project-detail-meta dt{color:var(--stonegray);font-size:.62rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.project-detail-meta dd{color:var(--charcoal);font-size:.82rem;line-height:1.5}
.project-detail-actions{grid-column:1/-1;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.project-detail-actions a{text-decoration:none}
.project-detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.project-gallery-image{position:relative;height:420px;overflow:hidden;padding:0;border:0;border-radius:14px;background:var(--beige);cursor:zoom-in}
.project-gallery-image.project-gallery-lead{grid-column:1/-1;height:min(68vw,720px)}
.project-gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.project-gallery-image:hover img{transform:scale(1.015)}
.project-gallery-image:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.project-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;padding:0;border:0;background:rgba(25,19,14,.94);color:var(--white)}
.project-lightbox::backdrop{background:rgba(25,19,14,.82)}
.project-lightbox-frame{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;width:100%;height:100%;padding:2rem}
.project-lightbox figure{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.8rem;align-items:center;justify-items:center;min-width:0;height:100%;margin:0}
.project-lightbox img{max-width:100%;max-height:calc(100vh - 7rem);object-fit:contain}
.project-lightbox figcaption{display:flex;justify-content:space-between;gap:1rem;width:min(900px,100%);color:rgba(255,255,255,.78);font-size:.72rem}
.project-lightbox figcaption small{white-space:nowrap;color:var(--gold)}
.project-lightbox-close,.project-lightbox-nav{border:0;background:transparent;color:var(--white);cursor:pointer}
.project-lightbox-close{position:absolute;z-index:1;top:1rem;right:1rem;width:44px;height:44px;font-size:1.35rem}
.project-lightbox-nav{width:52px;height:64px;font-family:'Playfair Display',serif;font-size:3rem}
.project-lightbox-close:focus-visible,.project-lightbox-nav:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* CLOSING CTA */
.closing-cta{position:relative;min-height:500px;display:grid;place-items:center;overflow:hidden;background:var(--charcoal)}
.closing-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.closing-cta-overlay{position:absolute;inset:0;background:rgba(25,19,14,.48)}
.closing-cta-content{position:relative;z-index:1;text-align:center;color:var(--white);padding:3rem 2rem}
.closing-cta-content h2{max-width:850px;font-size:clamp(2.8rem,6vw,5.5rem);font-weight:500;line-height:1.02;letter-spacing:-.02em;margin-bottom:1.7rem}
.closing-cta-content .btn-gold{padding:.85rem 1.5rem}

/* FOOTER */
.site-footer{padding:4rem 2rem 1.4rem;background:var(--deepbrown);color:var(--white)}
.footer-main{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:clamp(2rem,6vw,6rem);padding-bottom:3rem}
.footer-logo{display:inline-block;color:var(--white);font-size:1.65rem;font-weight:500;text-decoration:none;margin-bottom:.8rem}
.footer-brand p{max-width:340px;color:rgba(255,255,255,.58);font-size:.78rem;line-height:1.6}
.footer-nav{position:static;display:grid;align-content:start;gap:.75rem;background:none;border:0}
.footer-nav a{width:fit-content;color:rgba(255,255,255,.78);font-size:.78rem;text-decoration:none;transition:color .2s}
.footer-nav a:hover,.footer-contact a:hover{color:var(--gold)}
.footer-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;font-style:normal}
.footer-contact div>span{display:block;color:var(--gold);font-size:.59rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.35rem}
.footer-contact a,.footer-contact p{color:rgba(255,255,255,.72);font-size:.72rem;line-height:1.55;text-decoration:none}
.footer-contact .footer-service{grid-column:1/-1}
.footer-bottom{max-width:1320px;margin:0 auto;display:flex;justify-content:space-between;gap:1rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.38);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.footer-bottom a{color:inherit;text-decoration:none}
.footer-bottom a:hover{color:var(--gold)}
.footer-bottom a:focus-visible{outline:3px solid rgba(201,166,107,.38);outline-offset:4px}

/* THANK YOU */
.thank-you-main{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:4rem 2rem;background:var(--beige)}
.thank-you-card{width:min(760px,100%);padding:clamp(2.2rem,6vw,4.5rem);text-align:center;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 16px 45px rgba(43,43,43,.07)}
.thank-you-mark{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 1.5rem;border-radius:50%;background:var(--gold);color:var(--white);font-size:1.5rem}
.thank-you-eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.thank-you-card h1{font-size:clamp(2.4rem,5vw,4rem);font-weight:500;line-height:1.06;margin-bottom:1rem}
.thank-you-card>p:not(.thank-you-eyebrow){max-width:560px;margin:0 auto;color:var(--stonegray);line-height:1.7;font-size:.95rem}
.thank-you-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:2rem}
.thank-you-actions .btn-gold,.thank-you-actions .btn-outline{min-height:44px;text-decoration:none}
.thank-you-privacy{margin-top:1.25rem!important;font-size:.72rem!important}

/* PRIVACY + ERRORS */
.policy-page{min-height:60vh}
.policy-hero{padding:clamp(4rem,8vw,7rem) 2rem 3rem;text-align:center;background:var(--beige)}
.policy-hero h1{font-size:clamp(2.8rem,6vw,5rem);font-weight:500;line-height:1.05;margin:.65rem 0 1rem}
.policy-hero>p:last-child{max-width:650px;margin:0 auto;color:var(--deepbrown);line-height:1.7}
.policy-content{width:min(780px,calc(100% - 2.4rem));margin:0 auto;padding:clamp(3rem,7vw,6rem) 0}
.policy-content section+section{margin-top:2.2rem;padding-top:2.2rem;border-top:1px solid var(--line)}
.policy-content h2{font-size:1.55rem;font-weight:500;margin-bottom:.75rem}
.policy-content p,.policy-content address{color:#5f5a54;line-height:1.8;font-size:.94rem;font-style:normal}
.policy-content a{color:var(--deepbrown);text-underline-offset:3px}
.policy-updated{margin-top:2.5rem;font-size:.76rem!important;color:var(--stonegray)!important}
.error-page{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:4rem 1.2rem;background:linear-gradient(145deg,var(--beige),var(--ivory))}
.error-card{width:min(720px,100%);padding:clamp(2.5rem,7vw,5rem);border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 16px 45px rgba(43,43,43,.07);text-align:center}
.error-card h1{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:500;line-height:1.05;margin:.7rem 0 1rem}
.error-card>p:not(.section-eyebrow){max-width:560px;margin:0 auto;color:var(--stonegray);line-height:1.75}

/* COLOR PALETTE */
.palette-sec{padding:2.5rem 2rem 3.5rem;text-align:center}
.palette-label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--stonegray);margin-bottom:1.6rem}
.palette-row{max-width:1100px;margin:0 auto;display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap}
.swatch{width:130px;text-align:left}
.swatch-chip{width:100%;height:46px;border-radius:8px;border:1px solid var(--line);margin-bottom:.55rem}
.swatch-name{font-size:.8rem;font-weight:600;color:var(--charcoal)}
.swatch-hex{font-size:.7rem;color:var(--stonegray);margin-top:.1rem}

/* MOBILE MENU */
.mmenu{position:fixed;inset:0;background:var(--ivory);z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.8rem;transform:translateX(100%);transition:transform .4s ease}
.mmenu.open{transform:none}
.mmenu a{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--charcoal);text-decoration:none}
.mobile-shop-info{border:0;background:transparent;color:var(--charcoal);font-family:'Playfair Display',serif;font-size:1.8rem;cursor:pointer}
.mobile-shop-info:hover{color:var(--gold)}
.mobile-shop-info:focus-visible{outline:3px solid rgba(201,166,107,.38);outline-offset:4px}
.mclose{position:absolute;top:1.6rem;right:1.6rem;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--charcoal)}

@media(max-width:1080px){
  .nav-links{display:none}
  .hamburger{display:flex}
  .hero-grid{grid-template-columns:1fr;height:auto}
  .hero-panel{height:280px}
  .hero-panel.center{height:460px;order:-1}
  .cards-grid{grid-template-columns:1fr 1fr}
  .work-gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:380px repeat(2,240px) 300px;grid-template-areas:"feature feature" "medium-one medium-two" "accent-one accent-two" "detail detail"}
  .estimate-inner{grid-template-columns:1fr}
  .estimate-photo{min-height:440px}
  .estimate-photo-copy{max-width:560px}
  .stone-feature-inner,.why-inner{grid-template-columns:1fr}
  .stone-feature-image{min-height:440px}
  .process-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}
  .process-step{padding:2rem;background:var(--ivory)}
  .process-step::before{display:none}
  .remnant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .remnant-card:last-child{grid-column:1/-1;width:calc(50% - .5rem);justify-self:center}
  .catalog-grid .remnant-card:last-child{grid-column:auto;width:auto;justify-self:stretch}
  .remnant-detail-layout{grid-template-columns:1fr}
  .remnant-detail-image,.remnant-detail-image img{min-height:480px;height:480px}
  .stone-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stone-detail-layout{grid-template-columns:1fr}
  .stone-detail-image,.stone-detail-image img{min-height:500px;height:500px}
  .project-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-detail-intro{grid-template-columns:1fr}
  .project-detail-intro>.section-eyebrow,.project-detail-intro>h1,.project-detail-intro>.project-detail-copy,.project-detail-meta,.project-detail-actions{grid-column:1;grid-row:auto}
  .footer-main{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:800px){
  .nav-mid .btn-outline{display:none}
  .nav-inner{gap:1rem}
}
@media(max-width:640px){
  .nav-inner{padding:1rem 1.2rem;gap:.5rem}
  .logo{font-size:1.05rem}
  .nav-mid .btn-gold{font-size:.72rem;padding:.55rem .75rem}
  .wrap,.fs-inner,.hero,.cards-sec,.featured-work,.palette-sec{padding-left:1.2rem;padding-right:1.2rem}
  .btn-outline{display:none}
  .nav-mid{gap:.5rem}
  .cards-grid{grid-template-columns:1fr}
  .card{flex-direction:column}
  .card-img{width:100%;height:150px}
  .hero-center-text h1{font-size:2.4rem}
  .featured-work{padding-top:3rem;padding-bottom:3.5rem}
  .featured-work-heading{margin-bottom:1.5rem}
  .featured-work-heading h2{font-size:2.25rem}
  .work-gallery{display:flex;flex-direction:column;gap:.8rem}
  .work-image{height:230px}
  .work-feature{height:330px}
  .work-detail{height:320px}
  .estimate-sec{padding:3rem 1.2rem}
  .estimate-photo{min-height:360px}
  .estimate-photo-copy{left:1.4rem;right:1.4rem;bottom:1.5rem}
  .estimate-form-panel{padding:2rem 1.3rem 2.3rem}
  .estimate-form legend{font-size:1.55rem}
  .form-grid{grid-template-columns:1fr}
  .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .choice-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .estimate-controls{align-items:stretch}
  .estimate-controls .btn-gold,.estimate-controls .btn-outline{flex:1;justify-content:center;padding-left:.7rem;padding-right:.7rem}
  .estimate-privacy{text-align:center}
  .thank-you-main{padding:3rem 1.2rem}
  .stone-feature,.process-sec,.why-sec,.remnants-sec{padding:3.5rem 1.2rem}
  .stone-feature-image{min-height:320px}
  .stone-feature-content{padding:2rem 1.4rem 2.3rem}
  .stone-feature-content h2{font-size:3rem}
  .stone-meta{gap:.5rem}
  .stone-meta dd{font-size:.7rem}
  .stone-feature-actions{align-items:flex-start;flex-direction:column}
  .process-list{grid-template-columns:1fr}
  .process-step{min-height:0;padding:1.5rem}
  .process-number{margin-bottom:.8rem}
  .why-inner{gap:2.5rem}
  .shop-info-details{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr}
  .trust-pillar{min-height:0;padding:1.5rem}
  .trust-pillar>span{margin-bottom:1rem}
  .remnant-grid{grid-template-columns:1fr}
  .remnant-card:last-child{grid-column:auto;width:auto;justify-self:stretch}
  .remnant-body .btn-outline{display:inline-flex}
  .remnant-data-state{min-height:230px;padding:2rem 1.2rem}
  .catalog-hero{padding:3.5rem 1.2rem}
  .catalog-hero h1{font-size:3.2rem}
  .catalog-listing{padding:2.5rem 1.2rem 3.5rem}
  .catalog-grid .remnant-image{height:230px}
  .remnant-detail-page{padding:1.2rem}
  .remnant-detail-image,.remnant-detail-image img{min-height:360px;height:360px}
  .remnant-detail-content{padding:2rem 1.3rem 2.3rem}
  .remnant-detail-content h1{font-size:2.75rem}
  .remnant-detail-actions{align-items:flex-start;flex-direction:column}
  .estimate-remnant-context{margin-bottom:1.2rem}
  .stone-catalog-grid{grid-template-columns:1fr}
  .stone-card-image{height:250px}
  .stone-card-body .btn-outline{display:inline-flex}
  .stone-detail-page{padding:1.2rem}
  .stone-detail-image,.stone-detail-image img{min-height:380px;height:380px}
  .stone-detail-content{padding:2rem 1.3rem 2.3rem}
  .stone-detail-content h1{font-size:2.75rem}
  .stone-detail-meta div{grid-template-columns:1fr;gap:.25rem}
  .project-catalog-grid{grid-template-columns:1fr}
  .project-card-image{height:280px}
  .project-card-body .btn-outline{display:inline-flex}
  .project-detail-page{padding:1.2rem}
  .project-detail-intro{padding:2rem 1.3rem}
  .project-detail-intro h1{font-size:3rem}
  .project-detail-actions{align-items:flex-start;flex-direction:column}
  .project-detail-actions .btn-outline{display:inline-flex}
  .project-detail-gallery{grid-template-columns:1fr;gap:.8rem}
  .project-gallery-image,.project-gallery-image.project-gallery-lead{grid-column:auto;height:330px}
  .project-lightbox-frame{grid-template-columns:42px minmax(0,1fr) 42px;padding:3.5rem .35rem 1rem}
  .project-lightbox-nav{width:42px;font-size:2.5rem}
  .project-lightbox figcaption{align-items:flex-start;flex-direction:column;padding:0 .5rem}
  .closing-cta{min-height:420px}
  .closing-cta-content{padding:3rem 1.2rem}
  .site-footer{padding:3rem 1.2rem 1.3rem}
  .footer-main{grid-template-columns:1fr;gap:2rem}
  .footer-brand{grid-column:auto}
  .footer-contact{grid-template-columns:1fr 1fr}
  .footer-bottom{align-items:flex-start;flex-direction:column}
  .swatch{width:44%}
}
@media(max-width:480px){
  .shop-info-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}
  .shop-info-panel{padding:2.5rem 1.25rem 1.5rem}
  .shop-info-actions{display:grid;grid-template-columns:1fr}
  .shop-info-actions .btn-gold,.shop-info-actions .btn-outline{display:inline-flex;justify-content:center;width:100%}
}

@media(prefers-reduced-motion:reduce){
  .remnant-loading-mark{animation-duration:1.8s}
}
