:root{
  --ink:#174954;
  --ink2:#10515b;
  --olive:#879453;
  --sand:#dfc29a;
  --brown:#78583f;
  --paper:#f8f5f0;
  --text:#252f33;
  --line:#d9d2c8;
  --site-width:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--paper);line-height:1.5}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:min(var(--site-width),calc(100% - 56px));margin:0 auto}

.site-header{height:94px;background:#fff;position:relative;z-index:20}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand{height:84px;display:flex;align-items:center}
.brand img{width:92px;height:88px;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:700;color:#132d34}
.main-nav span{width:1px;height:19px;background:#d9d2ca}
.main-nav a{padding:8px 0}
.main-nav .accent{color:#808a52}
.menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--ink)}

.hero{background:#f7f4ee;padding:0}
.hero-frame{height:430px;position:relative;overflow:hidden;background:#f7f4ee}
.hero-photo{position:absolute;inset:0 0 0 35%;background:url('assets/hero-clean.jpg') center center/cover no-repeat}
.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#f8f5f0 0%,#f8f5f0 27%,rgba(248,245,240,.98) 34%,rgba(248,245,240,.76) 46%,rgba(248,245,240,.14) 61%,rgba(248,245,240,0) 72%)}
.hero-inner{height:100%;position:relative;z-index:2;display:flex;align-items:center}
.hero-copy{width:570px;padding-top:4px}
.hero h1{margin:0;color:var(--ink);font-family:"Arial Narrow",Arial,sans-serif;font-size:45px;line-height:1.03;letter-spacing:-1.7px;font-weight:700}
.hero h2{margin:10px 0 27px;color:var(--brown);font-size:24px;line-height:1.16;font-weight:700}
.hero p{width:365px;margin:0 0 31px;padding-left:19px;border-left:2px solid var(--olive);font-size:16px;line-height:1.55}
.cta,.submit-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--sand);border:0;color:#142e34;padding:16px 22px;font-size:13px;font-weight:700;cursor:pointer}
.cta{min-width:218px}
.cta b,.submit-btn b{font-size:21px;font-weight:400;line-height:1}

.section{padding:31px 0 33px;background:var(--paper)}
.section-title{text-align:center;color:var(--ink);font-size:22px;line-height:1.2;margin:0 0 29px;font-weight:700;position:relative}
.section-title:after{content:"";display:block;width:42px;height:1px;background:var(--olive);margin:9px auto 0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 39px}
.service-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:20px;align-items:start;padding:0 30px;border-right:1px solid var(--line)}
.service-item:first-child{padding-left:0}
.service-item:last-child{border-right:0;padding-right:0}
.service-icon{height:92px;background:var(--ink2);display:grid;place-items:center;padding:21px}
.service-icon img{width:52px;height:52px}
.service-copy h4,.card h4,.promise h4{margin:5px 0 9px;color:var(--ink);font-size:15px;line-height:1.25}
.service-copy p{margin:0;font-size:13px;line-height:1.52;max-width:245px}
.special-title{margin-top:1px;margin-bottom:23px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:var(--ink2);color:#fff;overflow:hidden}
.card>img{width:100%;height:218px;object-fit:cover}
.card-body{min-height:178px;padding:21px 27px 23px}
.card-body h4{color:#fff;margin:0 0 10px;font-size:15px}
.card-body p{margin:0 0 13px;font-size:13px;line-height:1.55;max-width:300px}
.card-body a{display:inline-block;color:#d9c3a0;font-size:27px;line-height:1}
.promise{display:grid;grid-template-columns:220px 1fr;align-items:center;margin:31px 60px 0}
.gears{display:flex;align-items:center;justify-content:center;padding-right:31px;border-right:1px solid var(--line);min-height:88px}
.gears img{width:116px}
.promise-copy{padding-left:34px}
.promise-copy h4{font-size:18px;margin:0 0 6px}
.promise-copy p{margin:0;font-size:13px}
.promise-copy strong{display:block;color:#7e8d50;font-size:17px;margin-top:5px}

.contact-section{background:#fff;padding:58px 0 62px;border-top:1px solid #ece7df}
.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:72px;align-items:start}
.contact-intro{padding-top:5px}
.eyebrow{display:inline-block;color:var(--olive);font-size:13px;font-weight:700;letter-spacing:.7px;margin-bottom:8px}
.contact-intro h3{margin:0 0 18px;color:var(--ink);font-size:28px;line-height:1.15}
.contact-intro p{margin:0 0 19px;max-width:430px;font-size:15px;line-height:1.65}
.contact-note{max-width:430px;padding:14px 16px;border-left:2px solid var(--olive);background:var(--paper);font-size:12px;line-height:1.55;color:#4b5558}
.contact-form{display:grid;gap:17px}
.form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:grid;gap:7px;color:var(--ink);font-size:13px;font-weight:700}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form input[type="file"],.contact-form textarea{width:100%;border:1px solid #cec8bf;background:#fbfaf8;color:#1f2c31;padding:13px 14px;outline:none;border-radius:0}
.contact-form textarea{resize:vertical;min-height:156px}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}
.file-field small{font-size:11px;font-weight:400;color:#6b7477}
.consent-row{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;color:#374348!important;font-weight:400!important;line-height:1.45}
.consent-row input{margin-top:3px;accent-color:var(--ink)}
.submit-btn{justify-self:start;min-width:225px}
.form-message{display:none;padding:12px 14px;font-size:13px;border-left:3px solid var(--olive);background:#f2f4e9}
.form-message.show{display:block}
.form-message.error{border-left-color:#a54848;background:#f7ecec;color:#762f2f}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

footer{background:#104d57;color:#fff;margin-top:0}
.footer-grid{display:grid;grid-template-columns:.95fr .85fr 1.25fr;align-items:center;min-height:225px;gap:40px}
.contact-block h3{font-size:18px;letter-spacing:.4px;margin:0 0 19px;padding-bottom:8px;border-bottom:1px solid #8c9455;width:max-content}
.contact-block p{display:flex;gap:14px;align-items:flex-start;font-size:13px;line-height:1.6;margin:11px 0}
.contact-symbol{color:#9da157;font-size:19px;line-height:1.2;min-width:22px;text-align:center}
.footer-logo{height:145px;border-left:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;padding-left:25px}
.footer-logo img{width:132px;height:126px;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}
.company-block p{font-size:13px;line-height:1.6;margin:10px 0}
.company-block strong{font-size:15px}
.small-line{width:88px;height:2px;background:#8c9455;margin:17px 0}
.company-block .small{font-size:12px;max-width:370px}
.copyright{text-align:center;background:#875c3d;color:#f7eee6;font-size:12px;padding:12px}

@media (max-width:1000px){
  .container{width:min(100% - 42px,var(--site-width))}
  .service-item{padding-left:20px;padding-right:20px}
  .service-item:first-child{padding-left:0}.service-item:last-child{padding-right:0}
  .service-copy p{max-width:none}
  .contact-layout{gap:42px}
}
@media (max-width:850px){
  .site-header{height:80px}.brand{height:72px}.brand img{width:72px;height:70px}
  .menu-toggle{display:block}.main-nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:20px 28px;flex-direction:column;align-items:flex-start;box-shadow:0 10px 20px rgba(0,0,0,.08)}.main-nav.open{display:flex}.main-nav span{display:none}
  .hero-frame{height:auto;min-height:610px}.hero-photo{left:0;top:auto;height:300px;background-position:center center}.hero-wash{background:linear-gradient(180deg,#f8f5f0 0%,#f8f5f0 48%,rgba(248,245,240,.83) 55%,rgba(248,245,240,0) 72%)}.hero-inner{align-items:flex-start}.hero-copy{width:100%;padding-top:42px}.hero h1{font-size:38px}.hero h2{font-size:20px}.hero p{width:min(100%,420px)}
  .service-grid,.cards,.footer-grid,.contact-layout{grid-template-columns:1fr}.service-grid{margin-bottom:34px}.service-item{border-right:0;border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:22px}.service-item:last-child{border-bottom:0;margin-bottom:0}.cards{gap:18px}.card>img{height:240px}.promise{grid-template-columns:1fr;margin:32px 0}.gears{border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px}.promise-copy{padding:20px 0 0}.footer-grid{padding:36px 0}.footer-logo{border-left:0;padding-left:0;justify-content:flex-start;height:auto}.footer-logo img{width:115px;height:110px}.company-block{padding-top:0}
  .contact-layout{gap:30px}.contact-intro h3{font-size:25px}
}
@media (max-width:520px){
  .container{width:calc(100% - 30px)}
  .hero h1{font-size:31px}.hero h2{font-size:18px}.hero p{font-size:15px}.service-item{grid-template-columns:78px 1fr}.service-icon{height:78px;padding:16px}.service-icon img{width:46px;height:46px}.card>img{height:200px}
  .form-row.two-col{grid-template-columns:1fr}.contact-section{padding:45px 0}
}

/* ===== V4 visual corrections ===== */
/* Keep the hero comfortably lower, closer to the approved reference proportions. */
.site-header{height:104px}
.nav-wrap{height:100%}
.brand{height:94px}
.brand img{width:104px;height:94px}
.hero-frame{height:455px}
.hero-inner{align-items:center}
.hero-copy{padding-top:28px}

/* Contact form: force a clean, stable vertical layout on desktop and mobile. */
.contact-section{padding:64px 0 70px}
.contact-layout{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:72px}
.contact-form{display:grid;grid-template-columns:1fr;gap:18px;min-width:0}
.contact-form .form-row.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.contact-form label{display:flex;flex-direction:column;gap:7px;min-width:0}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea{display:block;width:100%;min-width:0;border:1px solid #c9c3ba;background:#fff;padding:13px 14px;color:#1f2c31}
.contact-form textarea{min-height:170px;resize:vertical}
.file-field{border:1px solid #d8d1c8;background:#fbfaf8;padding:14px 16px}
.contact-form input[type="file"]{display:block;width:100%;min-width:0;border:0;background:transparent;padding:4px 0;color:#2c383c}
.contact-form input[type="file"]::file-selector-button{border:0;background:var(--ink);color:#fff;padding:10px 15px;margin-right:12px;cursor:pointer;font-weight:700}
.file-field small{display:block;margin-top:3px}
.consent-row{display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;align-items:start!important;gap:10px!important;padding:3px 0}
.consent-row input[type="checkbox"]{width:16px;height:16px;margin:2px 0 0;flex:0 0 auto}
.submit-btn{margin-top:2px;min-height:50px}

/* Footer logo: transparent artwork, no white rectangle. */
.footer-logo{overflow:hidden}
.footer-logo img{background:transparent!important;filter:brightness(0) invert(1);mix-blend-mode:screen}

@media (max-width:850px){
  .site-header{height:82px}
  .brand{height:74px}
  .brand img{width:78px;height:72px}
  .main-nav{top:82px}
  .hero-frame{min-height:635px}
  .hero-copy{padding-top:55px}
  .contact-layout{grid-template-columns:1fr;gap:34px}
}
@media (max-width:620px){
  .contact-form .form-row.two-col{grid-template-columns:1fr}
}


/* ===== V5 footer redesign ===== */
.site-footer{background:#2E5E66;color:#F8F5F0;margin-top:0}
.site-footer .footer-grid{display:grid;grid-template-columns:1fr .9fr 1.15fr;align-items:stretch;min-height:300px;gap:0;padding:44px 0 36px}
.site-footer .footer-column{min-width:0}
.site-footer .contact-block{padding:0 54px 0 6px}
.site-footer .contact-block h3,.site-footer .company-block h3{font-size:18px;letter-spacing:.4px;margin:0 0 27px;padding-bottom:11px;border-bottom:1px solid #8A9A5B;width:max-content;color:#F8F5F0}
.site-footer .contact-block p{display:flex;gap:15px;align-items:flex-start;font-size:14px;line-height:1.55;margin:15px 0;color:#F8F5F0}
.site-footer .contact-block a,.site-footer .company-block a{color:#F8F5F0;text-decoration:none}
.site-footer .contact-symbol{color:#8A9A5B;font-size:19px;line-height:1.2;min-width:22px;text-align:center}
.site-footer .footer-logo{border-left:1px solid rgba(217,197,161,.38);border-right:1px solid rgba(217,197,161,.38);display:flex;flex-direction:column;align-items:center;justify-content:center;height:auto;padding:10px 42px;overflow:visible}
.site-footer .footer-logo img{display:block;width:158px;height:160px;object-fit:contain;background:transparent!important;filter:none!important;mix-blend-mode:normal!important;opacity:1}
.site-footer .footer-logo span{display:block;margin-top:7px;color:#D9C5A1;font-size:18px;letter-spacing:6px;font-weight:500}
.site-footer .company-block{padding:0 6px 0 58px}
.site-footer .company-block p{font-size:14px;line-height:1.55;margin:13px 0;color:#F8F5F0}
.site-footer .company-block .small{font-size:12px;line-height:1.7;max-width:390px}
.site-footer .small-line{width:64px;height:2px;background:#8A9A5B;margin:21px 0}
.site-footer .data-separator{color:#D9C5A1;padding:0 10px}
.site-footer .copyright{text-align:center;background:#274f56;color:#F8F5F0;font-size:12px;padding:15px;border-top:1px solid rgba(217,197,161,.35)}

@media (max-width:850px){
  .site-footer .footer-grid{grid-template-columns:1fr;min-height:0;padding:36px 0 28px}
  .site-footer .contact-block,.site-footer .company-block{padding:0}
  .site-footer .footer-logo{border-left:0;border-right:0;border-top:1px solid rgba(217,197,161,.35);border-bottom:1px solid rgba(217,197,161,.35);margin:28px 0;padding:28px 0}
  .site-footer .footer-logo img{width:124px;height:126px}
  .site-footer .footer-logo span{font-size:15px;letter-spacing:5px}
  .site-footer .company-block h3{margin-top:0}
}

/* ===== V7 compact transparent references + compact footer ===== */
.references-section{
  padding:48px 0 52px;
  background:#F8F5F0;
}
.references-heading{margin-bottom:30px}
.references-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px 14px;
  align-items:start;
}
.reference-item{
  min-height:0;
  padding:8px 4px 0;
  border:0;
  background:transparent;
  box-shadow:none;
  justify-content:flex-start;
  transition:transform .18s ease,opacity .18s ease;
}
.reference-item:hover{
  transform:translateY(-2px);
  border-color:transparent;
  box-shadow:none;
}
.reference-logo{
  height:104px;
  padding:4px 2px;
  background:transparent;
}
.reference-logo img{
  max-width:100%;
  max-height:90px;
  background:transparent;
}
.reference-item p{
  margin:9px 0 0;
  min-height:32px;
  font-size:11.5px;
  line-height:1.25;
  color:#5d4b3d;
  font-weight:600;
}

.site-footer .footer-grid{
  grid-template-columns:1fr .72fr 1.12fr;
  min-height:0;
  padding:25px 0 22px;
}
.site-footer .contact-block{padding:0 34px 0 4px}
.site-footer .contact-block h3,.site-footer .company-block h3{
  margin-bottom:17px;
  padding-bottom:7px;
  font-size:17px;
}
.site-footer .contact-block p{margin:9px 0;font-size:13px}
.site-footer .company-block{padding:0 4px 0 38px}
.site-footer .company-block p{font-size:13px;margin:9px 0}
.site-footer .company-block .small{font-size:11.5px;line-height:1.55}
.site-footer .small-line{margin:14px 0;width:54px}
.site-footer .footer-logo{
  min-height:145px;
  padding:8px 28px;
  overflow:hidden;
}
.site-footer .footer-logo img{
  width:145px;
  height:auto;
  max-height:126px;
  object-fit:contain;
  filter:brightness(0) invert(1)!important;
  opacity:.96;
}
.site-footer .copyright{padding:10px 15px;font-size:11px}

@media (max-width:1050px){
  .references-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px}
  .reference-logo{height:92px}
  .reference-logo img{max-height:82px}
  .reference-item p{font-size:11px}
}
@media (max-width:700px){
  .references-section{padding:42px 0 46px}
  .references-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
  .reference-logo{height:82px}
  .reference-logo img{max-height:72px}
  .reference-item p{font-size:10.5px;min-height:30px}
  .site-footer .footer-grid{padding:26px 0 22px}
  .site-footer .footer-logo{min-height:0;padding:22px 0;margin:22px 0}
  .site-footer .footer-logo img{width:130px;max-height:112px}
  .site-footer .contact-block,.site-footer .company-block{padding:0}
}


/* ===== V9 final references + footer ===== */
.references-section{
  padding:46px 0 48px;
  background:#F8F5F0;
}
.references-heading{
  margin-bottom:26px;
  text-align:left;
}
.references-heading .eyebrow{
  margin-bottom:7px;
}
.references-subtitle{
  margin:0;
  color:#5f6665;
  font-size:14px;
  line-height:1.5;
  font-weight:400;
}
.references-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:22px 24px;
  align-items:start;
}
.reference-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  padding:0;
  margin:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.reference-item:hover{
  transform:none;
  box-shadow:none;
}
.reference-logo{
  width:100%;
  height:105px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:4px 8px;
  background:#F8F5F0;
  overflow:hidden;
}
.reference-logo img{
  display:block;
  max-width:92%;
  max-height:88px;
  width:auto;
  height:auto;
  object-fit:contain;
  background:#F8F5F0;
}
.reference-item p{
  margin:8px 0 0;
  min-height:30px;
  text-align:center;
  color:#66594f;
  font-size:11px;
  line-height:1.3;
  font-weight:500;
}

.site-footer .footer-grid{
  grid-template-columns:1fr .62fr 1.08fr;
  min-height:0;
  padding:22px 0 20px;
  align-items:center;
}
.site-footer .contact-block{
  padding:0 30px 0 4px;
}
.site-footer .company-block{
  padding:0 4px 0 32px;
}
.site-footer .contact-block h3,
.site-footer .company-block h3{
  margin:0 0 14px;
  padding-bottom:6px;
  font-size:16px;
}
.site-footer .contact-block p,
.site-footer .company-block p{
  margin:7px 0;
  font-size:12.5px;
  line-height:1.5;
}
.site-footer .company-block .small{
  font-size:11px;
  line-height:1.5;
  max-width:360px;
}
.site-footer .small-line{
  width:48px;
  margin:11px 0;
}
.site-footer .footer-logo{
  min-height:126px;
  height:auto;
  padding:6px 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-left:1px solid rgba(217,197,161,.34);
  border-right:1px solid rgba(217,197,161,.34);
  overflow:hidden;
}
.site-footer .footer-logo img{
  display:block;
  width:112px;
  height:108px;
  max-width:100%;
  max-height:108px;
  object-fit:contain;
  filter:none!important;
  mix-blend-mode:normal!important;
  opacity:1;
  background:transparent!important;
}
.site-footer .copyright{
  padding:9px 14px;
  font-size:10.5px;
}

@media (max-width:1050px){
  .references-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px}
  .reference-logo{height:100px}
  .reference-logo img{max-height:84px}
}
@media (max-width:850px){
  .site-footer .footer-grid{grid-template-columns:1fr;padding:28px 0 24px}
  .site-footer .contact-block,.site-footer .company-block{padding:0}
  .site-footer .footer-logo{
    min-height:0;
    margin:22px 0;
    padding:20px 0;
    border-left:0;
    border-right:0;
    border-top:1px solid rgba(217,197,161,.34);
    border-bottom:1px solid rgba(217,197,161,.34);
    justify-content:flex-start;
  }
  .site-footer .footer-logo img{width:104px;height:100px;max-height:100px}
}
@media (max-width:700px){
  .references-section{padding:40px 0 42px}
  .references-heading{margin-bottom:22px}
  .references-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  .reference-logo{height:84px;padding:2px 6px}
  .reference-logo img{max-width:95%;max-height:70px}
  .reference-item p{font-size:10.5px;min-height:28px;margin-top:6px}
}

/* ===== V10: references + compact footer (cache-safe stylesheet) ===== */
.references-section{
  padding:48px 0 50px !important;
  background:#F8F5F0 !important;
}
.references-heading{
  margin-bottom:28px !important;
}
.references-heading .eyebrow{
  display:block;
  margin-bottom:8px !important;
}
.references-subtitle{
  margin:0 !important;
  color:#56605f !important;
  font-size:15px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
  text-transform:none !important;
}
.references-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:28px 22px !important;
  align-items:start !important;
  width:100% !important;
}
.reference-item{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
}
.reference-logo{
  width:100% !important;
  height:112px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#F8F5F0 !important;
  overflow:hidden !important;
}
.reference-logo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:280px !important;
  max-height:120px !important;
  object-fit:contain !important;
  background:#F8F5F0 !important;
}
.reference-item p{
  margin:8px 0 0 !important;
  min-height:30px !important;
  text-align:center !important;
  color:#66594f !important;
  font-size:11.5px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
}

.site-footer .footer-grid{
  grid-template-columns:1fr .72fr 1.08fr !important;
  min-height:0 !important;
  padding:18px 0 17px !important;
  align-items:center !important;
}
.site-footer .contact-block{
  padding:0 26px 0 4px !important;
}
.site-footer .company-block{
  padding:0 4px 0 28px !important;
}
.site-footer .contact-block h3,
.site-footer .company-block h3{
  margin:0 0 12px !important;
  padding-bottom:6px !important;
  font-size:16px !important;
}
.site-footer .contact-block p,
.site-footer .company-block p{
  margin:6px 0 !important;
  font-size:12.5px !important;
  line-height:1.45 !important;
}
.site-footer .company-block .small{
  font-size:11px !important;
  line-height:1.45 !important;
  max-width:360px !important;
}
.site-footer .small-line{
  width:46px !important;
  margin:10px 0 !important;
}
.site-footer .footer-logo{
  min-height:118px !important;
  height:118px !important;
  padding:4px 26px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-left:1px solid rgba(217,197,161,.34) !important;
  border-right:1px solid rgba(217,197,161,.34) !important;
  overflow:visible !important;
}
.site-footer .footer-logo img{
  display:block !important;
  width:116px !important;
  height:auto !important;
  max-width:116px !important;
  max-height:112px !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
  background:transparent !important;
}
.site-footer .copyright{
  padding:8px 14px !important;
  font-size:10.5px !important;
}

@media (max-width:1050px){
  .references-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:24px 20px !important}
  .reference-logo{height:106px !important}
}
@media (max-width:850px){
  .site-footer .footer-grid{grid-template-columns:1fr !important;padding:24px 0 22px !important}
  .site-footer .contact-block,.site-footer .company-block{padding:0 !important}
  .site-footer .footer-logo{
    height:auto !important;
    min-height:0 !important;
    margin:20px 0 !important;
    padding:18px 0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-top:1px solid rgba(217,197,161,.34) !important;
    border-bottom:1px solid rgba(217,197,161,.34) !important;
    justify-content:flex-start !important;
  }
  .site-footer .footer-logo img{width:108px !important;max-width:108px !important;max-height:104px !important}
}
@media (max-width:700px){
  .references-section{padding:40px 0 42px !important}
  .references-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:20px 14px !important}
  .reference-logo{height:88px !important}
  .reference-item p{font-size:10.5px !important;min-height:28px !important;margin-top:6px !important}
}


/* ===== V12 FINAL: menu anchors, reference logos, footer ===== */

html{
  scroll-behavior:smooth;
}
#o-nas,
#sluzby,
#kontaktni-formular,
#reference{
  scroll-margin-top:100px;
}

/* Reference zůstávají 5 × 2 na desktopu. */
.references-grid{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}

/* Obrázky už mají přímo pozadí webu #F8F5F0. */
.reference-logo,
.reference-logo img{
  background:#F8F5F0 !important;
}

/* Správné kompletní PB logo ve footeru. */
.site-footer .footer-logo img{
  width:142px !important;
  max-width:142px !important;
  height:auto !important;
  max-height:136px !important;
  object-fit:contain !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
}

@media (max-width:1050px){
  .references-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media (max-width:640px){
  .references-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .main-nav{
    z-index:100;
  }
  .site-footer .footer-logo img{
    width:124px !important;
    max-width:124px !important;
  }
}


/* ===== V13: zachování schválených velikostí referenčních log ===== */

/* V13 obrázky jsou znovu plátna 280 × 120 se stejným měřítkem jako ve V10.
   Nevytahovat jednotlivá loga přes celou buňku. */
.reference-logo{
  height:112px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#F8F5F0 !important;
}

.reference-logo img{
  width:280px !important;
  height:120px !important;
  max-width:100% !important;
  max-height:120px !important;
  object-fit:contain !important;
  background:#F8F5F0 !important;
}

/* Tablet a mobil – plátno se smí pouze zmenšit, nikdy zvětšit proti desktopu. */
@media (max-width:1050px){
  .reference-logo img{
    width:260px !important;
    height:auto !important;
    max-height:110px !important;
  }
}
@media (max-width:640px){
  .reference-logo{
    height:88px !important;
  }
  .reference-logo img{
    width:220px !important;
    height:auto !important;
    max-height:88px !important;
  }
}
