:root{
  --ink:#121214;
  --paper:#fbfaf8;
  --gold:#d10a20;
  --white:#fff;
  --muted:#68666a;
  --line:#e3d8da;
  --deep:#09090b;
  --sky:#ff4053;
  --blue:#d10a20;
  --red:#d10a20;
  --red-dark:#78000e;
  --marble:url("red-black-marble.webp");
}

body{background:#f6f3f3;color:var(--ink)}
.site-header{background:linear-gradient(180deg,rgba(5,5,7,.98),rgba(5,5,7,.82),transparent);border-bottom:1px solid rgba(255,255,255,.12)}
.site-header nav>a:not(.nav-call){color:#fff}.site-header nav>a:not(.nav-call):hover{color:#ff5b6a}
.nav-call,.primary,.button.light,.form-submit{background:linear-gradient(135deg,#e10b23,#980010);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 34px rgba(150,0,16,.3)}
.nav-call:hover,.primary:hover,.button.light:hover,.form-submit:hover{background:linear-gradient(135deg,#ff2038,#b60017)!important;color:#fff!important}
.brand{gap:.75rem}.brand>span:last-child{display:grid;gap:.05rem}.brand strong{font-family:Oswald,sans-serif;font-size:1.05rem;letter-spacing:.045em;text-transform:uppercase;color:#fff}.brand small{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:#d9d3d4}
.brand-mark{width:58px;height:42px;border:1px solid rgba(255,255,255,.65);border-radius:8px;background:linear-gradient(150deg,#fff,#aaa);color:#121214;display:grid;place-items:center;font:800 1.22rem/1 Oswald,sans-serif;font-style:italic;letter-spacing:-.05em;box-shadow:inset 0 0 0 2px rgba(255,255,255,.3),0 10px 28px rgba(0,0,0,.34)}

.hero{min-height:820px;background-image:var(--marble);background-size:cover;background-position:center;padding-top:132px}
.hero-bg{display:none}
.hero-shade{background:linear-gradient(90deg,rgba(5,5,7,.64),rgba(5,5,7,.16)),linear-gradient(0deg,rgba(5,5,7,.5),transparent 55%)}
.hero-content{max-width:920px;text-align:center;border:1px solid rgba(255,255,255,.38);background:linear-gradient(135deg,rgba(8,8,10,.76),rgba(75,0,10,.28));box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.12);margin-inline:auto;padding:2.4rem 3rem}
.hero h1{margin:.3rem 0 0;line-height:.9;text-transform:uppercase;text-shadow:0 6px 24px rgba(0,0,0,.5)}
.hero-monogram{display:block;font:800 italic clamp(7rem,14vw,13rem)/.7 Oswald,sans-serif;letter-spacing:-.08em;background:linear-gradient(180deg,#fff 0%,#fff 30%,#a7a7aa 55%,#f5f5f5 73%,#8d8d91 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-stroke:2px #fff;filter:drop-shadow(0 5px 0 #54000b) drop-shadow(0 12px 14px rgba(0,0,0,.55))}
.hero-name{display:block;color:#fff!important;font:700 clamp(2.3rem,5.4vw,5.1rem)/1 Oswald,sans-serif;letter-spacing:.015em;margin-top:1.1rem;text-shadow:0 4px 0 #111,0 10px 22px rgba(0,0,0,.55)}
.hero-services{margin:1rem auto 1.25rem;padding:.75rem 1rem;border-top:2px solid rgba(255,255,255,.78);border-bottom:2px solid rgba(255,255,255,.78);color:#fff;font:700 clamp(.86rem,1.8vw,1.3rem)/1.25 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;max-width:790px}.hero-services b{color:#e10b23}
.hero-copy{color:#ece7e7;margin-inline:auto}.eyebrow{color:#ff4154}.hero .eyebrow{color:#fff;border:0;padding:0;text-align:center;letter-spacing:.24em}.ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.4)}
.hero-actions,.hero-proof{justify-content:center}.hero-proof{max-width:720px;margin-inline:auto}
.hero-proof span:before{background:#e10b23}

.intro,.services-grid,.process,.requests,.service-area{background:#f7f4f4}.intro{background-image:linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),url("marble-background.webp");background-size:cover}
.eyebrow.dark{color:#a80016}.intro h2,.process h2,.requests h2,.service-area h2,.review-copy h2{text-transform:uppercase}
.service{border:2px solid #eadbdd;background:#fff;border-radius:16px;box-shadow:0 18px 44px rgba(40,0,6,.08)}
.service:before{background:linear-gradient(90deg,#76000e,#ee1029,#fff,#161618)}
.service.featured,.service:hover{border-color:#d99ba2;box-shadow:0 25px 60px rgba(125,0,16,.16)}
.service-number{background:#fbe9eb;color:#a90016}.service a{color:#a50015}.service-visual{border-bottom:4px solid #c8081d}

.why,.review-section,.contact{background-image:linear-gradient(120deg,rgba(5,5,7,.9),rgba(90,0,12,.72)),var(--marble);background-size:cover;background-position:center;color:#fff}
.quote-card{background:linear-gradient(145deg,#5d000c,#d10a20);border:1px solid rgba(255,255,255,.26)}
.review-promise{border-left-color:#ed1830}.rating-heading>span{background:#fbe9eb;color:#c70920}.rating-stars button.active{color:#d10a20;text-shadow:0 5px 18px rgba(209,10,32,.25)}.rating-status{color:#a90016}
.published-reviews{grid-column:1/-1;margin-top:1rem;background:#fff;color:#111;border:2px solid #b40a1d;border-radius:22px;padding:2rem;box-shadow:0 30px 70px rgba(0,0,0,.24)}
.published-reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:2px solid #c80a20;padding-bottom:1rem;margin-bottom:1.2rem}.published-reviews-heading span{font:700 .75rem Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#9b0014}.published-reviews-heading strong{font:700 1.8rem Oswald,sans-serif;text-transform:uppercase}
.review-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.customer-review{border:1px solid #eadbdd;border-top:5px solid #c90a20;border-radius:14px;padding:1.2rem;background:linear-gradient(145deg,#fff,#fbf6f7)}.customer-review-stars{color:#c90a20;letter-spacing:.08em;font-size:1.05rem}.customer-review blockquote{margin:.8rem 0 1rem;font-size:.96rem;line-height:1.6;color:#29272a}.customer-review footer{display:block;padding:0;background:none;color:#111}.customer-review footer strong,.customer-review footer span{display:block}.customer-review footer span{margin-top:.2rem;color:#777;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.reviews-loading,.reviews-empty{grid-column:1/-1;color:#716d70;margin:.25rem 0}.review-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lead-form,.rating-form,.map-frame{background:#fff;border:2px solid #b40a1d}.lead-form:before{background:linear-gradient(90deg,#6f000c,#e10b23,#fff,#171719)}.form-title>span{background:#111113}
.area-tags span{color:#76000e}.map-frame{border-color:#fff;box-shadow:0 24px 60px rgba(71,0,8,.14)}
.contact .eyebrow{color:#ff5364}.text-link{color:#fff}
.mobile-call{background:#c90a20}.footer-brand strong{color:#111}.footer-brand small{color:#777}.footer-brand .brand-mark{color:#111}

.chat-launcher{background:linear-gradient(135deg,#131316,#870011)}.chat-launcher b,.assistant-mark,.chat-form button{background:linear-gradient(135deg,#e10b23,#8f0011)}.chat-message.user{background:#bd081d}.chat-header{background:#111113}.chat-chips button{border-color:#e0afb4;background:#fff7f8;color:#850010}

@media(max-width:900px){.site-header nav{background:#0b0b0d}.hero{min-height:760px}.brand-mark{width:50px;height:38px}.brand strong{font-size:.9rem}.brand small{font-size:.5rem}.hero-content{padding:2rem 1.5rem}}
@media(max-width:900px){.review-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hero{padding-top:110px;background-position:58% center}.hero-content{background:rgba(8,8,10,.78);padding:1.6rem 1rem}.hero-monogram{font-size:clamp(5.7rem,28vw,8rem)}.hero-name{font-size:clamp(2rem,11vw,3.3rem)}.hero-services{font-size:.72rem;letter-spacing:.07em}.brand small{display:none}.published-reviews{padding:1.25rem}.published-reviews-heading{align-items:start;flex-direction:column}.review-list{grid-template-columns:1fr}}

.service.epoxy{grid-column:1/-1;min-height:440px}.epoxy-heading{margin:1.5rem -2rem;padding:2.5rem 2rem;background:linear-gradient(120deg,#100d0f,#740010);border-bottom:4px solid #c8081d;color:#fff}.epoxy-heading span{display:block;font:700 clamp(2.5rem,7vw,5rem)/1 Oswald,sans-serif;letter-spacing:.08em}.epoxy-heading small{display:block;margin-top:1rem;letter-spacing:.15em;font-size:.7rem}.service.epoxy h3{font-size:1.8rem}
