.elementor-103 .elementor-element.elementor-element-7c61cf0e{--display:flex;--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-103 .elementor-element.elementor-element-7ae4f5b8{--display:flex;--margin-top:-20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-103 .elementor-element.elementor-element-6a5138f5{--display:flex;}.elementor-103 .elementor-element.elementor-element-7970cdf6{--display:flex;}/* Start custom CSS for container, class: .elementor-element-7c61cf0e *//* conservatories */
.container {    max-width: 1260px;    margin: 0 auto;    padding: 0 5%;    position: relative;    z-index: 3;}
.conservatories-hero-section {    padding: 110px 5% 120px;    position: relative;    overflow: hidden;    background: #efe6d9;}
.conservatories-hero-section .hero-bg {    position: absolute;    inset: 0;    background-image: url('https://images.unsplash.com/photo-1695072798382-7ea499964f80?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');    background-size: cover;    background-position: center;    opacity: 0.52;    filter: saturate(0.96) contrast(1.04) brightness(0.92);    z-index: 1;}
.conservatories-hero-section::before {    content: '';    position: absolute;    inset: 0;    background:        linear-gradient(180deg, rgba(255,255,255,0.78) 0%, rgba(255,255,255,0.82) 60%, rgba(255,255,255,0.88) 100%);    z-index: 2;}
.conservatories-content-backdrop {    background:        linear-gradient(180deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0.06) 100%),        rgba(247,242,234,0.92);    border: 1px solid rgba(255,255,255,0.4);    padding: 46px 40px;    max-width: 900px;    margin: 0 auto;    box-shadow:        0 22px 56px rgba(0,0,0,0.10),        inset 0 1px 0 rgba(255,255,255,0.4);    position: relative;    z-index: 4;    color: #171411;}
.conservatories-content-backdrop::before {    content: "";    position: absolute;    inset: 0 auto 0 0;    width: 6px;    background: linear-gradient(180deg, #bc9468 0%, #8a6946 100%);}
.breadcrumbs {    font-size: 0.72rem;    font-weight: 700;    letter-spacing: 0.18em;    text-transform: uppercase;    color: #6f563d;    margin-bottom: 26px;    text-align: center;}
.breadcrumb-home {    color: #6f563d;    text-decoration: none;}
.breadcrumb-home:hover {    color: #8a6946;}
.breadcrumb-separator {    margin: 0 6px;    color: #8a755f;}
.breadcrumb-current {    color: #171411 !important;}
.page-title {    font-family: "Libre Baskerville", serif;    font-size: clamp(2.5rem, 5vw, 3.2rem);    font-weight: 700;    color: #171411 !important;    margin: 0 0 26px;    line-height: 1.06;    letter-spacing: -0.04em;    text-align: center;}
.conservatories-rule {    width: 68px;    height: 1px;    background: rgba(63,49,35,0.24);    margin: 0 auto 28px;}
.intro-wrapper {    max-width: 820px;    margin: 0 auto;}
.intro-text,.intro-expanded p {    font-family: "Libre Baskerville", serif;    font-size: clamp(1.02rem, 1.8vw, 1.12rem);    line-height: 1.82;    color: #2f251d !important;    text-align: center;}
.intro-text {    margin: 0 auto 34px;}
.intro-expanded {    max-height: 0;    overflow: hidden;    opacity: 0;    transition: max-height 0.6s ease, opacity 0.45s ease, margin 0.45s ease;}
.intro-expanded.expanded {    max-height: 2200px;    opacity: 1;    margin-bottom: 36px;}
.intro-expanded p {    margin: 22px 0;}
.cta-wrapper {    text-align: center;}
.read-more-cta {    background: none;    border: none;    padding: 0;    font-family: "Libre Baskerville", serif;    font-size: 0.92rem;    font-weight: 700;    letter-spacing: 0.08em;    text-transform: uppercase;    color: #8a6946;    cursor: pointer;    position: relative;}
.read-more-cta::after {    content: "";    display: block;    width: 0%;    height: 1px;    background: #8a6946;    margin-top: 6px;    transition: width 0.3s ease;}
.read-more-cta:hover::after {    width: 100%;}
@media (max-width: 768px) {    .conservatories-hero-section {        padding: 88px 5% 100px;    }    .conservatories-content-backdrop {        padding: 34px 24px;    }}
@media (max-width: 480px) {    .page-title {        font-size: 2.2rem;    }    .intro-text,    .intro-expanded p {        font-size: 0.98rem;    }}
.kitchen-categories-section {    padding: 80px 5% 100px;    background: #f1f1f1;}
.container {    max-width: 1300px;    margin: 0 auto;}
.categories-grid {    display: grid;    grid-template-columns: repeat(3, 1fr);    gap: 32px;    margin-top: 40px;}
.category-card {    display: block;    text-decoration: none;    border-radius: 8px;    overflow: hidden;    background: #fff;    box-shadow: 0 4px 20px rgba(0,0,0,0.07);    transition: all 0.4s cubic-bezier(0.4,0,0.2,1);}
.category-card:hover {    transform: translateY(-8px);    box-shadow: 0 20px 40px rgba(0,0,0,0.14);}
.card-image-wrapper {    width: 100%;    height: 220px;    overflow: hidden;}
.card-image-wrapper img {    width: 100%;    height: 100%;    object-fit: cover;    transition: transform 0.7s ease;}
.category-card:hover .card-image-wrapper img {    transform: scale(1.12);}
.card-title {    font-family: 'Georgia', serif;    font-size: 1.35rem;    font-weight: 600;    color: #1a1a1a;    text-align: center;    padding: 20px 16px;    margin: 0;    transition: all 0.3s ease;    position: relative;}
.card-title::after {    content: none;}
.category-card:hover .card-title::after {    width: 50px;}
/* Responsive */@media (max-width: 992px) {    .categories-grid {        grid-template-columns: repeat(2, 1fr);        gap: 28px;    }}
@media (max-width: 640px) {    .kitchen-categories-section {        padding: 60px 5% 80px;    }        .categories-grid {        grid-template-columns: 1fr;        gap: 24px;    }        .card-image-wrapper {        height: 260px;    }        .card-title {        font-size: 1.5rem;        padding: 24px 16px;    }}
/* 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 Card */.contact-grid-wrapper {    position: relative;    max-width: 920px;    margin: 0 auto 82px auto;    padding: 38px 36px;    background:        linear-gradient(180deg, 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.10);    box-shadow:        0 18px 42px rgba(0,0,0,0.08),        inset 0 1px 0 rgba(255,255,255,0.34);    overflow: hidden;}
.contact-grid-wrapper::before {    content: "";    position: absolute;    inset: 0 auto 0 0;    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(180deg, #9a7650 0%, #7d5d3e 100%);    flex-shrink: 0;    display: flex;    align-items: center;    justify-content: center;    box-shadow: 0 10px 22px rgba(123,91,61,0.18);    transition: transform 0.3s ease, box-shadow 0.3s ease;}
.contact-item:hover .contact-icon {    transform: translateY(-2px);    box-shadow: 0 14px 28px rgba(123,91,61,0.24);}
.contact-icon svg {    width: 20px;    height: 20px;    fill: #fffaf3;}
.contact-content h3 {    font-family: "Libre Baskerville", serif;    font-size: 1.08rem;    margin: 0 0 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: 0;    color: #3f342b;    line-height: 1.72;}
.contact-content a {    color: var(--wood);    text-decoration: none;    font-weight: 700;    transition: color 0.28s ease, opacity 0.28s ease;}
.contact-content a:hover {    color: var(--wood-deep);    opacity: 1;}
/* Responsive */@media (max-width: 960px) {    .contact-grid-wrapper {        padding: 34px 30px;        margin: 0 auto 72px auto;    }    .contact-items {        gap: 28px 34px;    }}
@media (max-width: 640px) {    .contact-grid-wrapper {        padding: 28px 20px;        margin: 0 auto 54px auto;    }    .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 */