.elementor-114 .elementor-element.elementor-element-67435965{--display:flex;--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-114 .elementor-element.elementor-element-4d89c229{--display:flex;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-114 .elementor-element.elementor-element-42d80f1a{--display:flex;}/* Start custom CSS for container, class: .elementor-element-67435965 *//* joinery/heritage-joinery */
.container { max-width: 1260px; margin: 0px auto; padding: 0px 5%; }
.breadcrumbs { margin: 0px 0px 36px; padding-top: 20px; font-size: 0.95rem; color: rgb(102, 102, 102); }
.breadcrumb-home, .breadcrumb-link { color: rgb(102, 102, 102); text-decoration: none; transition: color 0.3s; }
.breadcrumb-home:hover, .breadcrumb-link:hover { color: rgb(26, 26, 26); text-decoration: underline; }
.breadcrumb-separator { margin: 0px 10px; color: rgb(153, 153, 153); }
.breadcrumb-current { color: rgb(26, 26, 26); font-weight: 500; }
.craftsmanship-section { padding: 80px 5% 50px; background: rgb(250, 249, 247); }
.craftsmanship-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 90px; max-width: 1260px; margin: 0px auto 40px; align-items: start; }
.section-title { font-size: 2.7rem; line-height: 1.15; font-family: Georgia, serif; font-weight: 600; color: rgb(26, 26, 26); margin: 0px 0px 26px; letter-spacing: -0.02em; }
.features-title { font-size: 1.48rem; margin-bottom: 28px; font-family: Georgia, serif; color: rgb(26, 26, 26); }
.craft-text { margin: 0px 0px 26px; font-size: 1.11rem; max-width: 620px; color: rgb(68, 68, 68); }
.craft-text--highlight { font-weight: 500; color: rgb(34, 34, 34); }
.features-list { list-style: none; padding: 0px; margin: 0px 0px 48px; }
.features-list li { position: relative; padding-left: 32px; margin-bottom: 16px; font-size: 1.07rem; line-height: 1.6; }
.features-list li::before { content: ""; position: absolute; left: 0px; top: 0.62em; width: 7px; height: 7px; background: rgb(212, 184, 148); border-radius: 50%; transform: translateY(-50%); }
.cta-button { display: inline-flex; align-items: center; gap: 16px; background: rgb(26, 26, 26); padding: 18px 38px; border-radius: 4px; font-weight: 600; font-size: 1.11rem; letter-spacing: 0.6px; transition: 0.38s; position: relative; overflow: hidden; color: rgb(255, 255, 255) !important; text-decoration: none !important; }
.cta-button span { color: inherit !important; }
.cta-button:hover { background: rgb(212, 184, 148); transform: translateY(-3px); box-shadow: rgba(212, 184, 148, 0.3) 0px 16px 44px; color: rgb(26, 26, 26) !important; }
.cta-button .cta-arrow { transition: transform 0.38s; font-size: 1.3em; line-height: 1; }
.cta-button:hover .cta-arrow { transform: translateX(6px); }
@media (max-width: 992px) {  .craftsmanship-grid { grid-template-columns: 1fr; gap: 60px; }  .section-title { font-size: 2.4rem; }}
@media (max-width: 600px) {  .craftsmanship-section { padding: 70px 5% 40px; }  .craftsmanship-grid { margin-bottom: 30px; }  .breadcrumbs { font-size: 0.9rem; margin-bottom: 30px; }  .section-title { font-size: 2.1rem; }  .cta-button { width: 100%; justify-content: center; padding: 22px; font-size: 1.16rem; }}
/* FINAL GALLERY – 8 ON DESKTOP, 4 ON MOBILE + CAPTIONS */.king-gallery-wrapper {  max-width: 1600px;  margin: 0 auto;  padding: 40px 5% 80px;  box-sizing: border-box;  background: #f9f5f0;}
.recent-projects-title {  text-align: center;  font: 600 2.7rem/1.15 'Georgia', serif;  color: #1a1a1a;  letter-spacing: -0.02em;  margin: 0 0 50px 0;}
@media (max-width: 768px) { .recent-projects-title { font-size: 2.3rem; margin-bottom: 40px; } }
@media (max-width: 480px) { .recent-projects-title { font-size: 2.1rem; margin-bottom: 35px; } }
.king-gallery {  display: grid;  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));  gap: 18px;  margin-bottom: 40px;}
.king-gallery a {  display: block;  position: relative;  overflow: hidden;  border-radius: 10px;  box-shadow: 0 8px 25px rgba(0,0,0,0.12);  transition: all 0.4s ease;  aspect-ratio: 4 / 3;}
.king-gallery a::before {  content: ''; display: block; padding-bottom: 75%;}
.king-gallery a:hover {  transform: translateY(-6px);  box-shadow: 0 20px 40px rgba(0,0,0,0.22);}
.king-gallery img {  position: absolute;  top: 0; left: 0;  width: 100%; height: 100%;  object-fit: cover;  transition: transform 0.4s ease;}
.king-gallery a:hover img { transform: scale(1.08); }
/* HOVER CAPTION – elegant overlay */.king-gallery .caption {  position: absolute;  inset: auto 0 0 0;  padding: 32px 20px 20px;  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 70%, transparent 100%);  color: #fff;  font: 600 1.4rem/1.2 'Georgia', serif;  letter-spacing: -0.02em;  text-align: center;  opacity: 0;  transform: translateY(15px);  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);  pointer-events: none;}
.king-gallery a:hover .caption {  opacity: 1;  transform: translateY(0);}
/* Pagination */.gallery-pagination {  display: flex;  justify-content: center;  gap: 14px;  margin-top: 20px;}
.gallery-pagination button {  background: #1a1a1a;  color: #fff;  border: none;  padding: 12px 32px;  border-radius: 6px;  font-weight: 600;  cursor: pointer;  transition: all 0.3s;}
.gallery-pagination button:hover {  background: #d4b894;  color: #1a1a1a;}
.hidden {  display: none !important;}
/* Lightbox + Caption */.lightbox-overlay {  position: fixed; inset: 0;  background: rgba(0,0,0,0.95);  display: none; align-items: center; justify-content: center;  z-index: 9999; flex-direction: column; gap: 20px;}
.lightbox-overlay.active { display: flex; }
.lightbox-overlay img {  max-width: 94vw;  max-height: 78vh;  object-fit: contain;  border-radius: 10px;  box-shadow: 0 15px 60px rgba(0,0,0,0.7);}
.lightbox-caption {  color: #fff;  font: 600 1.9rem/1.2 'Georgia', serif;  letter-spacing: -0.02em;  text-align: center;  max-width: 90vw;}
.lightbox-nav {  position: absolute; top: 50%; transform: translateY(-50%);  background: rgba(255,255,255,0.22); color: #fff;  width: 56px; height: 90px; display: flex; align-items: center;  justify-content: center; font-size: 2.8rem; cursor: pointer;  border-radius: 10px; transition: 0.3s;  user-select: none;  -webkit-user-select: none;  -moz-user-select: none;}
.lightbox-nav:hover { background: rgba(255,255,255,0.44); }
.lightbox-nav.prev { left: 16px; }
.lightbox-nav.next { right: 16px; }
.close-btn {  position: absolute; top: 20px; right: 30px;  font-size: 3.4rem; color: #fff; cursor: pointer; font-weight: 300;}/* End custom CSS */