:root{
  --premium-red:#c5161d;
  --premium-red-bright:#ed1c24;
  --premium-ink:#090a0b;
  --premium-panel:#111315;
  --premium-panel-2:#191b1e;
  --premium-paper:#f4f4f1;
  --premium-line:rgba(15,17,19,.12);
  --premium-shadow:0 20px 55px rgba(8,10,12,.12);
  --premium-shadow-strong:0 24px 70px rgba(8,10,12,.2);
}

html{scroll-padding-top:88px}
body{overflow-x:hidden;background:var(--premium-paper)}
::selection{background:var(--premium-red);color:#fff}

.site-header{
  box-shadow:0 10px 32px rgba(8,10,12,.07);
  transition:box-shadow .25s ease,background-color .25s ease;
}
.site-header .nav{min-height:82px}
.brand-link{display:inline-flex;align-items:center}
.site-header .logo{
  height:auto;
  max-width:100%;
  object-fit:contain;
  transition:transform .25s ease,filter .25s ease;
}
.brand-link:hover .logo{transform:translateY(-1px)}

.btn{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid transparent;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,border-color .22s ease;
}
.btn:before{
  content:"";
  position:absolute;
  inset:0 auto 0 -120%;
  width:90%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.24),transparent);
  transform:skewX(-18deg);
  transition:left .55s ease;
  z-index:-1;
}
.btn:hover{transform:translateY(-3px)}
.btn:hover:before{left:125%}
.btn-red{
  background:linear-gradient(135deg,var(--premium-red-bright),var(--premium-red));
  box-shadow:0 12px 28px rgba(197,22,29,.24);
}
.btn-red:hover{box-shadow:0 16px 34px rgba(197,22,29,.34)}
.btn-dark{
  background:linear-gradient(135deg,#202326,#090a0b);
  box-shadow:0 12px 26px rgba(8,10,12,.2);
}

.hero,.accident-page-hero,.service-page-hero{
  isolation:isolate;
}
.hero h1,.accident-page-hero h1,.service-page-hero h1{
  letter-spacing:-.018em;
  text-wrap:balance;
}
.hero p,.accident-page-hero p,.service-page-hero p{max-width:680px}
.hero-meta,.hero-stat,.hero-actions{position:relative;z-index:2}

.section-head{position:relative}
.section-head:after,.values-head:after{
  content:"";
  width:58px;
  height:3px;
  display:block;
  margin-top:18px;
  background:linear-gradient(90deg,var(--premium-red-bright),transparent);
}
.section-head p{color:#62676b}

.card,.quick-card,.accident-card,.business,.value,.work-card,.estimate-form,.contact-box{
  border-radius:12px;
  box-shadow:0 14px 38px rgba(8,10,12,.07);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.card:hover,.quick-card:hover,.accident-card:hover,.business:hover,.value:hover,.work-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--premium-shadow-strong);
}
.card,.quick-card,.accident-card,.business,.value,.work-card{
  border-color:var(--premium-line);
}
.card:focus-within,.quick-card:focus-within,.work-card:focus-visible{
  outline:3px solid rgba(237,28,36,.25);
  outline-offset:3px;
}

.quick-card,.accident-card{
  overflow:hidden;
}
.quick-photo,.accident-photo,.service-detail-photo,.owner-frame,.location-photo,.map{
  border-radius:12px;
  overflow:hidden;
}
.quick-photo img,.location-photo img,.map img{
  transition:transform .55s ease,filter .55s ease;
}
.quick-card:hover .quick-photo img,.location-photo:hover img,.map:hover img{
  transform:scale(1.035);
}

.service-detail{
  position:relative;
}
.service-detail:nth-child(even):before{
  content:"";
  position:absolute;
  inset:10% 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--premium-line),transparent);
}
.service-detail-photo{
  box-shadow:var(--premium-shadow);
}
.service-detail-copy .btn{margin-top:4px}

.estimate-form{
  border:1px solid rgba(15,17,19,.1);
  box-shadow:var(--premium-shadow-strong);
}
.estimate-form .field input{
  border-radius:7px;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.estimate-form .field input:focus{
  border-color:var(--premium-red);
  box-shadow:0 0 0 4px rgba(197,22,29,.11);
}
.estimate-submit{letter-spacing:.5px}

.contact-box{
  border:1px solid rgba(255,255,255,.1);
}
.map{
  box-shadow:var(--premium-shadow);
}

.owner-frame img{
  transition:transform .7s ease;
}
.owner-frame:hover img{transform:scale(1.025)}
.owner-tag{
  box-shadow:0 14px 28px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
}

.work-card{border-radius:14px}
.thumb img{transition:transform .55s ease}
.work-card:hover .thumb img{transform:scale(1.035)}
.more{
  border-radius:10px;
  border-color:rgba(15,17,19,.2);
}
.modal-box{
  border-radius:14px;
  box-shadow:0 30px 100px rgba(0,0,0,.35);
}
.modal-image{border-radius:8px}
.tab,.close{transition:background-color .2s ease,color .2s ease,transform .2s ease}
.tab:hover,.close:hover{transform:translateY(-2px)}

footer{
  position:relative;
  overflow:hidden;
}
footer:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--premium-red-bright),transparent);
}
footer a{transition:color .2s ease}
footer a:hover{color:#fff}
.footer-logo{height:auto;max-width:100%}

a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid rgba(237,28,36,.45);
  outline-offset:3px;
}

@keyframes premium-rise{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion:no-preference){
  .hero-content,.hero-copy,.accident-page-hero .container,.service-page-hero .container{
    animation:premium-rise .65s ease both;
  }
}

@media (max-width:900px){
  .site-header .nav{min-height:72px}
  .container{max-width:100%}
  .section-head:after,.values-head:after{margin-top:14px}
  .footer-grid{gap:28px}
}

@media (max-width:600px){
  body{min-width:0}
  .container{width:min(calc(100% - 28px),var(--max,1180px))}
  .btn{min-height:48px}
  .hero h1,.accident-page-hero h1,.service-page-hero h1{max-width:100%}
  .quick-card,.accident-card,.business,.value,.work-card,.estimate-form,.contact-box{border-radius:10px}
  .owner-frame,.location-photo,.map,.service-detail-photo{border-radius:10px}
  .footer-grid{gap:24px}
}

/* Homepage: premium Complete Collision Care cards only */
.premium-service-cards{grid-template-columns:repeat(3,1fr);gap:16px}
.service-card-premium{padding:0!important;min-height:0!important;background:#fff;overflow:hidden;border:1px solid #e7e7e4!important;border-radius:16px!important;box-shadow:0 12px 32px rgba(8,10,12,.08)!important;display:flex;flex-direction:column}
.service-card-premium:hover{transform:translateY(-7px)!important;box-shadow:0 24px 55px rgba(8,10,12,.16)!important}
.service-card-image{height:118px;overflow:hidden;position:relative;background:#ddd}
.service-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.18));pointer-events:none}
.service-card-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s ease,filter .35s ease}
.service-card-premium:hover .service-card-image img{transform:scale(1.055)}
.service-card-content{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.service-card-kicker{font-size:10px;font-weight:800;letter-spacing:1.8px;color:var(--red);margin-bottom:7px}
.service-card-content h3{font-size:22px!important;line-height:1!important;margin-bottom:10px!important}
.service-card-content p{font-size:13px!important;color:#666!important;line-height:1.6;min-height:45px}
.service-card-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;width:max-content}
.service-card-link span{font-size:18px;line-height:1;transition:transform .2s ease}
.service-card-link:hover span{transform:translateX(4px)}
@media(max-width:900px){.premium-service-cards{grid-template-columns:1fr 1fr}.service-card-image{height:110px}}
@media(max-width:600px){.premium-service-cards{grid-template-columns:1fr;gap:14px}.service-card-image{height:125px}.service-card-content{padding:16px 18px 18px}.service-card-content p{min-height:0}}
