.elementor-1127 .elementor-element.elementor-element-125854e5{--display:flex;--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1127 .elementor-element.elementor-element-5cdcd54{--display:flex;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1127 .elementor-element.elementor-element-596b7f7f{--display:flex;}.elementor-1127 .elementor-element.elementor-element-11805ab8{--display:flex;}.elementor-1127 .elementor-element.elementor-element-59ef137{--display:flex;}/* Start custom CSS for container, class: .elementor-element-125854e5 *//* conservatory-restoration */
.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); line-height: 1.66; }
.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;}
/* Consultation */.consultation-intro {    max-width: 1280px;    margin: 104px auto 84px;    padding: 0 24px;    text-align: center;    /* base text colour */    color: #171411;}
.consultation-eyebrow {    display: inline-block;    margin: 0 0 16px;    padding-left: 16px;    font-size: 0.72rem;    font-weight: 700;    letter-spacing: 0.18em;    text-transform: uppercase;    color: #6f563d;    position: relative;}
.consultation-eyebrow::before {    content: "";    position: absolute;    left: 0;    top: 0.1em;    bottom: 0.1em;    width: 2px;    background: linear-gradient(180deg, #bc9468 0%, #8a6946 100%);}
/* FORCE TITLE BLACK */.consultation-intro h2 {    font-family: "Libre Baskerville", serif;    font-size: clamp(2.1rem, 4.8vw, 3rem);    font-weight: 700;    line-height: 1.08;    letter-spacing: -0.036em;    margin: 0;    color: #171411 !important;    text-wrap: balance;}
.consultation-rule {    width: 64px;    height: 1px;    margin: 20px auto 22px;    background: rgba(63,49,35,0.24);}
/* BODY TEXT – DARK, NOT GREY */.consultation-intro p {    margin: 0 auto;    max-width: 720px;    font-family: "Libre Baskerville", serif;    font-size: clamp(1.02rem, 1.8vw, 1.1rem);    line-height: 1.82;    letter-spacing: 0.002em;    color: #2f251d !important;    opacity: 1 !important;}
.consultation-intro p strong {    color: #171411 !important;    font-weight: 700;}
/* spacing harmony with form below */.consultation-intro + * {    margin-top: 0;}
/* Responsive */@media (max-width: 768px) {    .consultation-intro {        margin: 84px auto 64px;        padding: 0 18px;    }    .consultation-intro h2 {        font-size: clamp(1.85rem, 7vw, 2.4rem);    }    .consultation-rule {        width: 52px;        /*margin: 18px auto 20px;*/    }    .consultation-intro p {        font-size: 0.98rem;        line-height: 1.74;    }}
@media (max-width: 480px) {    .consultation-intro {        margin: 72px auto 56px;        padding: 0 14px;    }    .consultation-eyebrow {        font-size: 0.68rem;        margin-bottom: 12px;    }}
.contact-grid-wrapper { position: relative; max-width: 920px; margin: 0px auto 82px; padding: 38px 36px; background: linear-gradient(rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.06) 100%), rgba(247, 242, 234, 0.72); border: 1px solid rgba(91, 68, 45, 0.1); box-shadow: rgba(0, 0, 0, 0.08) 0px 18px 42px, rgba(255, 255, 255, 0.34) 0px 1px 0px inset; overflow: hidden; }
.contact-content a { pointer-events: auto !important; cursor: pointer; }
.contact-grid-wrapper::before { content: ""; position: absolute; inset: 0px auto 0px 0px; width: 5px; background: linear-gradient(180deg, #bc9468 0%, var(--wood) 100%); }
.contact-items { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 42px; align-items: start; }
.contact-item { display: flex; align-items: flex-start; gap: 16px; text-align: left; }
.contact-icon { width: 42px; height: 42px; background: linear-gradient(rgb(154, 118, 80) 0%, rgb(125, 93, 62) 100%); flex-shrink: 0; display: flex; align-items: center; justify-content: center; box-shadow: rgba(123, 91, 61, 0.18) 0px 10px 22px; transition: transform 0.3s, box-shadow 0.3s; }
.contact-item:hover .contact-icon { transform: translateY(-2px); box-shadow: rgba(123, 91, 61, 0.24) 0px 14px 28px; }
.contact-icon svg { width: 20px; height: 20px; fill: rgb(255, 250, 243); }
.contact-content h3 { font-family: "Libre Baskerville", serif; font-size: 1.08rem; margin: 0px 0px 6px; color: var(--ink); font-weight: 700; letter-spacing: -0.015em; line-height: 1.25; }
.contact-content p, .contact-content a { font-size: 0.96rem; margin: 0px; color: rgb(63, 52, 43); line-height: 1.72; }
.contact-content a { color: var(--wood); text-decoration: none; font-weight: 700; transition: color 0.28s, opacity 0.28s; }
.contact-content a:hover { color: var(--wood-deep); opacity: 1; }
@media (max-width: 960px) {  .contact-grid-wrapper { padding: 34px 30px; margin: 0px auto 72px; }  .contact-items { gap: 28px 34px; }}
@media (max-width: 640px) {  .contact-grid-wrapper { padding: 28px 20px; margin: 0px auto 54px; }  .contact-items { grid-template-columns: 1fr; gap: 24px; }  .contact-item { gap: 14px; }  .contact-icon { width: 40px; height: 40px; }  .contact-icon svg { width: 18px; height: 18px; }  .contact-content h3 { font-size: 1rem; margin-bottom: 5px; }  .contact-content p, .contact-content a { font-size: 0.93rem; line-height: 1.68; }}
@media (max-width: 380px) {  .contact-grid-wrapper { padding: 24px 16px; }  .contact-icon { width: 38px; height: 38px; }  .contact-icon svg { width: 17px; height: 17px; }}/* End custom CSS */