/* FORCE_REFRESH_BUILD v1.7.1 2026-04-29 13:10:31 */

:root{
  --bg:#f7f2eb;
  --surface:#ffffff;
  --text:#1f2933;
  --muted:#5d6770;
  --accent:#8c694a;
  --accent-dark:#6e5239;
  --line:#ddd2c3;
  --shadow:0 12px 32px rgba(20,20,20,.09);
  --radius:20px;
  --max:1180px;
  --hero-title-size:4.5rem;
  --section-title-size:2.8rem;
  --body-text-size:1.08rem;
  --nav-text-size:1rem;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,"Times New Roman",serif;background:var(--bg);color:var(--text);line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(100% - 2rem, var(--max));margin:0 auto}
header{background:#f4ede4;border-bottom:1px solid rgba(0,0,0,.08);position:sticky;top:0;z-index:100}
.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem 0}
.logo-only-brand{display:flex;align-items:center;justify-content:flex-start}
.brand-logo-large{width:220px;height:auto;object-fit:contain;display:block}
nav ul{list-style:none;display:flex;gap:1rem;padding:0;margin:0;flex-wrap:wrap}
nav a{font-weight:700;color:#53463a;font-size:var(--nav-text-size)}
.hero{padding:4.5rem 0 3rem;background:linear-gradient(180deg,#f4ede4 0%, #f7f2eb 100%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:center}
.eyebrow{display:inline-block;padding:.4rem .8rem;border-radius:999px;background:#eadfce;color:var(--accent-dark);font-weight:700;font-size:.88rem}
h1,h2,h3{line-height:1.1;margin:0 0 1rem}
h1{font-size:clamp(2.3rem, 5vw, var(--hero-title-size))}
h2{font-size:clamp(1.8rem, 3vw, var(--section-title-size))}
.lead{font-size:var(--body-text-size);color:var(--muted);max-width:60ch}
.btn{display:inline-block;padding:.95rem 1.3rem;border-radius:999px;font-weight:700;border:1px solid transparent}
.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow)}
.btn-secondary{background:#fff;border-color:var(--line)}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.hero-card,.card,.location{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.hero-placeholder,.about-placeholder{min-height:360px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e7dccb,#c8b29a);color:#fff;font-size:1.4rem;font-weight:700;padding:2rem;text-align:center}
.section{padding:3.5rem 0}
.alt{background:rgba(255,255,255,.55);border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.card{padding:1.3rem}
ul.clean{padding-left:1.2rem}
.location iframe{width:100%;height:280px;border:0;display:block}
.location .copy{padding:1.2rem}
footer{padding:2rem 0 3rem}
.footer-box{padding-top:1.2rem;border-top:1px solid rgba(0,0,0,.08);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted)}
.footer-brand{display:flex;align-items:center;gap:.85rem}
.footer-logo-large{width:84px;height:auto;object-fit:contain;display:block}
.notice{background:#fff7dd;border:1px solid #eedc9a;padding:1rem;border-radius:16px;margin-top:1rem}
.form-card form,.chat-panel form{display:grid;gap:.85rem}
input,textarea,select{width:100%;padding:1rem;border-radius:14px;border:1px solid var(--line);font:inherit}
textarea{min-height:150px;resize:vertical}
.chat-toggle{position:fixed;right:20px;bottom:20px;z-index:50}
.chat-panel{display:none;position:fixed;right:20px;bottom:84px;z-index:50;width:min(92vw,360px);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 60px rgba(0,0,0,.16);overflow:hidden}
.chat-panel.active{display:block}
.chat-head{background:var(--accent);color:#fff;padding:1rem 1.1rem}
.chat-body{padding:1rem}
.small{color:var(--muted);font-size:.95rem}
.admin-wrap{display:grid;grid-template-columns:320px 1fr;gap:1.25rem;align-items:start;padding:2rem 0}
.admin-box{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:1.2rem}
label{display:block;font-weight:700;margin:.75rem 0 .35rem}
.admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.admin-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1rem}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f4f4f4;padding:.2rem .45rem;border-radius:8px}
@media(max-width:980px){.hero-grid,.grid-2,.grid-3,.admin-wrap,.admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .nav{min-height:76px}
  .brand-logo-large{width:190px}
  .footer-logo-large{width:68px}
}










/* v1.7.1 combined logo header */
header{
  padding: 2px 0 !important;
  overflow: visible;
}
.nav{
  min-height: 44px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}
.logo-wrap{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-decoration: none !important;
  line-height: 1 !important;
}
.brand-logo-large{
  width: 250px !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
}
.logo-slogan{
  display: none !important;
}
nav ul{
  margin: 0 !important;
  align-items: center !important;
}
@media (max-width: 760px){
  header{
    padding: 1px 0 !important;
  }
  .nav{
    min-height: 40px !important;
  }
  .brand-logo-large{
    width: 200px !important;
  }
}


/* v1.7.1 mobile nav + testimonials */
.mobile-nav-toggle{
  display:none;
  padding:.55rem .9rem;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font:inherit;
  font-weight:700;
  color:#53463a;
}
.testimonials-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  margin-top:1.25rem;
}
.testimonial-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:1.2rem;
  box-shadow:var(--shadow);
}
.testimonial-text{
  margin:0 0 .8rem;
  color:var(--text);
}
.testimonial-meta{
  color:var(--muted);
  font-size:.95rem;
}
.subtle-admin-link{
  font-size:.82rem;
  color:#8a847c;
  opacity:.8;
}
.subtle-admin-link:hover{
  opacity:1;
}
@media(max-width:760px){
  .mobile-nav-toggle{
    display:inline-block;
  }
  nav#siteNav{
    position:relative;
  }
  nav#siteNav ul{
    display:none;
    position:absolute;
    right:0;
    top:100%;
    width:220px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:var(--shadow);
    padding:.75rem;
    flex-direction:column;
    align-items:flex-start !important;
    gap:.6rem;
    z-index:120;
  }
  nav#siteNav.open ul{
    display:flex;
  }
  .testimonials-grid{
    grid-template-columns:1fr;
  }
}


/* v1.7.1 testimonials page + homepage scroller */
.testimonial-marquee{
  overflow:hidden;
  position:relative;
  margin-top:1.25rem;
}
.testimonial-track{
  display:flex;
  gap:1rem;
  width:max-content;
  animation:testimonial-scroll 34s linear infinite;
}
.testimonial-track:hover{
  animation-play-state:paused;
}
.testimonial-track .testimonial-card{
  width:320px;
  flex:0 0 320px;
}
@keyframes testimonial-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.page-intro{
  max-width:72ch;
}
.center-link-row{
  margin-top:1.1rem;
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}
@media(max-width:760px){
  .testimonial-track .testimonial-card{
    width:280px;
    flex-basis:280px;
  }
}


/* v1.7.1 logo-matched theme */
:root{
  --bg:#12080a;
  --surface:#1a1012;
  --text:#f1e8d2;
  --muted:#c8b59a;
  --accent:#c84e22;
  --accent-dark:#8d2a16;
  --line:rgba(200,78,34,.28);
  --shadow:0 18px 40px rgba(0,0,0,.35);
}
body{
  background:
    radial-gradient(circle at top center, rgba(200,78,34,.20), rgba(18,8,10,0) 34%),
    linear-gradient(180deg, #070304 0%, #12080a 18%, #170a0d 100%) !important;
  color:var(--text) !important;
}
header{
  background:
    radial-gradient(circle at top center, rgba(200,78,34,.26), rgba(18,8,10,0) 32%),
    linear-gradient(180deg, #000000 0%, #050203 55%, rgba(5,2,3,.92) 100%) !important;
  border-bottom:1px solid rgba(200,78,34,.18) !important;
  box-shadow:0 8px 28px rgba(0,0,0,.28);
}
.nav{
  min-height:44px !important;
}
nav a{
  color:#f1e8d2 !important;
}
nav a:hover{
  color:#ff8a52 !important;
}
.hero{
  background:
    radial-gradient(circle at top center, rgba(200,78,34,.18), rgba(18,8,10,0) 28%),
    linear-gradient(180deg, rgba(0,0,0,.65) 0%, rgba(18,8,10,.88) 42%, rgba(18,8,10,1) 100%) !important;
}
.eyebrow{
  background:rgba(200,78,34,.16) !important;
  color:#ffb28b !important;
}
.hero-card,.card,.location,.testimonial-card,.admin-box{
  background:linear-gradient(180deg, rgba(28,16,18,.96), rgba(20,10,12,.96)) !important;
  border:1px solid rgba(200,78,34,.20) !important;
  box-shadow:var(--shadow) !important;
}
.alt{
  background:linear-gradient(180deg, rgba(27,13,16,.72), rgba(16,8,10,.72)) !important;
  border-top:1px solid rgba(200,78,34,.14) !important;
  border-bottom:1px solid rgba(200,78,34,.14) !important;
}
.notice{
  background:rgba(200,78,34,.12) !important;
  border:1px solid rgba(200,78,34,.28) !important;
  color:#f1e8d2 !important;
}
.lead,.small,.testimonial-meta,.footer-box,.logo-slogan{
  color:var(--muted) !important;
}
.btn-primary{
  background:linear-gradient(180deg, #de5b2a 0%, #a5351a 100%) !important;
  color:#fff6ea !important;
}
.btn-primary:hover{
  background:linear-gradient(180deg, #f06b37 0%, #b53d1f 100%) !important;
}
.btn-secondary,.mobile-nav-toggle{
  background:rgba(255,255,255,.04) !important;
  color:#f1e8d2 !important;
  border-color:rgba(200,78,34,.24) !important;
}
input,textarea,select{
  background:#12080a !important;
  color:#f1e8d2 !important;
  border:1px solid rgba(200,78,34,.22) !important;
}
input::placeholder, textarea::placeholder{
  color:#b59d82 !important;
}
.hero-placeholder,.about-placeholder{
  background:
    radial-gradient(circle at center, rgba(200,78,34,.26), rgba(0,0,0,0) 42%),
    linear-gradient(135deg, #13090b, #2b1010 55%, #12080a) !important;
  color:#f1e8d2 !important;
}
footer{
  background:linear-gradient(180deg, rgba(8,4,5,0), rgba(0,0,0,.28)) !important;
}
.subtle-admin-link{
  color:#a88f79 !important;
}
.subtle-admin-link:hover{
  color:#f1e8d2 !important;
}
@media(max-width:760px){
  nav#siteNav ul{
    background:#14090b !important;
    border-color:rgba(200,78,34,.24) !important;
  }
}


/* v1.7.1 restoration gallery */
.restoration-scroller{
  overflow-x:auto;
  padding-bottom:.35rem;
  margin-top:1.25rem;
}
.restoration-track{
  display:flex;
  gap:1rem;
  width:max-content;
}
.restoration-card{
  width:320px;
  flex:0 0 320px;
  background:linear-gradient(180deg, rgba(28,16,18,.96), rgba(20,10,12,.96));
  border:1px solid rgba(200,78,34,.20);
  border-radius:20px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.restoration-card img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}
.restoration-copy{
  padding:1rem;
}
.restoration-copy h3{
  margin:0 0 .55rem;
}
.admin-gallery-list{
  display:grid;
  gap:.85rem;
  margin-top:1rem;
}
.admin-gallery-item{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:.8rem;
  align-items:center;
  padding:.8rem;
  border:1px solid rgba(200,78,34,.20);
  border-radius:16px;
  background:rgba(255,255,255,.03);
}
.admin-gallery-item img{
  width:120px;
  height:80px;
  object-fit:cover;
  border-radius:12px;
}
@media(max-width:760px){
  .restoration-card{
    width:280px;
    flex-basis:280px;
  }
  .admin-gallery-item{
    grid-template-columns:1fr;
  }
}

/* v1.7.1 production admin improvements */
.admin-wrap{
  grid-template-columns: 300px minmax(0, 1fr) !important;
  gap: 1.5rem !important;
  width: min(100% - 2rem, 1400px) !important;
}
#editor .admin-box{
  padding: 1.4rem !important;
}
.admin-grid{
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.15rem !important;
}
textarea{
  min-height: 130px !important;
}
input, textarea, select{
  font-size: 15px !important;
}
@media (min-width: 1200px){
  .admin-wrap{
    grid-template-columns: 300px minmax(0, 1fr) !important;
  }
  #editor .admin-box{
    max-width: 100%;
  }
}
@media (max-width: 980px){
  .admin-wrap{
    grid-template-columns: 1fr !important;
  }
  .admin-grid{
    grid-template-columns: 1fr !important;
  }
}

/* v1.7.1 drag and drop upload */
.drop-zone{
  border:2px dashed rgba(200,78,34,.5);
  border-radius:16px;
  padding:30px;
  text-align:center;
  cursor:pointer;
  transition:.2s;
  background:rgba(255,255,255,.03);
}
.drop-zone:hover{
  border-color:#ff7a3c;
  background:rgba(255,122,60,.08);
}
.drop-zone.dragover{
  border-color:#ff7a3c;
  background:rgba(255,122,60,.15);
}
.drop-zone p{
  margin:0;
  font-weight:600;
}
.drop-zone span{
  font-size:.85rem;
  opacity:.7;
}


/* v1.7.1 admin full-width responsive fix */
.admin-wrap{
  width:min(100% - 24px, 1760px) !important;
  max-width:1760px !important;
  margin:0 auto !important;
  padding:1.25rem 0 2.5rem !important;
  display:grid !important;
  grid-template-columns:280px minmax(0, 1fr) !important;
  gap:1.25rem !important;
  align-items:start !important;
}
#editor{
  min-width:0 !important;
  width:100% !important;
}
#editor .admin-box,
#loginBox{
  width:100% !important;
  max-width:none !important;
}
.admin-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:1rem 1.25rem !important;
}
.admin-gallery-list{
  max-height:620px !important;
  overflow:auto !important;
  padding-right:.25rem !important;
}
.admin-gallery-item{
  display:grid !important;
  grid-template-columns:120px minmax(0, 1fr) auto !important;
  gap:.85rem !important;
  align-items:center !important;
}
.admin-gallery-item img{
  width:120px !important;
  height:82px !important;
  object-fit:cover !important;
}
.admin-gallery-item strong,
.admin-gallery-item .small{
  overflow-wrap:anywhere !important;
}
.drop-zone{
  border:2px dashed rgba(200,78,34,.55) !important;
  border-radius:18px !important;
  padding:34px 18px !important;
  text-align:center !important;
  cursor:pointer !important;
  transition:.2s ease !important;
  background:rgba(255,255,255,.035) !important;
}
.drop-zone:hover,
.drop-zone.dragover{
  border-color:#ff7a3c !important;
  background:rgba(255,122,60,.12) !important;
}
.drop-zone p{
  margin:0 0 .35rem 0 !important;
  font-weight:700 !important;
}
.drop-zone span{
  font-size:.9rem !important;
  opacity:.82 !important;
}
@media (min-width: 1400px){
  .admin-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 1100px){
  .admin-wrap{
    grid-template-columns:1fr !important;
  }
  .admin-grid{
    grid-template-columns:1fr !important;
  }
}
@media (max-width: 760px){
  .admin-gallery-item{
    grid-template-columns:1fr !important;
  }
}


/* v1.7.1 rebuilt admin layout */
body.admin-page{
  min-height:100vh;
}
.admin-shell{
  width:min(100% - 24px, 1760px) !important;
  margin:0 auto !important;
  padding:1.25rem 0 3rem !important;
}
.admin-login-card{
  width:min(100%, 520px) !important;
  margin:2rem auto !important;
  background:linear-gradient(180deg, rgba(28,16,18,.96), rgba(20,10,12,.96));
  border:1px solid rgba(200,78,34,.20);
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:1.35rem;
}
.admin-editor{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}
.admin-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  background:linear-gradient(180deg, rgba(28,16,18,.96), rgba(20,10,12,.96));
  border:1px solid rgba(200,78,34,.20);
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:1.2rem;
  margin-bottom:1rem;
}
.admin-topbar h1{
  margin:0;
}
.admin-status-card,
.admin-section,
.admin-bottom-actions{
  background:linear-gradient(180deg, rgba(28,16,18,.96), rgba(20,10,12,.96));
  border:1px solid rgba(200,78,34,.20);
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:1.25rem;
  margin-bottom:1rem;
}
.admin-form-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:1rem 1.25rem !important;
}
.admin-form-grid.three{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}
.admin-gallery-layout{
  display:grid !important;
  grid-template-columns:minmax(320px, 420px) minmax(0, 1fr) !important;
  gap:1.25rem !important;
}
.admin-gallery-list{
  max-height:620px !important;
  overflow:auto !important;
  padding-right:.25rem !important;
}
.admin-gallery-item{
  display:grid !important;
  grid-template-columns:120px minmax(0, 1fr) auto !important;
  gap:.85rem !important;
  align-items:center !important;
  padding:.8rem !important;
  border:1px solid rgba(200,78,34,.20) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.03) !important;
}
.admin-gallery-item img{
  width:120px !important;
  height:82px !important;
  object-fit:cover !important;
  border-radius:12px !important;
}
.drop-zone{
  border:2px dashed rgba(200,78,34,.55) !important;
  border-radius:18px !important;
  padding:34px 18px !important;
  text-align:center !important;
  cursor:pointer !important;
  transition:.2s ease !important;
  background:rgba(255,255,255,.035) !important;
}
.drop-zone:hover,
.drop-zone.dragover{
  border-color:#ff7a3c !important;
  background:rgba(255,122,60,.12) !important;
}
@media(max-width:1180px){
  .admin-form-grid,
  .admin-form-grid.three,
  .admin-gallery-layout{
    grid-template-columns:1fr !important;
  }
  .admin-topbar{
    flex-direction:column;
    align-items:flex-start;
  }
}
@media(max-width:760px){
  .admin-gallery-item{
    grid-template-columns:1fr !important;
  }
}


/* v1.7.1 heic note */
.drop-zone span::after{
  content:" • HEIC supported";
  opacity:.85;
}


/* v1.7.1 image display fix */
.image-error-note{
  display:none;
  color:#ffb4a5 !important;
}
.restoration-card.image-missing .image-error-note{
  display:block;
}
.restoration-card.image-missing{
  min-height:260px;
}


/* v1.7.1 r2 query image route */
.image-error-note{
  display:none;
  color:#ffb4a5 !important;
}
.restoration-card.image-missing .image-error-note{
  display:block;
}


/* v1.7.1 embedded gallery fix */
.image-error-note{
  display:none;
  color:#ffb4a5 !important;
}
.restoration-card.image-missing .image-error-note{
  display:block;
}


/* v1.7.1 cache-bust gallery fix */
.restoration-card.image-missing{
  display:none !important;
}


/* v1.7.1 before/after + unlimited services */
.before-after-card .restoration-copy{
  min-height:112px;
}
.ba-wrap{
  position:relative;
  width:100%;
  height:220px;
  overflow:hidden;
  background:#0b0506;
}
.ba-img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}
.ba-after{
  position:absolute;
  inset:0;
}
.ba-before-layer{
  position:absolute;
  inset:0 auto 0 0;
  overflow:hidden;
  border-right:2px solid rgba(255,255,255,.8);
}
.ba-before{
  width:320px;
  max-width:none;
}
.ba-slider{
  position:absolute;
  left:0;
  right:0;
  bottom:10px;
  width:90%;
  margin:auto;
  z-index:4;
}
.ba-label{
  position:absolute;
  top:10px;
  z-index:3;
  padding:.25rem .55rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  background:rgba(0,0,0,.58);
  color:#fff;
}
.ba-label-before{ left:10px; }
.ba-label-after{ right:10px; }
.services-admin-list{
  display:grid;
  gap:.75rem;
  margin-bottom:1rem;
}
.service-admin-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.75rem;
  align-items:center;
}
.secondary-drop-zone{
  margin-bottom:.9rem;
}
@media(max-width:760px){
  .ba-before{
    width:280px;
  }
  .service-admin-item{
    grid-template-columns:1fr;
  }
}


/* v1.7.1 hero photo manager */
.hero-photo-box{
  position:relative;
  min-height:360px;
}
.hero-photo-box img#heroPhotoImage{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  display:none;
}
.hero-photo-box.has-photo img#heroPhotoImage{
  display:block;
}
.hero-photo-box.has-photo .hero-placeholder{
  display:none;
}
.admin-hero-preview{
  width:100%;
  max-height:360px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(200,78,34,.25);
  box-shadow:var(--shadow);
}


/* v1.7.1 testimonial admin + color reset */
.small-admin-btn{
  margin-bottom:1rem;
  padding:.55rem .85rem !important;
  font-size:.88rem !important;
}
.testimonial-admin-layout{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1.25rem;
}
.testimonial-admin-list{
  display:grid;
  gap:1rem;
}
.testimonial-admin-item{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(200,78,34,.20);
  border-radius:16px;
  padding:1rem;
}
.testimonial-admin-item textarea{
  min-height:95px !important;
}
@media(max-width:980px){
  .testimonial-admin-layout{
    grid-template-columns:1fr;
  }
}


/* v1.7.1 force hero/testimonial admin sections */
.testimonial-card-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
  margin-bottom:1.25rem;
}
.testimonial-admin-card{
  background:linear-gradient(180deg, rgba(28,16,18,.96), rgba(20,10,12,.96));
  border:1px solid rgba(200,78,34,.20);
  border-radius:20px;
  box-shadow:var(--shadow);
  padding:1rem;
}
.testimonial-card-preview{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(200,78,34,.18);
  border-radius:16px;
  padding:1rem;
  margin-bottom:.9rem;
}
.admin-hero-preview{
  width:100%;
  max-height:360px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(200,78,34,.25);
  box-shadow:var(--shadow);
}
.hero-photo-box{
  position:relative;
  min-height:360px;
}
.hero-photo-box img#heroPhotoImage{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  display:none;
}
.hero-photo-box.has-photo img#heroPhotoImage{
  display:block;
}
.hero-photo-box.has-photo .hero-placeholder{
  display:none;
}
@media(max-width:980px){
  .testimonial-card-grid{
    grid-template-columns:1fr;
  }
}


/* v1.7.1 customer-facing services polish */
.services-showcase{
  background:
    radial-gradient(circle at top left, rgba(200,78,34,.16), rgba(0,0,0,0) 38%),
    linear-gradient(180deg, rgba(28,16,18,.98), rgba(20,10,12,.98)) !important;
}
.services-showcase ul{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.75rem 1rem;
  list-style:none;
  padding:0;
  margin:1rem 0 0;
}
.services-showcase li{
  position:relative;
  padding:.8rem .85rem .8rem 2.15rem;
  border:1px solid rgba(200,78,34,.20);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  line-height:1.35;
}
.services-showcase li::before{
  content:"";
  position:absolute;
  left:.85rem;
  top:1.05rem;
  width:.55rem;
  height:.55rem;
  border-radius:999px;
  background:#c84e22;
  box-shadow:0 0 0 3px rgba(200,78,34,.15);
}
.section .card h3{
  color:var(--text);
}
@media(max-width:760px){
  .services-showcase ul{
    grid-template-columns:1fr;
  }
}


/* v1.7.1 unique bottom section */
.section-intro{
  max-width:920px;
  margin:0 0 2rem;
  font-size:1.08rem;
  line-height:1.8;
  color:var(--muted);
}


/* v1.7.1 professional restoration gallery */
.restoration-card-single .single-restoration-media,
.restoration-card-ba .pro-ba-wrap {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(200,78,34,.16);
}
.single-restoration-media img,
.pro-ba-wrap .ba-img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  display: block;
}
.single-photo-badge {
  position: absolute;
  left: 14px;
  top: 14px;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: rgba(0,0,0,.58);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
}
.pro-ba-wrap {
  height: 250px;
  background: #0b0506;
}
.pro-ba-wrap .ba-after {
  position: absolute;
  inset: 0;
}
.pro-ba-wrap .ba-before-layer {
  position: absolute;
  inset: 0 auto 0 0;
  overflow: hidden;
  border-right: 2px solid rgba(255,255,255,.85);
}
.pro-ba-wrap .ba-before {
  width: 100%;
  max-width: none;
}
.ba-divider {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: rgba(255,255,255,.85);
  box-shadow: 0 0 0 1px rgba(0,0,0,.18);
  transform: translateX(-1px);
  z-index: 3;
}
.ba-label {
  position: absolute;
  top: 14px;
  z-index: 4;
  padding: .35rem .7rem;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  background: rgba(0,0,0,.58);
  color: #fff;
}
.ba-label-before { left: 14px; }
.ba-label-after { right: 14px; }
.ba-slider {
  position: absolute;
  left: 5%;
  right: 5%;
  bottom: 14px;
  width: 90%;
  z-index: 4;
}
.restoration-copy {
  padding: 1rem 1rem 1.1rem;
}
@media(max-width:760px){
  .single-restoration-media img,
  .pro-ba-wrap,
  .pro-ba-wrap .ba-img {
    height: 220px;
  }
}


/* v1.7.1 separate before/after uploads + testimonial cards */
.testimonial-admin-card textarea {
  min-height: 100px !important;
}
.testimonial-admin-card .testimonial-card-preview {
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(200,78,34,.18);
  border-radius: 16px;
  padding: 1rem;
  margin-bottom: .9rem;
}
.testimonial-card-grid .testimonial-admin-card {
  background: linear-gradient(180deg, rgba(28,16,18,.96), rgba(20,10,12,.96));
  border: 1px solid rgba(200,78,34,.20);
  border-radius: 20px;
  box-shadow: var(--shadow);
  padding: 1rem;
}


/* v1.7.1 compact testimonial admin */
.testimonial-card-grid {
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:.85rem !important;
  margin-bottom:1rem !important;
}

.testimonial-admin-card {
  background:rgba(255,255,255,.03) !important;
  border:1px solid rgba(200,78,34,.18) !important;
  border-radius:16px !important;
  box-shadow:none !important;
  padding:.85rem !important;
}

.testimonial-admin-card .testimonial-card-preview {
  border-radius:12px !important;
  padding:.75rem !important;
  margin-bottom:.7rem !important;
}

.testimonial-admin-card label {
  font-size:.82rem !important;
  margin:.35rem 0 .2rem !important;
}

.testimonial-admin-card input,
.testimonial-admin-card textarea {
  padding:.7rem .8rem !important;
  border-radius:12px !important;
  font-size:.92rem !important;
}

.testimonial-admin-card textarea {
  min-height:74px !important;
}

.testimonial-admin-card .admin-actions {
  margin-top:.6rem !important;
  gap:.5rem !important;
}

.testimonial-admin-card .btn {
  padding:.55rem .8rem !important;
  font-size:.88rem !important;
}

.testimonial-text {
  font-size:.94rem !important;
  line-height:1.55 !important;
  margin:0 0 .45rem !important;
}

.testimonial-meta {
  font-size:.82rem !important;
  opacity:.9 !important;
}

@media(max-width:980px){
  .testimonial-card-grid {
    grid-template-columns:1fr !important;
  }
}


/* v1.7.1 */
.testimonial-card-grid {
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:.85rem !important;
  margin-bottom:1rem !important;
}

.testimonial-admin-row {
  display:grid !important;
  grid-template-columns:120px minmax(0,1fr) auto !important;
  gap:.85rem !important;
  align-items:start !important;
  padding:.9rem !important;
  border:1px solid rgba(200,78,34,.20) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(28,16,18,.96), rgba(20,10,12,.96)) !important;
}

.testimonial-row-avatar {
  width:120px;
  height:82px;
  border-radius:12px;
  border:1px solid rgba(200,78,34,.18);
  background:linear-gradient(135deg, rgba(200,78,34,.26), rgba(255,255,255,.04));
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-size:1.25rem;
  color:var(--text);
}

.testimonial-row-main {
  min-width:0;
}

.testimonial-row-head {
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  align-items:center;
  margin-bottom:.45rem;
}

.testimonial-row-head strong {
  font-size:1.08rem;
}

.testimonial-row-location {
  font-size:.86rem;
  color:var(--muted);
}

.testimonial-row-text {
  min-height:84px !important;
  margin-bottom:.55rem !important;
  border-radius:12px !important;
  padding:.75rem .85rem !important;
  font-size:.94rem !important;
  line-height:1.5 !important;
}

.testimonial-row-fields {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.55rem;
}

.testimonial-row-fields input {
  border-radius:12px !important;
  padding:.7rem .8rem !important;
  font-size:.9rem !important;
}

.testimonial-row-actions {
  display:flex;
  flex-direction:column;
  gap:.55rem;
  align-self:center;
}

.testimonial-row-actions .btn {
  min-width:110px;
}

@media(max-width:980px){
  .testimonial-admin-row {
    grid-template-columns:1fr !important;
  }

  .testimonial-row-avatar {
    width:100%;
    height:68px;
  }

  .testimonial-row-actions {
    flex-direction:row;
    align-self:start;
    flex-wrap:wrap;
  }
}

@media(max-width:700px){
  .testimonial-row-fields {
    grid-template-columns:1fr;
  }
}


/* v1.7.1 denied testimonials page */
.testimonial-row-actions .btn {
  min-width: 132px;
}


/* v1.7.1 */
.hero-photo-box {
  position: relative;
  min-height: 360px;
}
.hero-photo-box img#heroPhotoImage {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  display: none;
}
.hero-photo-box.has-photo img#heroPhotoImage {
  display: block;
}
.hero-photo-box.has-photo .hero-placeholder {
  display: none;
}
.admin-hero-preview {
  width: 100%;
  max-height: 360px;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(200,78,34,.25);
  box-shadow: var(--shadow);
}


/* v1.7.1 login card styling fix */
.admin-login-card form input,
.admin-login-card form textarea,
.admin-login-card form select {
  background: rgba(34, 16, 18, 0.96) !important;
  color: #f3e8dc !important;
  border: 1px solid rgba(200, 78, 34, 0.26) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}

.admin-login-card form input::placeholder,
.admin-login-card form textarea::placeholder {
  color: #bfa79d !important;
  opacity: 1 !important;
}

.admin-login-card label,
.admin-login-card h2,
.admin-login-card strong {
  color: #f3e8dc !important;
}

.admin-login-card .small,
.admin-login-card p {
  color: #dcc7ba !important;
}

.admin-login-card .notice {
  background: linear-gradient(180deg, rgba(40,20,22,0.98), rgba(26,12,14,0.98)) !important;
  border: 1px solid rgba(200, 78, 34, 0.24) !important;
  color: #ead8cd !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.admin-login-card .code {
  background: rgba(86, 36, 22, 0.48) !important;
  color: #f7d4bf !important;
  border: 1px solid rgba(200, 78, 34, 0.24) !important;
  padding: .22rem .5rem !important;
  border-radius: 8px !important;
}

.admin-login-card #loginError {
  color: #ffb9a7 !important;
}

.admin-login-card {
  color: #f3e8dc !important;
}


/* v1.7.1 login cleanup */
.admin-login-card .notice {
  display: none !important;
}


/* v1.7.1 gallery position + enlarge */
.admin-gallery-item {
  align-items: center !important;
}
.admin-gallery-item .admin-actions {
  justify-content: flex-end;
}
.admin-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1200;
  padding: 1.25rem;
}
.admin-lightbox.active {
  display: flex;
}
.admin-lightbox-inner {
  width: min(96vw, 1200px);
  max-height: 92vh;
  overflow: auto;
  background: linear-gradient(180deg, rgba(28,16,18,.98), rgba(20,10,12,.98));
  border: 1px solid rgba(200,78,34,.24);
  border-radius: 20px;
  padding: 1rem;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}
.admin-lightbox-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .85rem;
}
.admin-lightbox img {
  width: 100%;
  height: auto;
  max-height: 78vh;
  object-fit: contain;
  border-radius: 14px;
  display: block;
}


/* v1.7.1 homepage gallery enlarge */
.restoration-enlarge-btn {
  margin-top: .75rem;
}

.site-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.78);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1300;
  padding: 1rem;
}

.site-lightbox.active {
  display: flex;
}

body.modal-open {
  overflow: hidden;
}

.site-lightbox-inner {
  width: min(96vw, 1200px);
  max-height: 92vh;
  overflow: auto;
  background: linear-gradient(180deg, rgba(28,16,18,.98), rgba(20,10,12,.98));
  border: 1px solid rgba(200,78,34,.24);
  border-radius: 22px;
  padding: 1rem;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
}

.site-lightbox-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.site-lightbox-head h3 {
  margin: 0 0 .4rem;
}

.site-lightbox-head .small {
  margin: 0;
}

.site-lightbox-single img,
.site-lightbox-ba-wrap {
  width: 100%;
}

.site-lightbox-single img {
  max-height: 78vh;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  border-radius: 16px;
}

.site-lightbox-ba-wrap {
  min-height: 520px;
}

.site-lightbox-ba-wrap .ba-img {
  height: 520px;
  object-fit: cover;
}

@media (max-width: 760px) {
  .site-lightbox-head {
    flex-direction: column;
    align-items: stretch;
  }
  .site-lightbox-ba-wrap {
    min-height: 360px;
  }
  .site-lightbox-ba-wrap .ba-img {
    height: 360px;
  }
}


/* v1.7.1 dual office hero */
.hero-offices-wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.office-photo-card {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.office-photo-media.hero-photo-box {
  min-height: 250px;
}
.office-photo-media.hero-photo-box img {
  width: 100%;
  height: 100%;
  min-height: 250px;
  object-fit: cover;
  display: none;
  border-radius: 20px;
}
.office-photo-media.hero-photo-box.has-photo img {
  display: block;
}
.office-photo-label {
  text-align: center;
  font-weight: 700;
  color: var(--text);
  font-size: 1rem;
}
.office-hero-admin-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 900px) {
  .hero-offices-wrap, .office-hero-admin-grid {
    grid-template-columns: 1fr;
  }
}


/* v1.7.1 dual office hero prominence + click */
.hero-grid {
  grid-template-columns: 1fr 1.05fr;
}

.hero-offices-wrap {
  gap: 1.15rem;
}

.clickable-office-card {
  cursor: zoom-in;
}

.clickable-office-card .office-photo-media.hero-photo-box {
  min-height: 330px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
}

.clickable-office-card .office-photo-media.hero-photo-box img {
  min-height: 330px;
  transition: transform .25s ease;
}

.clickable-office-card:hover .office-photo-media.hero-photo-box img {
  transform: scale(1.02);
}

.office-photo-label {
  text-align: center;
  font-weight: 800;
  color: var(--text);
  font-size: 1.06rem;
  letter-spacing: .01em;
}

.office-hero-lightbox-inner {
  width: min(96vw, 1100px);
}

#officeHeroLightboxImage {
  width: 100%;
  max-height: 78vh;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  border-radius: 16px;
}

@media (max-width: 900px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }

  .clickable-office-card .office-photo-media.hero-photo-box,
  .clickable-office-card .office-photo-media.hero-photo-box img {
    min-height: 270px;
  }
}
