/* =========================================================
   V6 ADDITIONS PACK
   This file is additive: it does not replace style.css.
   ========================================================= */
.add-body {
   background: #f7f4ee;
   color: #1a1917
}

.add-header {
   position: sticky;
   top: 0;
   z-index: 80;
   background: rgba(247, 244, 238, .96);
   backdrop-filter: blur(12px);
   border-bottom: 1px solid #ded8cd
}

.add-head {
   height: 88px;
   display: flex;
   align-items: center;
   gap: 28px
}

.add-brand {
   font: 400 20px Georgia, serif;
   letter-spacing: .15em;
   text-transform: uppercase;
   margin-right: auto
}

.add-nav {
   display: flex;
   gap: 22px;
   align-items: center;
   font-size: 12px;
   text-transform: uppercase;
   letter-spacing: .12em
}

.add-nav a:hover {
   opacity: .55
}

.search-trigger {
   width: 42px;
   height: 42px;
   border: 1px solid #cfc7ba;
   background: transparent;
   border-radius: 50%;
   cursor: pointer;
   font-size: 19px
}

.add-hero {
   padding: 92px 0 72px;
   border-bottom: 1px solid #ded8cd
}

.add-hero-grid {
   display: grid;
   grid-template-columns: 1.05fr .95fr;
   gap: 64px;
   align-items: center
}

.add-eyebrow {
   text-transform: uppercase;
   letter-spacing: .2em;
   font-size: 11px;
   color: #8a755a
}

.add-display {
   font: 400 clamp(44px, 7vw, 88px)/.95 Georgia, serif;
   margin: .16em 0 .35em
}

.add-lead {
   font-size: 17px;
   color: #5f5b55;
   max-width: 680px
}

.add-hero-image {
   aspect-ratio: 1.35;
   overflow: hidden;
   background: #ddd
}

.add-hero-image img {
   width: 100%;
   height: 100%;
   object-fit: cover
}

.add-section {
   padding: 78px 0
}

.add-title {
   font: 400 clamp(34px, 4vw, 54px)/1 Georgia, serif;
   margin: 0 0 28px
}

.add-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 28px
}

.sculpt-card {
   background: #fff;
   border: 1px solid #e1dcd3;
   display: flex;
   flex-direction: column
}

.sculpt-card-media {
   aspect-ratio: 1.28;
   overflow: hidden;
   background: #ddd;
   position: relative
}

.sculpt-card-media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .35s ease
}

.sculpt-card:hover img {
   transform: scale(1.025)
}

.status-pill {
   position: absolute;
   top: 14px;
   left: 14px;
   background: #fff;
   padding: 6px 9px;
   font-size: 10px;
   letter-spacing: .14em;
   text-transform: uppercase
}

.sculpt-card-body {
   padding: 22px;
   display: flex;
   flex-direction: column;
   gap: 9px;
   height: 100%
}

.sculpt-card h3 {
   font: 400 27px/1.08 Georgia, serif;
   margin: 0
}

.card-meta {
   font-size: 12px;
   color: #7e766d
}

.card-summary {
   color: #615b53;
   font-size: 14px
}

.card-actions {
   display: flex;
   gap: 10px;
   flex-wrap: wrap;
   margin-top: auto;
   padding-top: 10px
}

.add-btn,
.add-btn-outline {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 42px;
   padding: 0 15px;
   border: 1px solid #191815;
   text-transform: uppercase;
   letter-spacing: .1em;
   font-size: 10px;
   cursor: pointer
}

.add-btn {
   background: #191815;
   color: #fff
}

.add-btn-outline {
   background: transparent;
   color: #191815
}

.filter-row {
   display: flex;
   gap: 9px;
   flex-wrap: wrap;
   margin-bottom: 30px
}

.filter-chip {
   border: 1px solid #cfc7ba;
   background: transparent;
   padding: 9px 13px;
   cursor: pointer;
   font-size: 11px;
   text-transform: uppercase;
   letter-spacing: .1em
}

.filter-chip.active {
   background: #191815;
   color: #fff;
   border-color: #191815
}

.detail-wrap {
   padding: 70px 0
}

.sculpt-detail {
   display: grid;
   grid-template-columns: 1.05fr .95fr;
   gap: 62px;
   align-items: start
}

.sculpt-detail-image {
   background: #ddd;
   aspect-ratio: 1.25;
   overflow: hidden
}

.sculpt-detail-image img {
   width: 100%;
   height: 100%;
   object-fit: cover
}

.detail-kv {
   display: grid;
   grid-template-columns: 120px 1fr;
   border-top: 1px solid #d9d2c8;
   margin-top: 28px
}

.detail-kv dt,
.detail-kv dd {
   margin: 0;
   padding: 11px 0;
   border-bottom: 1px solid #d9d2c8;
   font-size: 13px
}

.detail-kv dt {
   color: #80776b
}

.detail-kv dd {
   font-weight: 600
}

.process-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 28px
}

.process-card {
   display: grid;
   grid-template-columns: 180px 1fr;
   background: #fff;
   border: 1px solid #e1dcd3;
   min-height: 210px
}

.process-card img {
   width: 100%;
   height: 100%;
   object-fit: cover
}

.process-copy {
   padding: 26px
}

.process-num {
   font: 400 44px Georgia, serif;
   color: #b49a75
}

.process-copy h3 {
   font: 400 27px Georgia, serif;
   margin: 2px 0 10px
}

.form-card {
   background: #fff;
   padding: 34px;
   border: 1px solid #ddd5c9
}

.form-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 18px
}

.field {
   display: flex;
   flex-direction: column;
   gap: 7px
}

.field.full {
   grid-column: 1/-1
}

.field label {
   font-size: 11px;
   text-transform: uppercase;
   letter-spacing: .12em;
   color: #776f65
}

.field input,
.field select,
.field textarea {
   width: 100%;
   border: 1px solid #cfc7ba;
   background: #fff;
   padding: 12px 13px;
   outline: none
}

.field textarea {
   min-height: 150px;
   resize: vertical
}

.form-status {
   margin-top: 14px;
   font-size: 13px;
   color: #6c644f
}

.blog-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px
}

.blog-card {
   background: #fff;
   border-bottom: 1px solid #d8d0c4
}

.blog-card-media {
   aspect-ratio: 1.35;
   overflow: hidden
}

.blog-card img {
   width: 100%;
   height: 100%;
   object-fit: cover
}

.blog-card-copy {
   padding: 20px 3px 24px
}

.blog-card h3 {
   font: 400 25px/1.12 Georgia, serif;
   margin: 8px 0
}

.blog-card p {
   font-size: 13px;
   color: #686158
}

.blog-date {
   font-size: 10px;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: #907b5e
}

.article {
   max-width: 880px;
   margin: auto
}

.article-hero {
   aspect-ratio: 1.35;
   overflow: hidden;
   margin: 34px 0
}

.article-hero img {
   width: 100%;
   height: 100%;
   object-fit: cover
}

.article p {
   font: 400 18px/1.8 Georgia, serif;
   color: #433f39
}

.newsletter {
   background: #1b1a18;
   color: #eee;
   padding: 52px 0
}

.newsletter-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 40px;
   align-items: end
}

.newsletter h2 {
   font: 400 35px Georgia, serif;
   margin: 0
}

.newsletter-form {
   display: flex;
   gap: 9px
}

.newsletter-form input {
   flex: 1;
   min-width: 0;
   padding: 13px;
   border: 1px solid #655e54;
   background: #25231f;
   color: #fff
}

.newsletter-form button {
   padding: 0 18px;
   background: #fff;
   border: 1px solid #fff;
   color: #111;
   text-transform: uppercase;
   font-size: 10px;
   letter-spacing: .12em
}

.newsletter-status {
   font-size: 12px;
   color: #cfc4b2;
   margin-top: 8px
}

.add-footer {
   background: #0e0e0d;
   color: #aaa;
   padding: 42px 0 25px
}

.add-footer-row {
   display: flex;
   justify-content: space-between;
   gap: 30px
}

.add-footer a {
   color: #ddd;
   margin-left: 18px
}

.search-overlay {
   position: fixed;
   inset: 0;
   z-index: 200;
   background: rgba(12, 12, 11, .94);
   display: none;
   color: #fff;
   overflow: auto
}

.search-overlay.open {
   display: block
}

.search-panel {
   width: min(900px, calc(100% - 40px));
   margin: 8vh auto
}

.search-close {
   float: right;
   border: 1px solid #666;
   background: none;
   color: #fff;
   width: 42px;
   height: 42px;
   border-radius: 50%;
   font-size: 22px
}

.search-panel h2 {
   font: 400 48px Georgia, serif;
   margin: 0 0 24px
}

.site-search {
   width: 100%;
   font-size: 24px;
   padding: 16px;
   background: transparent;
   border: 0;
   border-bottom: 1px solid #777;
   color: #fff;
   outline: 0
}

.search-results {
   margin-top: 28px
}

.search-result {
   display: grid;
   grid-template-columns: 110px 1fr;
   gap: 18px;
   padding: 14px 0;
   border-bottom: 1px solid #333
}

.search-result img {
   width: 110px;
   height: 78px;
   object-fit: cover
}

.search-result h3 {
   font: 400 21px Georgia, serif;
   margin: 0 0 3px
}

.search-result small {
   color: #aaa
}

.enquiry-strip {
   background: #d8c7aa;
   padding: 42px 0
}

.enquiry-strip .container {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 30px
}

@media(max-width:900px) {
   .add-nav {
      display: none
   }

   .add-hero-grid,
   .sculpt-detail,
   .newsletter-row {
      grid-template-columns: 1fr
   }

   .add-grid,
   .blog-grid {
      grid-template-columns: repeat(2, 1fr)
   }

   .process-grid {
      grid-template-columns: 1fr
   }
}

@media(max-width:620px) {

   .add-grid,
   .blog-grid,
   .form-grid {
      grid-template-columns: 1fr
   }

   .process-card {
      grid-template-columns: 1fr
   }

   .process-card img {
      height: 230px
   }

   .newsletter-form,
   .enquiry-strip .container,
   .add-footer-row {
      display: flex;
      flex-direction: column;
      align-items: stretch
   }
}

/* Exact-index companion overrides */
.wf-search-btn {
   background: transparent;
   border: 0;
   color: inherit;
   font: inherit;
   font-size: 18px;
   cursor: pointer;
   padding: 5px
}

.add-body {
   background: #fff
}

.add-hero {
   padding: 82px 0;
   background: #f4f1eb;
   border: 0
}

.add-display,
.add-title,
.sculpt-card h3,
.blog-card h3,
.process-copy h3 {
   font-family: Georgia, serif;
   font-weight: 400
}

.add-display {
   font-size: clamp(42px, 6vw, 72px);
   line-height: 1.02
}

.add-lead {
   line-height: 1.75;
   color: #625d56
}

.add-section,
.detail-wrap {
   padding: 78px 0
}

.sculpt-card,
.process-card,
.form-card {
   background: #fff;
   border: 1px solid #e5dfd6;
   box-shadow: none
}

.sculpt-card-media,
.blog-card-media {
   aspect-ratio: 4/3
}

.add-btn,
.add-btn-outline,
.filter-chip {
   border-radius: 0
}

.add-btn {
   background: #171717;
   color: #fff;
   border-color: #171717
}

.add-btn-outline {
   background: transparent;
   color: #171717;
   border-color: #171717
}

.enquiry-strip {
   background: #f4f1eb
}

.newsletter {
   background: #171717;
   color: #fff;
   padding: 58px 0
}

.newsletter h2 {
   font-family: Georgia, serif;
   font-weight: 400
}

.newsletter-form input {
   background: #fff;
   color: #111
}
/* =========================================
   BLOG PAGE - CLEAN LAYOUT FIX
========================================= */

.add-body {
    background: #fff;
}

/* Journal intro */
.add-hero {
    background: #f5f2ec;
    padding: 75px 0 65px;
}

.add-hero .container {
    max-width: 1200px;
}

.add-eyebrow {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 12px;
    color: #777;
}

.add-display {
    font-family: Georgia, serif;
    font-size: 58px;
    font-weight: 400;
    line-height: 1;
    margin: 0 0 18px;
}

.add-lead {
    max-width: 650px;
    font-size: 16px;
    line-height: 1.7;
    color: #666;
}


/* BLOG AREA */

.add-section {
    padding: 75px 0 90px;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 45px 28px;
    align-items: start;
}


/* Individual card */

.blog-card {
    display: block;
    background: transparent;
    border: 0;
    margin: 0;
}


/* THIS IS THE IMPORTANT IMAGE FIX */

.blog-card-media {
    display: block;
    width: 100%;
    height: 280px;
    overflow: hidden;
    background: #eee;
    margin: 0 0 22px;
}

.blog-card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Blog text */

.blog-card-copy {
    padding: 0;
}

.blog-date {
    margin-bottom: 10px;
    font-size: 10px;
    letter-spacing: 1.8px;
    text-transform: uppercase;
    color: #888;
}

.blog-card h3 {
    margin: 0 0 12px;
    font-family: Georgia, serif;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 400;
}

.blog-card h3 a {
    color: #171717;
    text-decoration: none;
}

.blog-card p {
    margin: 0 0 18px;
    font-size: 14px;
    line-height: 1.65;
    color: #666;
}

.blog-card .add-btn-outline {
    display: inline-flex;
}