:root{
  --ink:#13231f;
  --ink-2:#1d322c;
  --cream:#f7f4ed;
  --paper:#fffdf9;
  --green:#2f6f59;
  --green-2:#dcebe4;
  --gold:#d7a84b;
  --muted:#6f7b76;
  --line:#dde4df;
  --white:#ffffff;
  --shadow:0 18px 55px rgba(20,46,39,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"DM Sans",system-ui,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{
  position:sticky;top:0;z-index:100;
  background:rgba(255,253,249,.93);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(19,35,31,.08);
}
.nav{height:78px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:var(--ink);color:white;font-weight:800;
  font-family:"Manrope",sans-serif;
}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-family:"Manrope",sans-serif;font-size:15px}
.brand-copy small{font-size:10px;letter-spacing:.24em;margin-top:5px;color:var(--green)}
nav{display:flex;gap:26px;margin-left:auto;font-size:14px;font-weight:600}
nav a{opacity:.78}
nav a:hover{opacity:1;color:var(--green)}
.menu-btn{display:none;margin-left:auto;border:0;background:none;font-size:26px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:0 22px;border-radius:12px;
  background:var(--green);color:white;font-weight:700;
  box-shadow:0 9px 25px rgba(47,111,89,.22);
  border:1px solid var(--green);
}
.btn:hover{transform:translateY(-1px)}
.btn-small{min-height:44px;padding:0 17px;font-size:14px}
.btn-ghost{background:transparent;color:white;border-color:rgba(255,255,255,.35);box-shadow:none}
.btn-dark{background:var(--ink);border-color:var(--ink)}
.btn-light{background:white;color:var(--ink);border-color:white}
.btn-outline-light{background:transparent;border-color:rgba(255,255,255,.5);color:white;box-shadow:none}
.btn-full{width:100%}
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 80% 20%, rgba(47,111,89,.55), transparent 28%),
    linear-gradient(125deg,#10221d 0%,#17342c 58%,#264d40 100%);
  color:white;
  min-height:680px;
}
.hero:before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,black,transparent);
}
.hero-grid{
  position:relative;z-index:2;
  min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;
  align-items:center;gap:70px;padding:70px 0;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:800;color:#d8eee5;margin-bottom:14px;
}
.eyebrow:before{content:"";width:28px;height:2px;background:var(--gold)}
.eyebrow.dark{color:var(--green)}
.hero h1,.section h2,.contact-band h2{
  font-family:"Manrope",sans-serif;
  letter-spacing:-.045em;line-height:1.02;
}
.hero h1{font-size:clamp(44px,6vw,74px);margin:0 0 22px}
.hero h1 span{color:#d9eadf}
.hero p{font-size:18px;max-width:620px;color:rgba(255,255,255,.75);margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-points{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;font-size:13px;color:rgba(255,255,255,.72)}
.hero-card{background:white;border-radius:24px;padding:14px;box-shadow:0 25px 70px rgba(0,0,0,.28);transform:rotate(1deg)}
.hero-photo{
  height:390px;border-radius:17px;overflow:hidden;position:relative;
  background:
    linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.0)),
    linear-gradient(135deg,#d8d0c4 0 35%,#f3eee5 35% 62%,#9d8c76 62% 100%);
}
.hero-photo:before{
  content:"";position:absolute;left:0;right:0;bottom:0;height:34%;
  background:linear-gradient(160deg,#8b755f 0 48%,#7d674f 49% 100%);
}
.paint-line{position:absolute;left:47%;top:0;bottom:0;width:6px;background:rgba(255,255,255,.45)}
.photo-label{
  position:absolute;left:20px;bottom:20px;padding:8px 11px;border-radius:8px;
  background:rgba(19,35,31,.8);color:white;font-size:10px;letter-spacing:.12em
}
.hero-card-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 6px 3px;color:var(--ink)}
.hero-card-footer div{display:flex;flex-direction:column}
.hero-card-footer strong{font-size:13px}
.hero-card-footer span{font-size:10px;color:var(--muted)}
.trust-strip{background:white;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-grid div{padding:24px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.trust-grid div:first-child{border-left:1px solid var(--line)}
.trust-grid strong{font-family:"Manrope";font-size:18px}
.trust-grid span{font-size:12px;color:var(--muted)}
.section{padding:95px 0}
.section-soft{background:var(--cream)}
.section-heading{
  display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;
  margin-bottom:42px
}
.section h2{font-size:clamp(34px,4.3vw,55px);margin:0;max-width:760px}
.section-heading p{margin:0;color:var(--muted);font-size:16px}
.cards{display:grid;gap:18px}
.services{grid-template-columns:repeat(4,1fr)}
.card{
  background:white;border:1px solid var(--line);border-radius:18px;
  padding:28px;box-shadow:0 10px 30px rgba(19,35,31,.04)
}
.service-card .icon{
  width:48px;height:48px;border-radius:13px;background:var(--green-2);
  display:grid;place-items:center;font-size:23px;color:var(--green);margin-bottom:28px
}
.service-card h3{font-family:"Manrope";margin:0 0 10px;font-size:19px}
.service-card p{color:var(--muted);font-size:14px;min-height:70px}
.service-card a{font-size:13px;font-weight:800;color:var(--green)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.project-card{background:white;border-radius:20px;overflow:hidden;border:1px solid var(--line)}
.project-img{height:280px;display:flex;align-items:end;padding:18px;background:linear-gradient(135deg,#bbb,#eee)}
.project-a .project-img{background:linear-gradient(140deg,#d5c4ae,#f7f2e7 50%,#8c7a66)}
.project-b .project-img{background:linear-gradient(140deg,#7e8f82,#cfd8d0 47%,#424f47)}
.project-c .project-img{background:linear-gradient(140deg,#bfc2b2,#ecebdc 52%,#7d816d)}
.project-img span{background:rgba(19,35,31,.8);color:white;border-radius:8px;padding:7px 10px;font-size:9px;letter-spacing:.14em}
.project-info{padding:22px}
.tag{display:inline-flex;background:var(--green-2);color:var(--green);font-weight:800;font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:6px 8px;border-radius:7px}
.project-info h3{font-family:"Manrope";font-size:19px;margin:10px 0 4px}
.project-info p{margin:0;color:var(--muted);font-size:13px}
.center{text-align:center;margin-top:34px}
.before-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.before-grid p{color:var(--muted);max-width:540px}
.check-list{padding:0;list-style:none;margin:28px 0 0}
.check-list li{margin:12px 0;padding-left:27px;position:relative}
.check-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.compare{
  height:460px;border-radius:24px;overflow:hidden;position:relative;box-shadow:var(--shadow);
  background:#ddd
}
.compare-before,.compare-after{position:absolute;inset:0;display:flex;align-items:end;padding:22px}
.compare-before{right:50%;background:linear-gradient(135deg,#8e8a83,#c8bfb4);z-index:2}
.compare-after{left:50%;background:linear-gradient(135deg,#f1eadf,#b9c9bf)}
.compare-before span,.compare-after span{background:rgba(19,35,31,.82);color:white;padding:7px 10px;border-radius:7px;font-size:10px;letter-spacing:.13em}
.compare-line{position:absolute;top:0;bottom:0;left:50%;width:3px;background:white;z-index:4}
.compare-line span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:white;color:var(--ink);display:grid;place-items:center;box-shadow:var(--shadow);font-size:22px}
.reviews-section{background:var(--ink);color:white}
.section-heading.light p{color:rgba(255,255,255,.58)}
.reviews{grid-template-columns:repeat(3,1fr)}
.review{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:28px}
.stars{color:#f3c86b;letter-spacing:.1em}
.review p{color:rgba(255,255,255,.76);font-size:14px;min-height:105px}
.review strong,.review span{display:block}
.review span{font-size:12px;color:rgba(255,255,255,.48)}
.estimate-section{background:var(--paper)}
.estimate-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:start}
.estimate-grid p{color:var(--muted)}
.estimate-note{margin-top:32px;padding:18px;border-radius:14px;background:var(--green-2);display:flex;flex-direction:column}
.estimate-note strong{color:var(--green)}
.estimate-note span{font-size:13px;margin-top:4px}
.estimate-form{
  padding:28px;background:white;border:1px solid var(--line);border-radius:22px;
  box-shadow:var(--shadow)
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:800;margin-bottom:14px}
input,select,textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;
  font:inherit;color:var(--ink);background:#fff
}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(47,111,89,.2);border-color:var(--green)}
.upload{border:1px dashed #aac2b8;padding:16px;border-radius:12px;color:var(--green);cursor:pointer}
.upload input{border:0;padding:6px 0;background:transparent}
.contact-band{background:var(--green);color:white;padding:64px 0}
.contact-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.contact-band h2{font-size:clamp(32px,4vw,50px);margin:0;max-width:720px}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap}
footer{background:#0d1a16;color:white;padding:58px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:48px}
.footer-grid>div{display:flex;flex-direction:column;gap:10px}
.footer-brand p{color:rgba(255,255,255,.48);font-size:13px;max-width:280px}
.footer-grid>div>strong{font-size:13px;margin-bottom:8px}
.footer-grid a{font-size:13px;color:rgba(255,255,255,.6)}
.muted{font-size:11px;color:rgba(255,255,255,.35)}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);margin-top:44px;padding-top:22px;
  display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.35);font-size:11px
}
@media(max-width:900px){
  nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:20px 24px;flex-direction:column;box-shadow:var(--shadow)}
  nav.open{display:flex}
  .menu-btn{display:block}
  .nav>.btn-small{display:none}
  .hero-grid,.section-heading,.before-grid,.estimate-grid,.contact-grid{grid-template-columns:1fr}
  .hero-grid{gap:35px}
  .services{grid-template-columns:1fr 1fr}
  .project-grid,.reviews{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero-grid{min-height:auto;padding:64px 0}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .container{width:min(100% - 28px,1180px)}
  .topbar .nav{height:70px}
  nav{top:70px}
  .hero h1{font-size:46px}
  .hero-card{transform:none}
  .hero-photo{height:300px}
  .hero-card-footer{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-grid div{border-bottom:1px solid var(--line)}
  .services,.form-row,.footer-grid{grid-template-columns:1fr}
  .section{padding:70px 0}
  .section-heading{gap:18px}
  .compare{height:360px}
  .contact-actions{width:100%}
  .contact-actions .btn{width:100%}
  .footer-bottom{flex-direction:column}
}

.brand-logo{
  width:52px;height:52px;object-fit:cover;border-radius:50%;
  border:2px solid rgba(19,35,31,.12);
  box-shadow:0 4px 14px rgba(19,35,31,.12);
  flex:0 0 auto;
}
.brand-logo-footer{
  border-color:rgba(255,255,255,.18);
  box-shadow:none;
}
.hero-logo-badge{
  position:absolute;right:18px;top:18px;z-index:3;
  width:76px;height:76px;border-radius:50%;
  background:white;padding:4px;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
}
.hero-logo-badge img{
  width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;
}
@media(max-width:620px){
  .brand-logo{width:46px;height:46px}
  .brand-copy strong{font-size:13px}
  .hero-logo-badge{width:64px;height:64px}
}

/* V3 — hard logo sizing fix */
img { max-width: 100%; height: auto; }

header .brand .brand-logo,
footer .brand .brand-logo {
  display:block !important;
  width:52px !important;
  height:52px !important;
  max-width:52px !important;
  max-height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  object-fit:cover !important;
  border-radius:50% !important;
}

.hero-logo-badge {
  width:76px !important;
  height:76px !important;
  max-width:76px !important;
  max-height:76px !important;
  overflow:hidden !important;
  border-radius:50% !important;
}
.hero-logo-badge > img {
  display:block !important;
  width:68px !important;
  height:68px !important;
  max-width:68px !important;
  max-height:68px !important;
  object-fit:cover !important;
  border-radius:50% !important;
}

@media(max-width:620px){
  header .brand .brand-logo,
  footer .brand .brand-logo{
    width:44px !important;height:44px !important;
    max-width:44px !important;max-height:44px !important;
    min-width:44px !important;min-height:44px !important;
  }
  .hero-logo-badge{
    width:60px !important;height:60px !important;
    max-width:60px !important;max-height:60px !important;
  }
  .hero-logo-badge > img{
    width:52px !important;height:52px !important;
    max-width:52px !important;max-height:52px !important;
  }
}

/* V4 — contact details + floating SMS */
.contact-actions-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:18px;
}
.contact-details{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  color:rgba(255,255,255,.82);
  font-size:13px;
  line-height:1.5;
}
.contact-details strong{color:white;font-size:15px}
.contact-details a{color:white;font-weight:700}

.sms-float{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9999;
  display:flex;
  align-items:center;
  gap:9px;
  min-height:52px;
  padding:0 17px 0 13px;
  border-radius:999px;
  background:#13231f;
  color:#fff;
  font-weight:800;
  font-size:14px;
  box-shadow:0 14px 36px rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.16);
}
.sms-float:hover{transform:translateY(-2px)}
.sms-icon{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#2f6f59;
  font-size:15px;
}
@media(max-width:900px){
  .contact-actions-wrap,.contact-details{align-items:flex-start}
}
@media(max-width:620px){
  .sms-float{
    right:14px;
    bottom:14px;
    min-height:50px;
    padding:0 14px 0 10px;
  }
}

/* V6 — real before/after images in hero */
.hero-before-after{
  position:relative !important;
  overflow:hidden !important;
  background:#d8d8d8 !important;
}
.hero-before-after:before{display:none !important}
.hero-before-after > .hero-after-img,
.hero-before-layer > .hero-before-img{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover;
  object-position:center;
  display:block;
}
.hero-before-layer{
  position:absolute;
  inset:0 auto 0 0;
  width:50%;
  overflow:hidden;
  z-index:2;
}
.hero-before-layer > .hero-before-img{
  width:100% !important;
  min-width:100%;
}
.hero-compare-divider{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:3px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.96);
  z-index:5;
  pointer-events:none;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
}
.hero-compare-divider span{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:white;
  color:#13231f;
  font-weight:900;
  box-shadow:0 8px 24px rgba(0,0,0,.24);
}
.hero-compare-range{
  position:absolute;
  inset:0;
  z-index:7;
  width:100%;
  height:100%;
  opacity:0;
  cursor:ew-resize;
  margin:0;
}
.compare-badge{
  position:absolute;
  bottom:16px;
  z-index:6;
  padding:7px 10px;
  border-radius:8px;
  background:rgba(19,35,31,.82);
  color:#fff;
  font-size:9px;
  font-weight:800;
  letter-spacing:.13em;
  pointer-events:none;
}
.compare-badge-before{left:16px}
.compare-badge-after{right:16px}
.hero-before-after .hero-logo-badge{
  z-index:8;
  pointer-events:none;
}

/* =========================================================
   V7 — GEORGE PAINTING RED / CHARCOAL BRAND SYSTEM
   Palette: Red #C8102E • Charcoal #1F2933 • Soft gray #E5E7EB • White
   ========================================================= */
:root{
  --ink:#1F2933;
  --ink-2:#2B3640;
  --cream:#F5F6F7;
  --paper:#FFFFFF;
  --green:#C8102E;
  --green-2:#F8E5E8;
  --gold:#E11D2E;
  --muted:#66717B;
  --line:#E2E6EA;
  --white:#FFFFFF;
  --shadow:0 18px 55px rgba(31,41,51,.13);
}

.topbar{
  background:rgba(255,255,255,.95);
  border-bottom:1px solid rgba(31,41,51,.09);
}
.brand{
  gap:14px;
}
header .brand .brand-logo{
  width:205px !important;
  height:58px !important;
  max-width:205px !important;
  max-height:58px !important;
  min-width:205px !important;
  min-height:58px !important;
  object-fit:contain !important;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
}
header .brand .brand-copy{
  display:none !important;
}
nav a:hover{color:#C8102E}

.btn{
  background:#C8102E;
  border-color:#C8102E;
  box-shadow:0 9px 25px rgba(200,16,46,.22);
}
.btn-dark{
  background:#1F2933;
  border-color:#1F2933;
}
.hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(200,16,46,.36), transparent 30%),
    linear-gradient(125deg,#161D23 0%,#222D36 58%,#11171C 100%);
}
.hero:after{
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  right:-180px;
  bottom:-230px;
  border:80px solid rgba(200,16,46,.12);
  border-radius:50%;
}
.eyebrow{color:#F5D6DC}
.eyebrow:before{background:#E11D2E}
.eyebrow.dark{color:#C8102E}
.hero h1 span{color:#F2B9C3}

.hero-card{
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 30px 75px rgba(0,0,0,.28);
}
.hero-logo-badge{
  width:94px !important;
  height:70px !important;
  max-width:94px !important;
  max-height:70px !important;
  border-radius:14px !important;
  padding:5px !important;
  background:rgba(255,255,255,.96) !important;
}
.hero-logo-badge > img{
  width:84px !important;
  height:60px !important;
  max-width:84px !important;
  max-height:60px !important;
  border-radius:10px !important;
  object-fit:contain !important;
}

.service-card .icon{
  background:#F8E5E8;
  color:#C8102E;
}
.service-card a{color:#C8102E}
.tag{
  background:#F8E5E8;
  color:#B40E29;
}
.check-list li:before{color:#C8102E}
.estimate-note{background:#F8E5E8}
.estimate-note strong{color:#B40E29}
input:focus,select:focus,textarea:focus{
  outline:2px solid rgba(200,16,46,.16);
  border-color:#C8102E;
}
.upload{
  border-color:#E0A9B3;
  color:#B40E29;
}
.contact-band{
  background:linear-gradient(120deg,#A90F25 0%,#C8102E 55%,#E11D2E 100%);
}
footer{
  background:#151C22;
}
.sms-float{
  background:#C8102E !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 14px 36px rgba(80,0,12,.28) !important;
}
.sms-icon{
  background:#1F2933 !important;
}
.compare-badge,
.project-img span{
  background:rgba(31,41,51,.88);
}
.reviews-section{
  background:#1F2933;
}
.stars{color:#F4C95D}

/* More brand-consistent project placeholders */
.project-a .project-img{background:linear-gradient(140deg,#D8DDE1,#F6F7F8 50%,#9EA7AF)}
.project-b .project-img{background:linear-gradient(140deg,#242F38,#5A6670 47%,#C8102E)}
.project-c .project-img{background:linear-gradient(140deg,#F1D9DE,#FFFFFF 52%,#C7CDD2)}

footer .brand{
  display:block;
}
footer .brand .brand-logo{
  display:block !important;
  width:235px !important;
  height:78px !important;
  max-width:235px !important;
  max-height:78px !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:left center;
  border-radius:0 !important;
  border:0 !important;
  box-shadow:none !important;
  filter:brightness(0) invert(1);
}
footer .brand .brand-copy{
  display:none !important;
}

@media(max-width:620px){
  header .brand .brand-logo{
    width:168px !important;
    height:48px !important;
    max-width:168px !important;
    max-height:48px !important;
    min-width:168px !important;
    min-height:48px !important;
  }
  .nav{gap:12px}
  .hero-logo-badge{
    width:78px !important;
    height:58px !important;
    max-width:78px !important;
    max-height:58px !important;
  }
  .hero-logo-badge > img{
    width:68px !important;
    height:48px !important;
    max-width:68px !important;
    max-height:48px !important;
  }
}

/* V8 — Logo concept #6 */
header .brand .brand-logo{
  width:145px !important;
  height:78px !important;
  max-width:145px !important;
  max-height:78px !important;
  min-width:145px !important;
  min-height:78px !important;
  object-fit:contain !important;
}
.hero-logo-badge{
  width:88px !important;
  height:78px !important;
  max-width:88px !important;
  max-height:78px !important;
  padding:5px !important;
}
.hero-logo-badge > img{
  width:78px !important;
  height:68px !important;
  max-width:78px !important;
  max-height:68px !important;
  object-fit:contain !important;
}
footer .brand .brand-logo{
  width:175px !important;
  height:110px !important;
  max-width:175px !important;
  max-height:110px !important;
  filter:none !important;
  object-fit:contain !important;
}
@media(max-width:620px){
  header .brand .brand-logo{
    width:122px !important;
    height:66px !important;
    max-width:122px !important;
    max-height:66px !important;
    min-width:122px !important;
    min-height:66px !important;
  }
}

/* V9 — bilingual EN / ES switch */
.lang-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:72px;
  height:42px;
  padding:0 11px;
  border-radius:10px;
  border:1px solid #D7DCE0;
  background:#FFFFFF;
  color:#1F2933;
  font:700 12px/1 "DM Sans",system-ui,sans-serif;
  cursor:pointer;
  transition:.2s ease;
}
.lang-toggle:hover{
  border-color:#C8102E;
  color:#C8102E;
  background:#FFF7F8;
}
.lang-toggle .lang-current{
  color:#C8102E;
  font-weight:900;
}
.lang-toggle .lang-sep{
  color:#A5ADB5;
}
@media(max-width:900px){
  .lang-toggle{
    margin-left:auto;
  }
  .menu-btn{
    margin-left:0;
  }
}
@media(max-width:620px){
  .lang-toggle{
    min-width:62px;
    height:38px;
    padding:0 8px;
    font-size:11px;
  }
}


/* V12 — project photography only. Original V9 color system preserved. */
.project-img{
  position:relative !important;
  overflow:hidden !important;
}
.project-img > img{
  position:absolute;
  inset:0;
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
  z-index:1;
}
.project-img > span{
  position:absolute !important;
  z-index:2 !important;
}

/* V15 — only the approved George Painting 3D logo placements. */
header .brand .brand-logo {
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.hero-before-after .hero-logo-badge {
  background: #20262b !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.hero-before-after .hero-logo-badge > img {
  display: block !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
footer .brand .brand-logo {
  filter: none !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* V16: dynamic works gallery only; existing color system unchanged */
.gallery-hint{color:#68727a;font-size:13px;margin:12px 0 20px}.project-img{position:relative}.project-img .media-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.work-card{cursor:pointer}.work-card:focus-visible{outline:3px solid #c8102e;outline-offset:4px}.work-card .project-info .work-excerpt{margin-top:10px;line-height:1.55}.work-card .project-info .work-meta{margin-top:8px;font-size:12px}.work-modal{position:fixed;inset:0;background:#0e151ce8;z-index:5000;display:none;align-items:center;justify-content:center;padding:20px}.work-modal.open{display:flex}.work-dialog{width:min(900px,100%);max-height:94vh;overflow:auto;background:white;border-radius:18px;position:relative;padding:24px}.work-dialog .work-main-media{width:100%;max-height:420px;object-fit:contain;background:#f0f1f3;border-radius:12px}.work-dialog .work-media-list{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.work-dialog .work-media-list button{border:1px solid #e1e3e6;background:#f4f4f5;border-radius:8px;padding:4px}.work-dialog .work-media-list img{height:62px;width:85px;object-fit:cover;border-radius:5px}.work-dialog .close-work{position:absolute;top:10px;right:12px;border:0;background:#19232c;color:white;border-radius:50%;width:36px;height:36px;font-size:20px}.work-dialog h2{margin:16px 0 5px}.work-dialog p{white-space:pre-line;line-height:1.7}.work-dialog .work-video{max-width:100%;max-height:420px;border-radius:12px}.work-dialog .work-facts{color:#67727a;font-size:13px}.project-card .project-img .media-photo{z-index:1}.project-card .project-img span{z-index:2;position:relative}.work-card button{cursor:pointer}

[hidden]{display:none!important}

/* V18: project details enhancement; original brand colors preserved */
.work-dialog{width:min(940px,100%);padding:clamp(18px,3vw,34px);box-shadow:0 22px 75px #0005}
.work-kicker{display:block;color:#c8102e;font-size:11px;letter-spacing:.17em;font-weight:800;margin-right:44px}
.work-dialog h2{font-size:clamp(23px,3vw,34px);line-height:1.18;margin:12px 42px 16px 0;color:#19232c}
.work-fact-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.work-fact-grid span{padding:8px 12px;background:#f4f5f6;border:1px solid #e8e9eb;border-radius:30px;font-size:12px;color:#39434c}
.work-viewer{position:relative;background:#eef0f2;border-radius:14px;overflow:hidden;min-height:180px}.work-viewer .work-main-media{display:block;width:100%;max-height:480px;object-fit:contain;border-radius:0}.work-image-label{position:absolute;bottom:14px;left:14px;background:#19232ce8;color:white;border-radius:6px;padding:7px 13px;font-weight:800;font-size:12px;letter-spacing:.1em}
.work-media-list button{position:relative;cursor:pointer;overflow:hidden}.work-media-list button.active{border:2px solid #c8102e}.work-media-list button span{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;color:#29333c;padding:4px 2px 1px}.work-media-list .work-video-thumb{padding:12px;color:#19232c;font-weight:700}
.work-description{border-top:1px solid #e8e9eb;margin-top:20px;padding-top:16px}.work-description h3{font-size:18px;margin:0 0 9px;color:#19232c}.work-description p{color:#49545d;margin:0 0 22px}
.work-cta{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#f6f7f8;border-radius:12px;padding:18px;margin-top:10px}.work-cta strong{display:block;color:#19232c}.work-cta small{display:block;color:#68727a;margin-top:5px}.work-estimate{background:#c8102e;color:white;border:0;border-radius:9px;padding:13px 18px;font-weight:800;cursor:pointer;white-space:nowrap}.work-estimate:hover{background:#a90d26}
@media(max-width:620px){.work-modal{padding:8px}.work-dialog{max-height:96dvh;border-radius:12px}.work-cta{flex-direction:column;align-items:stretch}.work-estimate{white-space:normal}.work-media-list img{width:66px;height:54px}.work-dialog .close-work{top:12px;right:12px}}
