
:root{
  --blue-1:#17145d;
  --blue-2:#23278f;
  --blue-3:#305de7;
  --blue-4:#4169E1;
  --white:#f5f7fb;
  --muted:#d8def7;
  --panel:rgba(17,20,66,.62);
  --panel-border:rgba(255,255,255,.14);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Arial,Helvetica,sans-serif;
  color:var(--white);
  background:
    linear-gradient(135deg,var(--blue-1) 0%, var(--blue-2) 38%, var(--blue-3) 100%);
  background-attachment:fixed;
}

a{color:var(--white);text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

.top-banner{
  background:#4169E1;
  color:#fff;
  text-align:center;
  padding:10px 16px;
  font-size:.95rem;
  letter-spacing:.01em;
}

.site-header{
  background:rgba(7,10,38,.72);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.header-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:18px 24px;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.brand img{
  width:54px;
  height:54px;
  object-fit:contain;
}
.brand strong{
  display:block;
  font-size:1.2rem;
}
.brand small{
  display:block;
  color:var(--muted);
  margin-top:2px;
}
.site-nav{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.site-nav a{
  color:#fff;
  font-weight:700;
  opacity:.96;
}

.hero{
  padding:64px 0 56px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:24px;
  align-items:center;
}
.hero-copy h1{
  font-size:clamp(3rem,6vw,5.2rem);
  line-height:.96;
  margin:0 0 18px;
  font-weight:900;
  letter-spacing:-.03em;
}
.hero-sub{
  font-size:1.28rem;
  margin:0 0 8px;
  color:var(--white);
}
.hero-lead{
  color:var(--muted);
  font-size:1.05rem;
  margin:0 0 22px;
}
.hero-art{
  display:flex;
  justify-content:center;
  align-items:center;
}
.hero-art img{
  width:min(100%,650px);
  max-height:650px;
  object-fit:contain;
  filter:drop-shadow(0 18px 50px rgba(0,0,0,.28));
}

.hero-cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:18px 0 18px;
}
.btn{
  display:inline-block;
  padding:13px 18px;
  border-radius:12px;
  font-weight:800;
  transition:transform .18s ease, opacity .18s ease, background .18s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-light{
  background:#ffffff;
  color:#1d2f8f;
}
.btn-outline{
  border:2px solid rgba(255,255,255,.82);
  color:#fff;
  background:transparent;
}
.btn-solid{
  background:#4169E1;
  color:#fff;
  box-shadow:0 10px 28px rgba(22,36,121,.34);
}

.badges{
  list-style:none;
  padding:0;
  margin:10px 0 0;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.badges li{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.14);
  color:#eef2ff;
  padding:10px 14px;
  border-radius:999px;
  font-weight:700;
}

.section{
  padding:48px 0;
}
.section.alt{
  background:rgba(255,255,255,.05);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.section h2{
  font-size:2rem;
  margin:0 0 18px;
}

.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.card{
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:20px;
  padding:22px;
  box-shadow:0 18px 42px rgba(8,11,35,.22);
}
.card h3{
  margin:0 0 10px;
  font-size:1.15rem;
}
.card p{
  margin:0;
  color:var(--muted);
}

.split{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:28px;
  align-items:start;
}
.checklist{
  list-style:none;
  padding:22px;
  margin:0;
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:20px;
}
.checklist li{
  position:relative;
  padding-left:24px;
  margin:0 0 12px;
}
.checklist li:last-child{margin-bottom:0}
.checklist li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#fff;
  font-weight:900;
}

.review-links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 18px;
}
.fb-wrap{
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:20px;
  padding:18px;
}

.section-intro,
.contact-line,
#formStatus,
.section p{
  color:var(--muted);
}

.estimate-form{
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:22px;
  padding:22px;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.form-grid label{
  display:grid;
  gap:8px;
  font-weight:700;
}
.form-grid .full{
  grid-column:1 / -1;
}
input,textarea,select{
  width:100%;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  border-radius:14px;
  padding:14px 15px;
  font:inherit;
}
input::placeholder, textarea::placeholder{color:#dbe2ff}
input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:#9fb4ff;
  box-shadow:0 0 0 3px rgba(159,180,255,.18);
}

.site-footer{
  border-top:1px solid rgba(255,255,255,.10);
  background:rgba(5,7,28,.52);
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding:22px 24px;
  color:#d7def8;
}

@media (max-width: 900px){
  .hero-grid,.split,.cards,.form-grid{
    grid-template-columns:1fr;
  }
  .hero{
    padding-top:42px;
  }
  .hero-copy h1{
    font-size:clamp(2.6rem,14vw,4rem);
  }
  .header-inner{
    flex-direction:column;
    align-items:flex-start;
  }
  .site-nav{
    gap:14px;
  }
}


/* Force all buttons to white style */
.btn,
.btn-solid,
.btn-outline,
.btn-light {
  background: #ffffff !important;
  color: #1d2f8f !important;
  border: none !important;
}

.btn:hover {
  opacity: 0.9;
}


/* Featured reviews */
.featured-reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin:20px 0 24px;
}
.review-card{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  padding:22px;
  box-shadow:0 18px 42px rgba(8,11,35,.18);
}
.review-stars{
  font-size:1.2rem;
  letter-spacing:.08em;
  margin-bottom:12px;
  color:#ffffff;
}
.review-text{
  color:#f5f7fb !important;
  font-size:1rem;
  line-height:1.7;
  margin:0 0 16px;
}
.review-meta{
  color:#d8def7 !important;
  margin:0;
}
.review-meta span{
  opacity:.9;
}
@media (max-width: 900px){
  .featured-reviews-grid{
    grid-template-columns:1fr;
  }
}


/* Fur-men section */
.fur-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:20px;
}
.fur-card{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  padding:20px;
  text-align:center;
}
.fur-placeholder{
  font-size:3rem;
  margin-bottom:10px;
}
.fur-name{
  color:#d8def7;
  font-weight:700;
}
@media (max-width:900px){
  .fur-grid{
    grid-template-columns:1fr;
  }
}


/* Fur images */
.fur-img{
  width:100%;
  border-radius:16px;
  margin-bottom:10px;
  object-fit:cover;
  max-height:260px;
}


/* Fur-men scrolling gallery */
.fur-gallery-toolbar{
  display:flex;
  gap:12px;
  justify-content:flex-end;
  margin:18px 0 14px;
}

.gallery-arrow{
  min-width:52px;
  padding:12px 14px;
}

.fur-gallery{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(280px, 360px);
  gap:18px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  padding:4px 2px 12px;
  scrollbar-width:thin;
}

.fur-gallery::-webkit-scrollbar{
  height:10px;
}
.fur-gallery::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.25);
  border-radius:999px;
}

.fur-slide{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
  padding:16px;
  scroll-snap-align:start;
  box-shadow:0 18px 42px rgba(8,11,35,.18);
}

.fur-img{
  width:100%;
  height:320px;
  object-fit:cover;
  border-radius:16px;
  display:block;
  margin-bottom:12px;
}

.fur-name{
  color:#f5f7fb;
  font-weight:800;
  margin:0 0 6px;
}

.fur-caption{
  color:#d8def7;
  margin:0;
}

.fur-helper{
  margin-top:14px;
  color:#d8def7 !important;
  font-size:.95rem;
}

@media (max-width: 700px){
  .fur-gallery{
    grid-auto-columns:minmax(240px, 82vw);
  }
  .fur-img{
    height:260px;
  }
}

.services-note{
  margin-top:16px;
  color:#d8def7;
  font-size:1rem;
}

.team-block{
  margin-top:16px;
  color:#f5f7fb;
  font-weight:600;
}
.team-block p{
  margin:4px 0;
}
