/* Big Stone Granite & Design — premium interior page treatment. Progressive enhancement; preserves existing page structure. */
:root{--bs-gold:#d7a94b;--bs-gold-light:#f5d58c;--bs-night:#0c0d0d;--bs-glow:rgba(215,169,75,.18)}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{background:radial-gradient(ellipse 70% 26% at 95% 4%,rgba(112,79,30,.16),transparent 70%),linear-gradient(180deg,#101110 0%,#090a0a 100%);-webkit-font-smoothing:antialiased}
header{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 26px rgba(0,0,0,.2)}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:430px;display:flex;align-items:center;box-shadow:inset 0 -70px 95px -90px rgba(0,0,0,.95)}
.hero:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 52% 75% at 80% 45%,rgba(224,178,90,.12),transparent 76%)}
.hero>.wrap{width:min(1120px,91%);position:relative;z-index:1}
.hero h1{letter-spacing:-.035em;text-wrap:balance;text-shadow:0 4px 30px rgba(0,0,0,.52)}
.hero p{line-height:1.75;text-shadow:0 2px 16px rgba(0,0,0,.45)}
.crumb,.kicker{letter-spacing:.055em}
.section{position:relative}
.section h2{letter-spacing:-.025em;text-wrap:balance}
.section.alt,.alt,.quote,.final,.cta{background-image:radial-gradient(ellipse at 90% 15%,rgba(185,130,45,.09),transparent 55%),linear-gradient(155deg,rgba(31,30,26,.9),rgba(14,15,14,.96))}
.grid{align-items:stretch}
.card{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,rgba(38,37,32,.96),rgba(17,18,17,.97) 75%)!important;border:1px solid rgba(213,170,88,.25)!important;border-radius:15px!important;box-shadow:0 14px 35px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.055);transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease!important}
.card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(232,194,113,.09),transparent 45%);z-index:-1}
.card:hover{transform:translateY(-5px);border-color:rgba(245,207,122,.7)!important;box-shadow:0 24px 50px rgba(0,0,0,.34),0 0 0 1px rgba(215,169,75,.09)}
.card strong,.card h3{color:#fff4df}
.btn,.cta a.btn,button[type=submit]{position:relative;box-shadow:0 8px 20px rgba(0,0,0,.22);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.btn:hover,button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(0,0,0,.35)}
.primary,.btn.primary{background:linear-gradient(135deg,#f2d18a,#d7a94b 58%,#bb8837)!important;color:#18130a!important;border:1px solid rgba(255,237,183,.48)}
.secondary,.btn.secondary{background:rgba(12,12,12,.36);border-color:rgba(221,183,107,.5)!important}
.learn a,.service-sublinks a{transition:background .2s ease,border-color .2s ease,transform .2s ease}
.learn a:hover,.service-sublinks a:hover{background:rgba(215,169,75,.14);transform:translateY(-2px)}
.faq{border-color:rgba(215,169,75,.23)!important}
details.faq{border-radius:9px;padding-inline:15px!important;transition:background .2s ease}
details.faq[open]{background:linear-gradient(130deg,rgba(215,169,75,.1),rgba(215,169,75,.015));border:1px solid rgba(215,169,75,.25)!important}
details.faq summary{outline-offset:4px}
input:not([type=hidden]):not([type=checkbox]),textarea,select{border:1px solid rgba(205,178,122,.34);border-radius:7px;background-color:#f7f4ed;color:#171717;max-width:100%}
input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f2cb78;outline-offset:3px}
form{max-width:100%}
footer{background:linear-gradient(180deg,#11120f,#090a09)}
@media(min-width:900px){.hero{min-height:475px}.section{padding-top:max(72px,5vw);padding-bottom:max(72px,5vw)}}
@media(max-width:700px){.hero{min-height:385px;padding-top:60px;padding-bottom:62px}.hero h1{font-size:clamp(35px,10vw,54px)}.card:hover,.btn:hover{transform:none}.grid{gap:14px}details.faq{padding-inline:10px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.btn,.learn a,.service-sublinks a{transition:none!important;transform:none!important}}

/* Interior refinement v2: city hubs, service navigation, forms and directory cards */
:where(.localnav,.mobileexplore){background:linear-gradient(110deg,rgba(22,23,21,.96),rgba(43,35,24,.92));border-block:1px solid rgba(215,169,75,.23);box-shadow:0 12px 30px rgba(0,0,0,.2)}
:where(.localnav,.mobileexplore) a{transition:color .2s ease,background .2s ease}
:where(.localnav,.mobileexplore) a:hover{color:#f5d58c}
.city-hero-grid{position:relative;isolation:isolate;gap:clamp(20px,3vw,52px);align-items:center}
.hero-form{position:relative;isolation:isolate;border:1px solid rgba(231,191,112,.36);border-radius:18px;box-shadow:0 26px 70px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.08);background-image:linear-gradient(145deg,rgba(35,33,28,.96),rgba(14,15,14,.98))}
.hero-form:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 90% 0%,rgba(215,169,75,.11),transparent 65%);z-index:-1}
.city-service-directory{border-top:1px solid rgba(215,169,75,.2);background:radial-gradient(ellipse at 15% 0%,rgba(215,169,75,.09),transparent 55%),linear-gradient(145deg,#181916,#101110)}
.local-convert{border:1px solid rgba(215,169,75,.25);border-radius:18px;background:linear-gradient(140deg,rgba(40,36,27,.9),rgba(13,14,13,.96));box-shadow:0 20px 45px rgba(0,0,0,.24);overflow:hidden}
.video-wrap,.video-shell{overflow:hidden;border-radius:18px;border:1px solid rgba(215,169,75,.2);box-shadow:0 20px 55px rgba(0,0,0,.28)}
:where(.video-wrap,.video-shell) video{display:block;max-width:100%}
.section+.section{border-top:1px solid rgba(255,255,255,.035)}
.section .wrap>h2{max-width:850px}
.section .wrap>.lead{max-width:780px}
.card:focus-visible{outline:3px solid #f2cb78;outline-offset:4px}
details.faq summary{cursor:pointer;position:relative;font-weight:650}
details.faq:hover{border-color:rgba(215,169,75,.46)!important}
details.faq[open] summary{color:#f5d58c}
:where(.hero-form,.local-convert,.quote) input:focus-visible,:where(.hero-form,.local-convert,.quote) textarea:focus-visible{box-shadow:0 0 0 4px rgba(215,169,75,.16)}
@media(max-width:700px){.city-hero-grid{gap:22px}.hero-form{border-radius:14px}.local-convert{border-radius:14px}.section .wrap>h2{font-size:clamp(27px,7vw,38px)}}
@media(prefers-reduced-motion:reduce){:where(.localnav,.mobileexplore) a{transition:none}}

/* Local service discovery: descriptive city links on every core service page */
.service-city-directory{background:radial-gradient(ellipse at 10% 0%,rgba(215,169,75,.1),transparent 60%),linear-gradient(155deg,#181916,#0c0d0c);border-block:1px solid rgba(215,169,75,.2)}
.service-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:30px 0}
.service-city-link{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:22px 20px;border:1px solid rgba(215,169,75,.24);border-radius:13px;background:linear-gradient(145deg,rgba(48,42,32,.9),rgba(18,19,18,.97));box-shadow:0 12px 28px rgba(0,0,0,.18);color:#f8f3e8;text-decoration:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.service-city-link strong{font-size:clamp(15px,1.5vw,18px);line-height:1.4}
.service-city-link span{font-size:13px;color:#f0c878}
.service-city-link:hover{transform:translateY(-4px);border-color:rgba(245,207,122,.68);box-shadow:0 20px 36px rgba(0,0,0,.32)}
.service-city-link:focus-visible{outline:3px solid #f2cb78;outline-offset:3px}
@media(max-width:850px){.service-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:550px){.service-city-grid{grid-template-columns:1fr;gap:10px}.service-city-link{padding:17px 18px}.service-city-link:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.service-city-link{transition:none}.service-city-link:hover{transform:none}}
