:root {
    --wf-forest: #6b4226;
    --wf-forest-deep: #17110d;
    --wf-sand: #eee7e1;
    --wf-clay: #8b5e3c;
    --wf-amber: #c99a6b;
    --wf-cream: #fbfaf8;
    --wf-ink: #17110d;
    --wf-muted: #6f625a;
    --wf-line: rgba(75, 48, 32, 0.14);
    --wf-shadow: 0 24px 80px rgba(24, 18, 14, 0.14);
    --wf-radius-xl: 32px;
    --wf-radius-lg: 24px;
    --wf-radius-md: 18px;
    --wf-transition: 0.35s ease;
}

/* Contact page */
.contact-hero { position: relative; min-height: 350px; display: flex; align-items: center; overflow: hidden; color: #fff; background: var(--wf-forest-deep); }
.contact-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(23,17,13,.98) 0%, rgba(107,66,38,.88) 56%, rgba(107,66,38,.45) 100%), url("images/hero-office-flooring.png") center/cover; }
.contact-hero__texture { position: absolute; width: 620px; height: 620px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; right: -120px; top: -250px; }
.contact-hero__texture::after { content: ""; position: absolute; inset: 65px; border: 1px solid rgba(255,255,255,.1); border-radius: inherit; }
.contact-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 4rem; align-items: end; padding-top: 3.25rem; padding-bottom: 3.25rem; }
.contact-kicker { display: inline-flex; align-items: center; gap: .65rem; color: var(--wf-amber); text-transform: uppercase; letter-spacing: .18em; font-size: .78rem; font-weight: 700; }
.contact-hero h1 { max-width: 830px; margin: .85rem 0 1rem; font: 600 clamp(3rem,5.5vw,5.6rem)/.86 "Cormorant Garamond",serif; letter-spacing: -.035em; }
.contact-hero p { max-width: 650px; margin: 0; color: rgba(255,255,255,.7); font-size: 1rem; line-height: 1.8; }
.contact-hero__badge { border-left: 1px solid rgba(255,255,255,.25); padding-left: 2rem; }
.contact-hero__badge span { display: block; margin-bottom: .75rem; color: var(--wf-amber); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
.contact-hero__badge strong { font: 600 1.9rem/1.05 "Cormorant Garamond",serif; }
.contact-hero__badge i { display: block; margin-top: 1.5rem; font-size: 1.8rem; color: var(--wf-amber); }
.contact-main { padding: 7rem 0; background: #fbfaf8; }
.contact-layout { display: grid; grid-template-columns: minmax(270px,.7fr) minmax(0,1.35fr); gap: clamp(2rem,5vw,6rem); align-items: start; }
.contact-info { position: sticky; top: 155px; padding-top: 1rem; }
.contact-kicker--dark { color: var(--wf-clay); }
.contact-info h2 { margin: 1.1rem 0 1rem; font: 600 clamp(2.6rem,4vw,4rem)/.95 "Cormorant Garamond",serif; color: var(--wf-forest-deep); }
.contact-info > p { color: var(--wf-muted); line-height: 1.75; }
.contact-info__list { margin-top: 2.5rem; border-top: 1px solid var(--wf-line); }
.contact-info__list > a, .contact-info__item { display: flex; align-items: center; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--wf-line); color: var(--wf-ink); }
.contact-info__list > a > span, .contact-info__item > span { display: grid; place-items: center; flex: 0 0 43px; height: 43px; border-radius: 50%; color: #fff; background: var(--wf-forest); }
.contact-info__list small, .contact-info__item small { display: block; margin-bottom: .18rem; color: var(--wf-muted); text-transform: uppercase; letter-spacing: .12em; font-size: .65rem; }
.contact-info__list strong, .contact-info__item strong { font-size: .9rem; font-weight: 700; }
.contact-info__hours { display: flex; gap: .8rem; margin-top: 1.6rem; color: var(--wf-clay); }
.contact-info__hours span { color: var(--wf-ink); font-size: .85rem; font-weight: 700; }
.contact-info__hours small { display: block; color: var(--wf-muted); font-weight: 500; }
.contact-form-card { padding: clamp(1.5rem,4vw,3.5rem); border: 1px solid rgba(107,66,38,.1); border-radius: 2px 40px 2px 2px; background: #fff; box-shadow: 0 35px 90px rgba(60,44,34,.1); }
.contact-form-card__head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--wf-line); }
.contact-form-card__head div { display: flex; align-items: baseline; gap: .8rem; }
.contact-form-card__head span { font: 600 2.7rem/1 "Cormorant Garamond",serif; color: var(--wf-clay); }
.contact-form-card__head small { font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.contact-form-card__head p { margin: 0; color: var(--wf-muted); font-size: .72rem; }
.contact-alert { display: flex; gap: .65rem; align-items: center; margin-bottom: 1.5rem; padding: 1rem 1.15rem; color: #6b4226; background: #f5eee8; border-radius: 10px; font-size: .88rem; font-weight: 700; }
.contact-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.7rem 1.5rem; }
.contact-field label { display: block; margin-bottom: .65rem; color: var(--wf-forest-deep); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-field input, .contact-field select, .contact-field textarea { width: 100%; border: 0; border-bottom: 1px solid rgba(23,17,13,.22); border-radius: 0; outline: 0; padding: .75rem 0 .9rem; color: var(--wf-ink); background: transparent; font: 500 .92rem "Manrope",sans-serif; transition: border-color .25s, box-shadow .25s; }
.contact-field textarea { resize: vertical; min-height: 125px; }
.contact-field input:focus, .contact-field select:focus, .contact-field textarea:focus { border-color: var(--wf-clay); box-shadow: 0 2px 0 var(--wf-clay); }
.contact-field input::placeholder, .contact-field textarea::placeholder { color: #9b8d84; }
.contact-select { position: relative; }
.contact-select select { appearance: none; padding-right: 2rem; }
.contact-select i { position: absolute; right: .25rem; top: .85rem; pointer-events: none; color: var(--wf-clay); }
.contact-field--full { grid-column: 1/-1; }
.contact-error { display: block; margin-top: .4rem; color: #6b2f1d; font-size: .72rem; }
.contact-form__footer { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; margin-top: .4rem; padding-top: 1.6rem; border-top: 1px solid var(--wf-line); }
.contact-form__footer p { max-width: 260px; margin: 0; color: var(--wf-muted); font-size: .72rem; line-height: 1.5; }
.contact-form__footer button { display: inline-flex; align-items: center; gap: 1rem; border: 0; border-radius: 999px; padding: .55rem .6rem .55rem 1.5rem; color: #fff; background: var(--wf-forest); font-weight: 700; transition: transform .25s, background .25s; }
.contact-form__footer button span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--wf-forest); background: var(--wf-amber); }
.contact-form__footer button:hover { transform: translateY(-2px); background: var(--wf-forest-deep); }

@media (max-width: 991.98px) {
    .contact-hero { min-height: 330px; }
    .contact-hero__inner { grid-template-columns: 1fr; gap: 2.5rem; padding: 3rem 2rem; }
    .contact-hero__badge { display: none; }
    .contact-hero h1 { max-width: 680px; font-size: clamp(3.4rem, 8vw, 5rem); }
    .contact-hero p { max-width: 620px; }
    .contact-main { padding: 5rem 0; }
    .contact-layout { grid-template-columns: 1fr; gap: 3.5rem; }
    .contact-info { position: static; }
    .contact-info > p { max-width: 680px; }
    .contact-info__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 0; gap: 1rem; }
    .contact-info__list > a, .contact-info__item { min-width: 0; align-items: flex-start; padding: 1.15rem; border: 1px solid var(--wf-line); border-radius: 14px; background: rgba(255,255,255,.55); }
    .contact-info__list strong, .contact-info__item strong { display: block; overflow-wrap: anywhere; }
    .contact-form-card { padding: 2.5rem; }
}

@media (max-width: 767.98px) {
    .contact-hero { min-height: 310px; }
    .contact-hero__inner { padding: 2.75rem 1.5rem; }
    .contact-hero h1 { font-size: clamp(3rem, 10vw, 4.25rem); }
    .contact-main { padding: 4rem 0; }
    .contact-main > .container { padding-right: 1.5rem; padding-left: 1.5rem; }
    .contact-info h2 { max-width: 580px; font-size: clamp(2.65rem, 8vw, 3.5rem); }
    .contact-info__list { grid-template-columns: 1fr; gap: .75rem; }
    .contact-info__list > a, .contact-info__item { align-items: center; }
    .contact-info__hours { padding-left: .25rem; }
    .contact-form-card { padding: 2rem; border-radius: 2px 32px 2px 2px; }
    .contact-form { gap: 1.5rem 1.25rem; }
    .contact-form-card__head { margin-bottom: 2rem; }
}

@media (max-width: 575.98px) {
    .contact-hero { min-height: 315px; }
    .contact-hero__inner { padding: 2.75rem 1.1rem; }
    .contact-hero h1 { margin: .75rem 0 .9rem; font-size: clamp(2.65rem,13vw,3.65rem); line-height: .9; }
    .contact-hero p { font-size: .88rem; line-height: 1.6; }
    .contact-kicker { font-size: .68rem; letter-spacing: .14em; }
    .contact-main { padding: 3.5rem 0; }
    .contact-main > .container { padding-right: 1rem; padding-left: 1rem; }
    .contact-layout { gap: 2.5rem; }
    .contact-info { padding-top: 0; }
    .contact-info h2 { font-size: 2.65rem; }
    .contact-info__list strong, .contact-info__item strong { overflow-wrap: anywhere; font-size: .82rem; }
    .contact-form-card { padding: 1.4rem 1.2rem; border-radius: 2px 28px 2px 2px; }
    .contact-form, .contact-form__footer { grid-template-columns: 1fr; }
    .contact-field { grid-column: 1/-1; }
    .contact-field input, .contact-field select, .contact-field textarea { min-height: 48px; font-size: 16px; }
    .contact-field textarea { min-height: 120px; }
    .contact-form__footer { display: grid; }
    .contact-form__footer button { justify-content: space-between; width: 100%; }
    .contact-form-card__head { align-items: center; }
    .contact-form-card__head span { font-size: 2.25rem; }
    .contact-form-card__head small { font-size: .68rem; }
    .contact-form-card__head p { display: none; }
    .contact-info__list > a, .contact-info__item { padding: 1rem; }
    .contact-info__list > a > span, .contact-info__item > span { flex-basis: 40px; height: 40px; }
    .contact-info__hours { align-items: flex-start; font-size: .85rem; }
}

/* Applications page */
.spaces-hero { position: relative; min-height: 390px; overflow: hidden; color: #fff; background: var(--wf-forest-deep); }
.spaces-hero__image { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(23,17,13,.92) 0%,rgba(23,17,13,.62) 50%,rgba(23,17,13,.25) 100%),url("images/hero-office-flooring.png") center/cover; transform: scale(1.01); }
.spaces-hero::after { content: ""; position: absolute; right: 8vw; top: 0; width: 1px; height: 100%; background: rgba(255,255,255,.16); }
.spaces-hero__inner { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; min-height: 390px; padding-top: 2.75rem; padding-bottom: 2.75rem; }
.spaces-kicker { display: inline-flex; align-items: center; gap: .65rem; color: var(--wf-amber); font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.spaces-hero h1 { margin: .8rem 0 1rem; font: 600 clamp(3.5rem,6vw,6rem)/.82 "Cormorant Garamond",serif; letter-spacing: -.04em; }
.spaces-hero h1 em { color: var(--wf-amber); font-weight: 500; }
.spaces-hero p { max-width: 540px; margin: 0; color: rgba(255,255,255,.74); font-size: 1rem; line-height: 1.75; }
.spaces-hero__inner > a { display: grid; place-items: center; width: 46px; height: 46px; margin-top: 1.35rem; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; }
.spaces-intro { padding: 7rem 0; background: #fff; }
.spaces-intro__grid { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(3rem,8vw,8rem); align-items: center; }
.spaces-kicker--dark { color: var(--wf-clay); }
.spaces-intro h2 { max-width: 650px; margin: 1rem 0 0; font: 600 clamp(3rem,5vw,5.2rem)/.9 "Cormorant Garamond",serif; color: var(--wf-forest-deep); }
.spaces-intro__grid > div > p { color: var(--wf-muted); line-height: 1.85; }
.spaces-intro__facts { display: flex; gap: 2rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--wf-line); }
.spaces-intro__facts span { color: var(--wf-muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.spaces-intro__facts strong { display: block; margin-bottom: .25rem; color: var(--wf-clay); font: 600 2rem "Cormorant Garamond",serif; }
.spaces-catalogue { padding: 6rem 0 8rem; background: #f3ede5; }
.spaces-catalogue__head { display: flex; justify-content: space-between; margin-bottom: 5rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--wf-line); color: var(--wf-forest); font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.spaces-catalogue__head p { margin: 0; color: var(--wf-muted); }
.spaces-list { display: flex; flex-direction: column; gap: 5rem; }
.space-entry { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.space-entry--reverse { grid-template-columns: minmax(320px,.85fr) minmax(0,1.15fr); }
.space-entry--reverse .space-entry__media { order: 2; }
.space-entry--reverse .space-entry__content { order: 1; }
.space-entry__media { position: relative; display: block; height: 375px; overflow: hidden; background: var(--wf-sand); }
.space-entry__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 60%,rgba(23,17,13,.75)); opacity: .75; transition: opacity .35s; }
.space-entry__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.space-entry__media:hover img { transform: scale(1.04); }
.space-entry__media > span { position: absolute; z-index: 2; top: 1.3rem; left: 1.3rem; display: grid; place-items: center; width: 52px; height: 52px; color: #fff; background: var(--wf-clay); font: 600 1.25rem "Cormorant Garamond",serif; }
.space-entry__media > div { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.5rem; color: #fff; font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.space-entry__media > div i { margin-left: .7rem; }
.space-entry__eyebrow { color: var(--wf-clay); font-size: .7rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.space-entry__content h2 { margin: .55rem 0 .85rem; font: 600 clamp(3rem,5vw,4.8rem)/.84 "Cormorant Garamond",serif; color: var(--wf-forest-deep); letter-spacing: -.035em; }
.space-entry__content > p { max-width: 510px; color: var(--wf-muted); line-height: 1.85; }
.space-entry__products { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.35rem; }
.space-entry__products small { flex-basis: 100%; margin-bottom: .3rem; color: var(--wf-muted); font-size: .64rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.space-entry__products span { padding: .55rem .75rem; border: 1px solid rgba(107,66,38,.15); border-radius: 999px; color: var(--wf-forest); background: rgba(255,255,255,.45); font-size: .68rem; font-weight: 700; }
.space-entry__link { display: inline-flex; align-items: center; gap: 1rem; margin-top: 1.35rem; padding-bottom: .4rem; border-bottom: 1px solid var(--wf-forest); color: var(--wf-forest); font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.space-entry__link i { transition: transform .25s; }
.space-entry__link:hover i { transform: translateX(5px); }
.spaces-guide { padding: 3rem 0; background: #f3ede5; }
.spaces-guide__inner { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr .65fr auto; gap: clamp(2rem,4vw,4rem); align-items: center; padding: 2.75rem 3rem; border-radius: 3px 38px 3px 3px; color: #fff; background: linear-gradient(110deg,var(--wf-forest-deep),var(--wf-forest)); }
.spaces-guide__inner::after { content: ""; position: absolute; right: -75px; top: -110px; width: 250px; height: 250px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; pointer-events: none; }
.spaces-guide h2 { max-width: 530px; margin: .6rem 0 0; font: 600 clamp(2.4rem,4vw,3.7rem)/.9 "Cormorant Garamond",serif; }
.spaces-guide__inner > p { margin: 0; color: rgba(255,255,255,.65); line-height: 1.8; }
.spaces-guide__inner > a { display: inline-flex; align-items: center; gap: 1rem; white-space: nowrap; color: #fff; font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.spaces-guide__inner > a span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; color: var(--wf-forest-deep); background: var(--wf-amber); transition: transform .25s; }
.spaces-guide__inner > a:hover span { transform: rotate(45deg); }

@media (max-width: 1199.98px) {
    .spaces-hero__inner, .spaces-catalogue > .container { max-width: 100%; padding-right: 2.5rem; padding-left: 2.5rem; }
    .space-entry, .space-entry--reverse { gap: 3.5rem; }
    .space-entry__content h2 { font-size: clamp(3rem,5vw,4.3rem); }
    .space-entry__content > p { font-size: .92rem; }
}

@media (max-width: 991.98px) {
    .spaces-hero, .spaces-hero__inner { min-height: 360px; }
    .spaces-hero__inner { padding-right: 2rem; padding-left: 2rem; }
    .spaces-hero h1 { font-size: clamp(3.8rem,8vw,5rem); }
    .spaces-hero p { max-width: 500px; }
    .spaces-intro { padding: 5rem 0; }
    .spaces-intro__grid { gap: 3rem; padding-right: 2rem; padding-left: 2rem; }
    .space-entry, .space-entry--reverse { grid-template-columns: 1.05fr .95fr; gap: 3rem; }
    .space-entry__media { height: 340px; }
    .space-entry__media > div { right: 1rem; bottom: 1rem; }
    .space-entry__content h2 { font-size: 3.55rem; }
    .space-entry__content > p { font-size: .87rem; line-height: 1.7; }
    .space-entry__products span { padding: .48rem .62rem; font-size: .62rem; }
    .spaces-guide__inner { grid-template-columns: 1fr 1fr; margin-right: 2rem; margin-left: 2rem; padding: 2.5rem; }
    .spaces-guide__inner > a { grid-column: 1/-1; }
}
@media (max-width: 767.98px) {
    .spaces-hero, .spaces-hero__inner { min-height: 335px; }
    .spaces-hero__inner { padding-right: 1.5rem; padding-left: 1.5rem; }
    .spaces-hero h1 { font-size: clamp(4rem,15vw,6rem); }
    .spaces-intro__grid { grid-template-columns: 1fr; padding-right: 1.5rem; padding-left: 1.5rem; }
    .spaces-intro__facts { justify-content: space-between; }
    .spaces-catalogue { padding: 4rem 0 5rem; }
    .spaces-catalogue > .container { max-width: 100%; padding-right: 1.5rem; padding-left: 1.5rem; }
    .spaces-catalogue__head { margin-bottom: 3.5rem; }
    .spaces-list { gap: 4rem; }
    .space-entry, .space-entry--reverse { grid-template-columns: 1fr; gap: 2rem; }
    .space-entry--reverse .space-entry__media, .space-entry--reverse .space-entry__content { order: initial; }
    .space-entry__media { height: 320px; }
    .space-entry__content h2 { font-size: clamp(3.5rem,12vw,5rem); }
    .space-entry__content { max-width: 650px; }
    .space-entry__content > p, .space-entry__products { max-width: 620px; }
    .spaces-guide { padding: 2.5rem 0; }
    .spaces-guide__inner { grid-template-columns: 1fr; gap: 1.4rem; margin-right: 1.5rem; margin-left: 1.5rem; padding: 2.2rem; }
    .spaces-guide__inner > a { grid-column: auto; }
}
@media (max-width: 575.98px) {
    .spaces-hero, .spaces-hero__inner { min-height: 310px; }
    .spaces-hero__inner { padding-right: 1rem; padding-left: 1rem; }
    .spaces-hero h1 { font-size: 3.25rem; }
    .spaces-hero p { font-size: .88rem; }
    .spaces-hero__inner > a { width: 42px; height: 42px; margin-top: 1rem; }
    .spaces-intro { padding: 4rem 0; }
    .spaces-intro__grid { gap: 2rem; padding-right: 1rem; padding-left: 1rem; }
    .spaces-intro h2 { font-size: 3rem; }
    .spaces-intro__facts { gap: .7rem; }
    .spaces-intro__facts strong { font-size: 1.7rem; }
    .spaces-intro__facts span { font-size: .58rem; }
    .spaces-catalogue > .container { padding-right: 1rem; padding-left: 1rem; }
    .spaces-catalogue__head p { display: none; }
    .spaces-list { gap: 3.5rem; }
    .space-entry__media { height: 250px; }
    .space-entry__media > span { width: 45px; height: 45px; }
    .space-entry__content h2 { font-size: 3rem; }
    .space-entry__content > p { font-size: .88rem; line-height: 1.75; }
    .space-entry__products { gap: .4rem; margin-top: 1.15rem; }
    .space-entry__products span { max-width: 100%; white-space: normal; }
    .space-entry__link { margin-top: 1.2rem; }
    .spaces-guide__inner { margin-right: 1rem; margin-left: 1rem; padding: 1.8rem 1.35rem; border-radius: 3px 28px 3px 3px; }
    .spaces-guide h2 { font-size: 2.55rem; }
    .spaces-guide__inner > p { font-size: .85rem; line-height: 1.65; }
    .spaces-guide__inner > a { justify-content: space-between; width: 100%; }
}

@media (max-width: 399.98px) {
    .spaces-hero, .spaces-hero__inner { min-height: 290px; }
    .spaces-hero h1 { font-size: 2.8rem; }
    .spaces-hero p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .spaces-kicker { font-size: .62rem; letter-spacing: .12em; }
    .spaces-catalogue { padding-top: 3rem; }
    .spaces-catalogue__head { margin-bottom: 2.5rem; }
    .space-entry__media { height: 220px; }
    .space-entry__media > span { top: .8rem; left: .8rem; width: 40px; height: 40px; }
    .space-entry__media > div { font-size: .64rem; }
    .space-entry__content h2 { font-size: 2.65rem; }
    .space-entry__products span { font-size: .59rem; }
    .spaces-guide h2 { font-size: 2.25rem; }
}

+/* Product shop */
.shop-hero { position:relative; z-index:1; overflow:hidden; width:100%; min-height:340px; color:#fff; background-color:var(--wf-forest-deep); background-position:center 58%; background-size:cover; background-repeat:no-repeat; }
.shop-hero__inner { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:3rem; align-items:center; min-height:340px; padding-top:2.25rem; padding-bottom:2.25rem; box-sizing:border-box; }
.shop-kicker { display:inline-flex; align-items:center; gap:.65rem; color:var(--wf-amber); font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.shop-hero h1 { max-width:760px; margin:.65rem 0 .8rem; color:#fff; font:600 clamp(3.25rem,5vw,4.9rem)/.82 "Cormorant Garamond",serif; letter-spacing:-.04em; }
.shop-hero h1 em { color:var(--wf-amber); font-weight:500; }
.shop-hero p { max-width:560px; margin:0; color:rgba(255,255,255,.72); line-height:1.75; }
.shop-hero__offer { padding-left:2rem; border-left:1px solid rgba(255,255,255,.25); }
.shop-hero__offer small { color:var(--wf-amber); font-size:.66rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.shop-hero__offer strong { display:block; margin:.6rem 0 1rem; color:#fff; font:600 2.05rem/1 "Cormorant Garamond",serif; }
.shop-hero__offer a { color:#fff; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.shop-hero__offer a i { margin-left:.5rem; color:var(--wf-amber); }
.shop-category-strip { position:relative; z-index:2; background:#fff; box-shadow:0 14px 35px rgba(23,17,13,.07); }
.shop-category-strip .container { display:flex; justify-content:center; gap:clamp(1rem,4vw,4rem); }
.shop-category-strip button { display:flex; align-items:center; gap:.7rem; border:0; border-bottom:2px solid transparent; padding:1.25rem .3rem; color:var(--wf-muted); background:transparent; font-size:.72rem; font-weight:800; white-space:nowrap; }
.shop-category-strip button > span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--wf-cream); }
.shop-category-strip button:hover,.shop-category-strip button.is-active { border-color:var(--wf-clay); color:var(--wf-forest); }
.shop-category-strip button.is-active > span { color:#fff; background:var(--wf-forest); }
.shop-catalogue { position:relative; z-index:2; padding:5rem 0 6rem; background:var(--wf-cream); }
.shop-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:3rem; align-items:start; }
.shop-sidebar { position:sticky; top:145px; }
.shop-sidebar__head { margin-bottom:1.4rem; padding-bottom:1rem; border-bottom:1px solid var(--wf-line); }
.shop-sidebar__head > span { color:var(--wf-clay); font-size:.64rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.shop-sidebar__head h2 { margin:.35rem 0 0; font:600 2.25rem/1 "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.shop-sidebar__categories { display:flex; flex-direction:column; }
.shop-sidebar__categories button { display:flex; justify-content:space-between; align-items:center; gap:.75rem; border:0; border-bottom:1px solid var(--wf-line); padding:.9rem .25rem; color:var(--wf-muted); background:transparent; font-size:.73rem; font-weight:700; text-align:left; transition:.25s; }
.shop-sidebar__categories button > span { display:flex; align-items:center; gap:.65rem; }
.shop-sidebar__categories button i { width:18px; color:var(--wf-clay); }
.shop-sidebar__categories button small { color:#9b8d84; font-size:.62rem; }
.shop-sidebar__categories button:hover,.shop-sidebar__categories button.is-active { padding-left:.55rem; color:#fff; background:var(--wf-forest); }
.shop-sidebar__categories button:hover i,.shop-sidebar__categories button.is-active i,.shop-sidebar__categories button:hover small,.shop-sidebar__categories button.is-active small { color:var(--wf-amber); }
.shop-sidebar__help { margin-top:2rem; padding:1.35rem; color:#fff; background:var(--wf-forest-deep); }
.shop-sidebar__help > i { color:var(--wf-amber); font-size:1.25rem; }
.shop-sidebar__help strong { display:block; margin:.7rem 0 .4rem; font:600 1.4rem "Cormorant Garamond",serif; }
.shop-sidebar__help p { color:rgba(255,255,255,.6); font-size:.68rem; line-height:1.55; }
.shop-sidebar__help a { color:var(--wf-amber); font-size:.65rem; font-weight:800; text-transform:uppercase; }
.shop-results { min-width:0; }
.shop-toolbar { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2.5rem; padding-bottom:1.2rem; border-bottom:1px solid var(--wf-line); }
.shop-toolbar > div:first-child > span { display:block; color:var(--wf-clay); font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.shop-toolbar > div:first-child > strong { display:block; margin-top:.35rem; font:600 1.8rem "Cormorant Garamond",serif; }
.shop-toolbar > div:first-child b { font-weight:600; }
.shop-toolbar__actions { display:flex; align-items:center; gap:.7rem; }
.shop-search { display:flex; align-items:center; gap:.55rem; width:210px; border:1px solid var(--wf-line); padding:.72rem .9rem; background:#fff; }
.shop-search input { min-width:0; width:100%; border:0; outline:0; background:transparent; font-size:.78rem; }
.shop-sort { position:relative; display:flex; align-items:center; gap:.35rem; border:1px solid var(--wf-line); padding:.72rem 2.1rem .72rem .9rem; background:#fff; font-size:.72rem; }
.shop-sort span { color:var(--wf-muted); }
.shop-sort select { appearance:none; border:0; outline:0; background:transparent; font-size:.72rem; font-weight:700; }
.shop-sort > i { position:absolute; right:.8rem; pointer-events:none; }
.shop-bag { position:relative; display:grid; place-items:center; width:43px; height:43px; border:0; color:#fff; background:var(--wf-forest); }
.shop-bag span { position:absolute; top:-7px; right:-7px; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#fff; background:var(--wf-clay); font-size:.62rem; font-weight:800; }
.product-shop-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem 1.5rem; }
.product-shop-card { min-width:0; background:#fff; transition:transform .3s,box-shadow .3s; }
.product-shop-card:hover { transform:translateY(-5px); box-shadow:0 22px 50px rgba(23,17,13,.1); }
.product-shop-card[hidden] { display:none; }
.product-shop-card__media { position:relative; height:330px; overflow:hidden; background:var(--wf-sand); }
.product-shop-card__media::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(23,17,13,.45)); opacity:0; transition:opacity .3s; }
.product-shop-card:hover .product-shop-card__media::after { opacity:1; }
.product-shop-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.product-shop-card:hover .product-shop-card__media img { transform:scale(1.035); }
.product-shop-card__badge { position:absolute; z-index:2; top:1rem; left:1rem; padding:.48rem .65rem; color:#fff; background:var(--wf-clay); font-size:.6rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.product-shop-card__wish { position:absolute; z-index:3; top:1rem; right:1rem; display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:50%; color:var(--wf-forest); background:rgba(255,255,255,.92); }
.product-shop-card__wish.is-active { color:#6b4226; }
.product-shop-card__quick { position:absolute; z-index:3; right:1rem; bottom:1rem; left:1rem; border:0; padding:.8rem; color:var(--wf-forest); background:#fff; font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; transform:translateY(70px); transition:transform .3s; }
.product-shop-card:hover .product-shop-card__quick,.product-shop-card__quick.is-added { transform:translateY(0); }
.product-shop-card__quick.is-added { color:#fff; background:var(--wf-forest); }
.product-shop-card__body { padding:1.3rem; }
.product-shop-card__meta { display:flex; justify-content:space-between; gap:1rem; color:var(--wf-clay); font-size:.62rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.product-shop-card__meta small { color:var(--wf-muted); }
.product-shop-card__meta i { color:#8b5e3c; }
.product-shop-card h2 { margin:.65rem 0 1rem; font:600 2rem/1 "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.product-shop-card__bottom { display:flex; justify-content:space-between; align-items:end; gap:1rem; padding-top:1rem; border-top:1px solid var(--wf-line); }
.product-price strong { font-size:1rem; }
.product-price del { margin-left:.35rem; color:#9b8d84; font-size:.72rem; }
.product-price small { display:block; color:var(--wf-muted); font-size:.58rem; }
.product-swatches { display:flex; gap:.3rem; }
.product-swatches span { width:17px; height:17px; border:2px solid #fff; border-radius:50%; background:var(--colour); box-shadow:0 0 0 1px rgba(23,17,13,.16); }
.shop-no-results { display:none; padding:5rem 1rem; text-align:center; color:var(--wf-muted); }
.shop-no-results.is-visible { display:block; }
.shop-no-results > i { font-size:2rem; color:var(--wf-clay); }
.shop-no-results h3 { margin:1rem 0 .3rem; font:600 2.5rem "Cormorant Garamond",serif; color:var(--wf-forest); }
.shop-service { padding:2.2rem 0; color:#fff; background:var(--wf-forest-deep); }
.shop-service__grid { display:grid; grid-template-columns:repeat(3,1fr) auto; align-items:center; gap:2rem; }
.shop-service__grid > div { display:flex; align-items:center; gap:.85rem; }
.shop-service__grid > div > i { color:var(--wf-amber); font-size:1.35rem; }
.shop-service__grid span { color:rgba(255,255,255,.58); font-size:.65rem; }
.shop-service__grid strong { display:block; color:#fff; font-size:.74rem; }
.shop-service__grid > a { padding:.8rem 1rem; color:var(--wf-forest); background:var(--wf-amber); font-size:.68rem; font-weight:800; text-transform:uppercase; }

@media (max-width:1199.98px) {
 .shop-hero__inner { max-width:100%; padding-right:2.5rem; padding-left:2.5rem; }
 .shop-layout { max-width:100%; grid-template-columns:200px minmax(0,1fr); gap:2.25rem; padding-right:2.5rem; padding-left:2.5rem; }
 .product-shop-grid { gap:1.5rem 1.1rem; }
 .product-shop-card__media { height:285px; }
 .shop-toolbar__actions { min-width:0; }
 .shop-search { width:190px; }
 .shop-sort { max-width:210px; }
}

@media (max-width:991.98px) {
 .shop-hero,.shop-hero__inner { min-height:320px; }
 .shop-hero__inner { grid-template-columns:1fr 210px; padding:2.25rem 2rem; }
 .shop-layout { grid-template-columns:1fr; gap:2rem; }
 .shop-sidebar { position:static; min-width:0; }
 .shop-sidebar__head,.shop-sidebar__help { display:none; }
 .shop-sidebar__categories { flex-direction:row; gap:.55rem; width:100%; padding-bottom:.4rem; overflow-x:auto; }
 .shop-sidebar__categories button { flex:0 0 auto; border:1px solid var(--wf-line); border-radius:999px; padding:.7rem .9rem; background:#fff; white-space:nowrap; }
 .shop-sidebar__categories button:hover,.shop-sidebar__categories button.is-active { padding-left:.9rem; }
 .shop-sidebar__categories button small { display:none; }
 .shop-catalogue > .container { padding-right:2rem; padding-left:2rem; }
 .shop-toolbar { padding-right:0; padding-left:0; }
 .product-shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
 .product-shop-card__media { height:320px; }
 .shop-service__grid { grid-template-columns:repeat(3,1fr); padding:0 2rem; }
 .shop-service__grid > a { grid-column:1/-1; justify-self:start; }
}
@media (max-width:767.98px) {
 .shop-hero,.shop-hero__inner { min-height:300px; }
 .shop-hero__inner { grid-template-columns:1fr; padding:2.2rem 1.5rem; }
 .shop-hero__offer { display:none; }
 .shop-catalogue { padding-top:3.5rem; }
 .shop-toolbar { align-items:flex-start; flex-direction:column; }
 .shop-toolbar__actions { width:100%; }
 .shop-search { flex:1; width:auto; }
 .shop-sort { max-width:none; }
 .product-shop-card__media { height:290px; }
 .shop-service__grid { grid-template-columns:1fr 1fr; }
 .shop-service__grid > a { grid-column:1/-1; }
}
@media (max-width:575.98px) {
 .shop-hero,.shop-hero__inner { min-height:285px; }
 .shop-hero__inner { padding:2rem 1rem; }
 .shop-hero h1 { font-size:3rem; }
 .shop-hero p { font-size:.87rem; }
 .shop-catalogue { padding:3rem 0 4rem; }
 .shop-catalogue > .container { padding-right:1rem; padding-left:1rem; }
 .shop-toolbar { padding-right:0; padding-left:0; }
 .shop-toolbar__actions { display:grid; grid-template-columns:1fr auto; }
 .shop-search { grid-column:1/-1; min-height:46px; }
 .shop-search input { font-size:16px; }
 .shop-sort { min-width:0; }
 .shop-sort span { display:none; }
 .product-shop-grid { grid-template-columns:1fr; gap:1.5rem; padding:0; }
 .product-shop-card__media { height:285px; }
 .product-shop-card__quick { transform:translateY(0); }
 .product-shop-card__body { padding:1.15rem; }
 .product-shop-card h2 { font-size:1.85rem; }
 .shop-service__grid { grid-template-columns:1fr; padding:0 1rem; }
 .shop-service__grid > a { grid-column:auto; text-align:center; }
}

@media (max-width:399.98px) {
 .shop-hero,.shop-hero__inner { min-height:265px; }
 .shop-hero__inner { padding:1.75rem .9rem; }
 .shop-hero h1 { font-size:2.65rem; }
 .shop-hero p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.55; }
 .shop-kicker { font-size:.62rem; letter-spacing:.12em; }
 .shop-sidebar__categories { margin-right:-.9rem; width:calc(100% + .9rem); }
 .shop-sidebar__categories button { padding:.62rem .75rem; font-size:.66rem; }
 .shop-sidebar__categories button:hover,.shop-sidebar__categories button.is-active { padding-left:.75rem; }
 .shop-toolbar > div:first-child > strong { font-size:1.55rem; }
 .shop-sort { max-width:225px; padding-right:1.8rem; padding-left:.7rem; }
 .shop-sort select { max-width:170px; }
 .product-shop-card__media { height:245px; }
 .product-shop-card__badge { top:.75rem; left:.75rem; }
 .product-shop-card__wish { top:.75rem; right:.75rem; }
 .product-shop-card__quick { right:.75rem; bottom:.75rem; left:.75rem; }
 .product-shop-card__bottom { align-items:flex-start; flex-direction:column; }
 .shop-service { padding:1.8rem 0; }
}

@media (hover:none) {
 .product-shop-card__quick { transform:translateY(0); }
 .product-shop-card:hover { transform:none; }
}


+/* About page */
.about-hero { color:#fff; background-color:var(--wf-forest-deep); background-position:center; background-size:cover; }
.about-hero__inner { display:flex; flex-direction:column; justify-content:center; min-height:390px; padding-top:3rem; padding-bottom:3rem; }
.about-page-kicker { display:inline-flex; align-items:center; gap:.65rem; color:var(--wf-amber); font-size:.7rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.about-page-kicker--dark { color:var(--wf-clay); }
.about-hero h1 { max-width:950px; margin:.85rem 0 1rem; color:#fff; font:600 clamp(3.5rem,6vw,6rem)/.82 "Cormorant Garamond",serif; letter-spacing:-.04em; }
.about-hero h1 em { color:var(--wf-amber); font-weight:500; }
.about-hero p { max-width:570px; margin:0; color:rgba(255,255,255,.72); line-height:1.75; }
.about-story { padding:7rem 0; background:#fff; }
.about-story__grid { display:grid; grid-template-columns:1fr .75fr; gap:clamp(3rem,8vw,8rem); align-items:start; }
.about-story__heading h2 { max-width:680px; margin:1rem 0 0; font:600 clamp(3.3rem,5vw,5.2rem)/.88 "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.about-story__copy p { color:var(--wf-muted); line-height:1.85; }
.about-story__copy a { display:inline-flex; gap:.75rem; align-items:center; margin-top:1rem; padding-bottom:.35rem; border-bottom:1px solid var(--wf-forest); color:var(--wf-forest); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.about-story__visual { position:relative; height:500px; margin-top:5rem; overflow:hidden; }
.about-story__visual::after { content:""; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(23,17,13,.75)); }
.about-story__visual img { width:100%; height:100%; object-fit:cover; }
.about-story__visual > div { position:absolute; z-index:1; left:3rem; bottom:2.5rem; color:#fff; }
.about-story__visual span { display:block; color:var(--wf-amber); font-size:.67rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.about-story__visual strong { display:block; margin-top:.55rem; color:#fff; font:600 2.6rem/1 "Cormorant Garamond",serif; }
.about-numbers { padding:3.5rem 0; color:#fff; background:var(--wf-forest-deep); }
.about-numbers__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.about-numbers__grid > div { display:flex; align-items:center; gap:1rem; padding:0 2rem; border-right:1px solid rgba(255,255,255,.14); }
.about-numbers__grid > div:first-child { padding-left:0; }
.about-numbers__grid > div:last-child { border-right:0; }
.about-numbers strong { color:var(--wf-amber); font:600 3.4rem "Cormorant Garamond",serif; }
.about-numbers span { color:rgba(255,255,255,.65); font-size:.68rem; line-height:1.5; text-transform:uppercase; letter-spacing:.06em; }
.about-brand-story { padding:7rem 0; background:#f3ede5; }
.about-vision { display:grid; grid-template-columns:80px 1fr .65fr; gap:clamp(2rem,5vw,5rem); align-items:start; padding-bottom:5rem; border-bottom:1px solid var(--wf-line); }
.about-brand-story__number { color:var(--wf-clay); font:600 2rem "Cormorant Garamond",serif; }
.about-vision h2 { max-width:720px; margin:.9rem 0 0; font:600 clamp(3rem,5vw,5rem)/.88 "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.about-vision > p { margin-top:2.2rem; color:var(--wf-muted); line-height:1.85; }
.about-purpose-card { display:grid; grid-template-columns:1fr 1fr; min-height:520px; margin:5rem 0; overflow:hidden; color:#fff; background:var(--wf-forest); }
.about-purpose-card__image { min-height:470px; }
.about-purpose-card__image img { width:100%; height:100%; object-fit:cover; }
.about-purpose-card__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2.5rem,5vw,5rem); }
.about-purpose-card__copy .about-brand-story__number { color:var(--wf-amber); }
.about-purpose-card__copy > .about-page-kicker { margin-top:2rem; }
.about-purpose-card__copy h2 { margin:.8rem 0 1rem; color:#fff; font:600 clamp(2.8rem,4.5vw,4.5rem)/.88 "Cormorant Garamond",serif; }
.about-purpose-card__copy p { color:rgba(255,255,255,.68); line-height:1.8; }
.about-purpose-card__copy > div:last-child { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.2rem; }
.about-purpose-card__copy > div:last-child span { padding:.5rem .7rem; border:1px solid rgba(255,255,255,.2); border-radius:999px; color:rgba(255,255,255,.82); font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.about-company-journey { padding-top:1rem; }
.about-company-journey__head { display:flex; justify-content:space-between; align-items:end; gap:3rem; margin-bottom:4rem; }
.about-company-journey__head h2 { max-width:690px; margin:.9rem 0 0; font:600 clamp(3rem,5vw,4.8rem)/.88 "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.about-company-journey__head > p { max-width:320px; margin:0; color:var(--wf-muted); line-height:1.75; }
.about-company-timeline { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.about-company-timeline::before { content:""; position:absolute; top:45px; right:0; left:0; height:1px; background:rgba(107,66,38,.2); }
.about-company-timeline > div { position:relative; }
.about-company-timeline time { display:block; margin-bottom:1.15rem; color:var(--wf-clay); font-size:.65rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.about-company-timeline span { position:relative; z-index:1; display:block; width:15px; height:15px; margin-bottom:1.5rem; border:4px solid #f3ede5; border-radius:50%; background:var(--wf-forest); box-shadow:0 0 0 1px var(--wf-forest); }
.about-company-timeline strong { display:block; margin-bottom:.65rem; font:600 1.7rem "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.about-company-timeline p { max-width:250px; color:var(--wf-muted); font-size:.78rem; line-height:1.7; }
.about-purpose { padding:7rem 0; background:var(--wf-cream); }
.about-purpose__head { display:grid; grid-template-columns:1fr .5fr; gap:2rem; align-items:end; margin-bottom:3.5rem; }
.about-purpose__head > span { grid-column:1/-1; }
.about-purpose__head h2 { margin:0; font:600 clamp(3.2rem,5vw,5rem)/.88 "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.about-purpose__head p { margin:0; color:var(--wf-muted); line-height:1.75; }
.about-values { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--wf-line); border-left:1px solid var(--wf-line); }
.about-values article { position:relative; min-height:330px; padding:2rem 1.5rem; border-right:1px solid var(--wf-line); border-bottom:1px solid var(--wf-line); background:#fff; transition:background .3s,transform .3s; }
.about-values article:hover { z-index:1; color:#fff; background:var(--wf-forest); transform:translateY(-6px); }
.about-values article > span { color:var(--wf-clay); font:600 1.2rem "Cormorant Garamond",serif; }
.about-values article > i { display:block; margin:3.5rem 0 1.3rem; color:var(--wf-clay); font-size:1.7rem; }
.about-values h3 { margin:0 0 .8rem; font:600 1.8rem/1 "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.about-values p { color:var(--wf-muted); font-size:.82rem; line-height:1.7; }
.about-values article:hover h3,.about-values article:hover p { color:#fff; }
.about-craft { padding:7rem 0; color:#fff; background:var(--wf-forest); }
.about-craft__grid { display:grid; grid-template-columns:1fr .85fr; gap:clamp(3rem,7vw,7rem); align-items:center; }
.about-craft__images { position:relative; height:540px; }
.about-craft__images > div:first-child { position:absolute; inset:0 20% 12% 0; }
.about-craft__images > div:last-child { position:absolute; right:0; bottom:0; width:45%; height:48%; border:8px solid var(--wf-forest); }
.about-craft__images img { width:100%; height:100%; object-fit:cover; }
.about-craft__copy h2 { margin:.9rem 0 1rem; color:#fff; font:600 clamp(3rem,5vw,4.8rem)/.88 "Cormorant Garamond",serif; }
.about-craft__copy > p { color:rgba(255,255,255,.68); line-height:1.8; }
.about-craft__copy ul { margin:1.7rem 0 2rem; padding:0; list-style:none; }
.about-craft__copy li { display:flex; gap:.7rem; margin:.75rem 0; color:rgba(255,255,255,.8); font-size:.8rem; }
.about-craft__copy li i { color:var(--wf-amber); }
.about-craft__copy > a { display:inline-flex; gap:.7rem; align-items:center; color:var(--wf-amber); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.about-journey { padding:7rem 0; background:#fff; }
.about-journey__head { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:4rem; }
.about-journey__head h2 { max-width:650px; margin:0; font:600 clamp(3.2rem,5vw,5rem)/.88 "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.about-steps { display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.about-steps::before { content:""; position:absolute; top:18px; right:0; left:0; height:1px; background:var(--wf-line); }
.about-steps > div { position:relative; padding-right:2rem; }
.about-steps span { position:relative; z-index:1; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:#fff; background:var(--wf-clay); font-size:.62rem; font-weight:800; }
.about-steps strong { display:block; margin:1.5rem 0 .65rem; font:600 2rem "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.about-steps p { max-width:235px; color:var(--wf-muted); font-size:.8rem; line-height:1.7; }
.about-page-cta { padding:0 0 6rem; background:#fff; }
.about-page-cta__inner { display:flex; justify-content:space-between; align-items:center; gap:3rem; padding:3.5rem 4rem; color:#fff; background:linear-gradient(105deg,var(--wf-forest-deep),var(--wf-forest)); }
.about-page-cta__inner span { color:var(--wf-amber); font-size:.67rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.about-page-cta h2 { max-width:680px; margin:.7rem 0 0; color:#fff; font:600 clamp(2.7rem,4vw,4rem)/.9 "Cormorant Garamond",serif; }
.about-page-cta a { flex:0 0 auto; padding:1rem 1.2rem; color:var(--wf-forest); background:var(--wf-amber); font-size:.7rem; font-weight:800; text-transform:uppercase; }

@media (max-width:1199.98px) {
 .about-hero__inner,.about-story__grid,.about-story__visual,.about-numbers__grid,.about-brand-story > .container,.about-purpose > .container,.about-craft__grid,.about-journey > .container,.about-page-cta > .container { max-width:100%; padding-right:2.5rem; padding-left:2.5rem; }
 .about-story__grid { gap:4.5rem; }
 .about-story__visual { height:460px; }
 .about-numbers__grid > div { padding-right:1.4rem; padding-left:1.4rem; }
 .about-values article { min-height:310px; }
 .about-craft__grid { gap:4rem; }
 .about-craft__images { height:500px; }
 .about-page-cta__inner { padding:3rem; }
}

@media (max-width:991.98px) {
 .about-hero__inner,.about-story__grid,.about-story__visual,.about-numbers__grid,.about-purpose > .container,.about-craft__grid,.about-journey > .container,.about-page-cta > .container { max-width:100%; padding-right:2rem; padding-left:2rem; }
 .about-story__visual { height:420px; }
 .about-brand-story > .container { max-width:100%; padding-right:2rem; padding-left:2rem; }
 .about-vision { grid-template-columns:60px 1fr; }
 .about-vision > p { grid-column:2; margin-top:0; }
 .about-company-timeline { grid-template-columns:repeat(2,1fr); gap:3rem 2rem; }
 .about-company-timeline::before { display:none; }
 .about-numbers__grid { grid-template-columns:repeat(2,1fr); gap:2rem 0; }
 .about-numbers__grid > div:nth-child(2) { border-right:0; }
 .about-values { grid-template-columns:repeat(2,1fr); }
 .about-craft__images { height:460px; }
 .about-steps { grid-template-columns:repeat(2,1fr); gap:3rem 1.5rem; }
 .about-steps::before { display:none; }
 .about-page-cta__inner { margin:0 2rem; padding:3rem; }
}
@media (max-width:767.98px) {
 .about-hero__inner { min-height:340px; padding:2.75rem 1.5rem; }
 .about-story,.about-purpose,.about-craft,.about-journey { padding:5rem 0; }
 .about-brand-story { padding:5rem 0; }
 .about-vision { grid-template-columns:45px 1fr; padding-bottom:4rem; }
 .about-purpose-card { grid-template-columns:1fr; margin:4rem 0; }
 .about-purpose-card__image { min-height:350px; }
 .about-purpose-card__copy { padding:3rem; }
 .about-company-journey__head { align-items:flex-start; flex-direction:column; }
 .about-story__grid,.about-craft__grid { grid-template-columns:1fr; }
 .about-story__visual { height:350px; margin-top:3rem; padding:0; }
 .about-purpose__head { grid-template-columns:1fr; }
 .about-numbers strong { font-size:2.8rem; }
 .about-craft__images { height:400px; }
 .about-journey__head { align-items:flex-start; flex-direction:column; }
 .about-page-cta__inner { align-items:flex-start; flex-direction:column; gap:2rem; }
}
@media (max-width:575.98px) {
 .about-hero__inner { min-height:300px; padding:2.25rem 1rem; }
 .about-hero h1 { font-size:3.1rem; }
 .about-hero p { font-size:.87rem; }
 .about-page-kicker { font-size:.62rem; letter-spacing:.13em; }
 .about-story,.about-purpose,.about-craft,.about-journey { padding:4rem 0; }
 .about-brand-story { padding:4rem 0; }
 .about-brand-story > .container { padding-right:1rem; padding-left:1rem; }
 .about-vision { display:block; padding-bottom:3rem; }
 .about-vision .about-brand-story__number { margin-bottom:1.2rem; }
 .about-vision h2,.about-company-journey__head h2 { font-size:3rem; }
 .about-vision > p { margin-top:1.5rem; font-size:.88rem; }
 .about-purpose-card { margin:3rem 0; min-height:0; }
 .about-purpose-card__image { min-height:260px; }
 .about-purpose-card__copy { padding:2rem 1.35rem; }
 .about-purpose-card__copy > .about-page-kicker { margin-top:1.2rem; }
 .about-purpose-card__copy h2 { font-size:2.8rem; }
 .about-company-journey__head { gap:1.2rem; margin-bottom:2.5rem; }
 .about-company-timeline { grid-template-columns:1fr; gap:2rem; }
 .about-company-timeline p { max-width:none; }
 .about-story__grid,.about-purpose > .container,.about-craft__grid,.about-journey > .container { padding-right:1rem; padding-left:1rem; }
 .about-story__heading h2,.about-purpose__head h2,.about-journey__head h2 { font-size:3rem; }
 .about-story__visual { height:280px; margin-top:2.5rem; }
 .about-story__visual > div { left:1.2rem; bottom:1.2rem; }
 .about-story__visual strong { font-size:2rem; }
 .about-numbers__grid { grid-template-columns:1fr 1fr; padding-right:1rem; padding-left:1rem; }
 .about-numbers__grid > div { align-items:flex-start; flex-direction:column; gap:.25rem; padding:0 1rem; }
 .about-numbers__grid > div:nth-child(odd) { padding-left:0; }
 .about-numbers strong { font-size:2.45rem; }
 .about-values { grid-template-columns:1fr; }
 .about-values article { min-height:270px; }
 .about-values article > i { margin-top:2.5rem; }
 .about-craft__images { height:310px; }
 .about-craft__images > div:first-child { inset:0 14% 10% 0; }
 .about-craft__images > div:last-child { width:48%; height:44%; border-width:5px; }
 .about-steps { grid-template-columns:1fr; gap:2rem; }
 .about-steps > div { padding-right:0; }
 .about-steps p { max-width:none; }
 .about-page-cta { padding-bottom:4rem; }
 .about-page-cta > .container { padding:0; }
 .about-page-cta__inner { margin:0 1rem; padding:2rem 1.35rem; }
 .about-page-cta h2 { font-size:2.6rem; }
 .about-page-cta a { width:100%; text-align:center; }
}

@media (max-width:399.98px) {
 .about-hero__inner { min-height:275px; padding:1.9rem .9rem; }
 .about-hero h1 { font-size:2.7rem; }
 .about-hero p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.55; }
 .about-story__grid,.about-brand-story > .container,.about-purpose > .container,.about-craft__grid,.about-journey > .container { padding-right:.9rem; padding-left:.9rem; }
 .about-story__heading h2,.about-purpose__head h2,.about-journey__head h2,.about-vision h2,.about-company-journey__head h2 { font-size:2.65rem; }
 .about-story__copy p,.about-vision > p,.about-purpose-card__copy p,.about-company-journey__head > p { font-size:.84rem; line-height:1.7; }
 .about-story__visual { height:235px; }
 .about-story__visual strong { font-size:1.7rem; }
 .about-numbers { padding:2.75rem 0; }
 .about-numbers__grid { gap:1.6rem 0; }
 .about-numbers strong { font-size:2.15rem; }
 .about-numbers span { font-size:.57rem; }
 .about-purpose-card__image { min-height:220px; }
 .about-purpose-card__copy { padding:1.7rem 1.1rem; }
 .about-purpose-card__copy h2 { font-size:2.45rem; }
 .about-values article { min-height:245px; padding:1.5rem 1.2rem; }
 .about-values article > i { margin:2rem 0 1rem; }
 .about-craft__images { height:270px; }
 .about-craft__copy h2 { font-size:2.65rem; }
 .about-steps strong { margin-top:1rem; }
 .about-page-cta__inner { margin:0 .9rem; padding:1.7rem 1.1rem; }
 .about-page-cta h2 { font-size:2.3rem; }
}

/* Legal pages */
.legal-hero { position: relative; overflow: hidden; color: #fff; background: var(--wf-forest-deep) url("images/hero-office-flooring.png") center 58%/cover no-repeat; }
.legal-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(23,17,13,.96) 0%, rgba(23,17,13,.86) 52%, rgba(23,17,13,.55) 100%); }
.legal-hero--privacy { background-image: url("images/sustainability-nature.png"); background-position: center 48%; }
.legal-hero--privacy::before { background: linear-gradient(90deg, rgba(22,49,42,.96) 0%, rgba(22,49,42,.84) 52%, rgba(22,49,42,.5) 100%); }
.legal-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 390px; gap: 4rem; align-items: end; min-height: 350px; padding-top: 3.5rem; padding-bottom: 3.5rem; }
.legal-hero__inner span { display: inline-flex; align-items: center; gap: .65rem; color: var(--wf-amber); font-size: .72rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.legal-hero h1 { margin: .9rem 0 0; font: 600 clamp(3.7rem,6vw,6rem)/.82 "Cormorant Garamond",serif; letter-spacing: -.035em; }
.legal-hero p { margin: 0 0 .4rem; padding-left: 1.5rem; border-left: 1px solid rgba(255,255,255,.25); color: rgba(255,255,255,.68); line-height: 1.8; }
.legal-page { padding: 6rem 0 7rem; background: var(--wf-cream); }
.legal-layout { display: grid; grid-template-columns: 245px minmax(0,790px); justify-content: space-between; gap: clamp(3rem,8vw,8rem); }
.legal-nav { position: sticky; top: 145px; align-self: start; display: flex; flex-direction: column; }
.legal-nav small { margin-bottom: 1rem; color: var(--wf-clay); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.legal-nav a { padding: .85rem 0; border-bottom: 1px solid var(--wf-line); color: var(--wf-muted); font-size: .76rem; font-weight: 700; transition: color .25s,padding .25s; }
.legal-nav a:hover { padding-left: .35rem; color: var(--wf-forest); }
.legal-content > header { margin-bottom: 1rem; padding: 0 0 3rem; border-bottom: 1px solid var(--wf-line); }
.legal-content > header span { color: var(--wf-clay); font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.legal-content > header p { margin: 1rem 0 0; color: var(--wf-forest-deep); font: 600 clamp(1.5rem,2.4vw,2.1rem)/1.3 "Cormorant Garamond",serif; }
.legal-content > section { scroll-margin-top: 150px; display: grid; grid-template-columns: 45px 1fr; gap: 1.25rem; padding: 3rem 0; border-bottom: 1px solid var(--wf-line); }
.legal-content > section > em { color: var(--wf-clay); font: 600 1.45rem "Cormorant Garamond",serif; font-style: normal; }
.legal-content h2 { margin: 0 0 1rem; color: var(--wf-forest-deep); font: 600 clamp(2rem,3vw,2.8rem)/1 "Cormorant Garamond",serif; }
.legal-content p, .legal-content li { color: var(--wf-muted); font-size: .94rem; line-height: 1.85; }
.legal-content p { margin: 0 0 1rem; }
.legal-content p:last-child { margin-bottom: 0; }
.legal-content ul { margin: .5rem 0 1rem; padding-left: 1.25rem; }
.legal-content li { padding-left: .4rem; margin-bottom: .35rem; }
.legal-content a { color: var(--wf-clay); font-weight: 700; overflow-wrap: anywhere; }

@media (max-width: 991.98px) {
    .legal-hero__inner { grid-template-columns: 1fr 320px; gap: 2.5rem; padding: 3rem 2rem; }
    .legal-page { padding: 4.5rem 0 6rem; }
    .legal-layout { grid-template-columns: 200px minmax(0,1fr); gap: 3.5rem; padding-right: 2rem; padding-left: 2rem; }
}
@media (max-width: 767.98px) {
    .legal-hero__inner { grid-template-columns: 1fr; gap: 1.5rem; min-height: 310px; padding: 2.75rem 1.5rem; }
    .legal-hero h1 { font-size: clamp(3.5rem,12vw,5rem); }
    .legal-hero p { max-width: 570px; padding-left: 0; border-left: 0; }
    .legal-page { padding: 0 0 4.5rem; }
    .legal-layout { display: block; padding: 0 1.5rem; }
    .legal-nav { z-index: 5; top: 120px; flex-direction: row; gap: 1.25rem; margin: 0 -1.5rem 3.5rem; padding: 1rem 1.5rem; overflow-x: auto; background: #fff; box-shadow: 0 8px 25px rgba(23,17,13,.06); }
    .legal-nav small { display: none; }
    .legal-nav a { flex: 0 0 auto; padding: .4rem 0; border-bottom: 0; white-space: nowrap; }
    .legal-nav a:hover { padding-left: 0; }
}
@media (max-width: 575.98px) {
    .legal-hero__inner { min-height: 285px; padding: 2.5rem 1rem; }
    .legal-hero h1 { font-size: 3.5rem; }
    .legal-hero p { font-size: .87rem; line-height: 1.65; }
    .legal-layout { padding: 0 1rem; }
    .legal-nav { top: 116px; margin-right: -1rem; margin-left: -1rem; padding-right: 1rem; padding-left: 1rem; }
    .legal-content > header { padding-bottom: 2.25rem; }
    .legal-content > header p { font-size: 1.45rem; }
    .legal-content > section { grid-template-columns: 32px 1fr; gap: .75rem; padding: 2.35rem 0; }
    .legal-content > section > em { font-size: 1.15rem; }
    .legal-content h2 { font-size: 2rem; }
    .legal-content p, .legal-content li { font-size: .88rem; line-height: 1.75; }
}

@media (max-width: 375px) {
    .contact-hero { min-height: 290px; }
    .contact-hero__inner { padding-top: 2.25rem; padding-bottom: 2.25rem; }
    .contact-hero h1 { font-size: 2.5rem; }
    .contact-main { padding: 3rem 0; }
    .contact-form-card { padding: 1.25rem; }
    .contact-form { gap: 1.35rem; }
    .contact-form-card__head { margin-bottom: 1.8rem; }
}

/* Flooring journal */
.journal-hero { position: relative; overflow: hidden; color: #fff; background: var(--wf-forest-deep); }
.journal-hero::after { content: "JOURNAL"; position: absolute; right: -1rem; bottom: -2.3rem; color: rgba(255,255,255,.035); font: 700 clamp(7rem,17vw,15rem)/.8 "Cormorant Garamond",serif; letter-spacing: -.04em; pointer-events: none; }
.journal-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.4fr .6fr; gap: 4rem; align-items: end; min-height: 400px; padding-top: 4.75rem; padding-bottom: 4.75rem; }
.journal-kicker { display: inline-flex; align-items: center; gap: .6rem; color: var(--wf-amber); font-size: .75rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.journal-hero h1 { margin: 1rem 0 0; font: 600 clamp(4rem,7vw,7rem)/.82 "Cormorant Garamond",serif; letter-spacing: -.035em; }
.journal-hero p { max-width: 390px; margin: 0 0 .35rem; padding-left: 1.5rem; border-left: 1px solid rgba(255,255,255,.25); color: rgba(255,255,255,.68); line-height: 1.8; }
.journal-feature { padding: 6rem 0 3rem; background: var(--wf-cream); }
.journal-feature__card { display: grid; grid-template-columns: 1.3fr .7fr; min-height: 500px; overflow: hidden; background: #fff; box-shadow: var(--wf-shadow); }
.journal-feature__image { position: relative; min-height: 470px; overflow: hidden; }
.journal-feature__image img, .journal-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.journal-feature__image:hover img, .journal-card__image:hover img { transform: scale(1.035); }
.journal-feature__image > span { position: absolute; top: 1.5rem; left: 1.5rem; padding: .65rem 1rem; color: #fff; background: var(--wf-clay); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.journal-feature__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,5vw,4.5rem); }
.journal-meta { display: flex; align-items: center; gap: .85rem; font-size: .69rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.journal-meta span { color: var(--wf-clay); }
.journal-meta em { color: var(--wf-muted); font-style: normal; }
.journal-meta em::before { content: ""; display: inline-block; width: 18px; height: 1px; margin: 0 .65rem .2rem 0; background: var(--wf-line); }
.journal-feature__copy h2 { margin: 1.25rem 0 1rem; font: 600 clamp(2.7rem,4vw,4.4rem)/.92 "Cormorant Garamond",serif; color: var(--wf-forest-deep); }
.journal-feature__copy p, .journal-card__body p { color: var(--wf-muted); line-height: 1.75; }
.journal-read { display: inline-flex; align-items: center; gap: 1rem; align-self: flex-start; margin-top: 1.4rem; color: var(--wf-forest); font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.journal-read span { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; color: #fff; background: var(--wf-forest); transition: transform .25s; }
.journal-read:hover span { transform: rotate(45deg); }
.journal-listing { padding: 5rem 0 7rem; background: var(--wf-cream); }
.journal-listing__head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 3rem; }
.journal-kicker--dark { color: var(--wf-clay); }
.journal-listing__head h2 { margin: .7rem 0 0; font: 600 clamp(2.8rem,5vw,4.8rem)/.9 "Cormorant Garamond",serif; }
.journal-filters { display: flex; gap: .4rem; flex-wrap: wrap; justify-content: flex-end; }
.journal-filters button { border: 1px solid var(--wf-line); border-radius: 999px; padding: .65rem 1rem; color: var(--wf-muted); background: transparent; font-size: .72rem; font-weight: 700; transition: .25s; }
.journal-filters button:hover, .journal-filters button.is-active { border-color: var(--wf-forest); color: #fff; background: var(--wf-forest); }
.journal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
.journal-card { min-width: 0; background: #fff; border: 1px solid var(--wf-line); }
.journal-card--wide { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; }
.journal-card__image { position: relative; display: block; height: 310px; overflow: hidden; }
.journal-card--wide .journal-card__image { height: 100%; min-height: 390px; }
.journal-card__image > span { position: absolute; right: 1rem; bottom: 1rem; display: grid; place-items: center; width: 45px; height: 45px; color: #fff; background: rgba(23,17,13,.88); font: 600 1.1rem "Cormorant Garamond",serif; }
.journal-card__body { padding: 1.7rem; }
.journal-card--wide .journal-card__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,4vw,4rem); }
.journal-card__body h3 { margin: 1rem 0 .8rem; font: 600 clamp(2rem,3vw,3rem)/1 "Cormorant Garamond",serif; }
.journal-card__body h3 a { color: var(--wf-forest-deep); }
.journal-card__body p { margin-bottom: 1.5rem; font-size: .9rem; }
.journal-card__foot { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--wf-line); }
.journal-card__foot time { color: var(--wf-muted); font-size: .72rem; }
.journal-card__foot a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--wf-forest); background: var(--wf-sand); }
.journal-card[hidden] { display: none; }
.journal-empty { display: none; padding: 4rem; text-align: center; color: var(--wf-muted); }
.journal-empty.is-visible { display: block; }
.journal-newsletter { padding: 0 0 7rem; background: var(--wf-cream); }
.journal-newsletter__inner { display: flex; justify-content: space-between; align-items: center; gap: 3rem; padding: clamp(2rem,5vw,4.5rem); color: #fff; background: var(--wf-forest); }
.journal-newsletter__inner span { color: var(--wf-amber); font-size: .72rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.journal-newsletter h2 { margin: .75rem 0 0; font: 600 clamp(2.4rem,4vw,4rem)/.95 "Cormorant Garamond",serif; }
.journal-newsletter form { display: flex; width: min(100%,470px); padding: .45rem; background: #fff; }
.journal-newsletter input { min-width: 0; flex: 1; border: 0; outline: 0; padding: 0 1rem; font: 500 .85rem "Manrope",sans-serif; }
.journal-newsletter button { border: 0; padding: .9rem 1.2rem; color: #fff; background: var(--wf-clay); font-size: .76rem; font-weight: 800; }

@media (max-width: 991.98px) {
    .journal-hero__inner { grid-template-columns: 1fr; gap: 1.5rem; min-height: 350px; padding: 3.5rem 2rem; }
    .journal-hero p { padding-left: 0; border-left: 0; }
    .journal-feature__card { grid-template-columns: 1fr; }
    .journal-feature__image { min-height: 420px; }
    .journal-listing__head { align-items: flex-start; flex-direction: column; }
    .journal-filters { justify-content: flex-start; }
    .journal-newsletter__inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 767.98px) {
    .journal-hero__inner { min-height: 320px; padding: 3rem 1.5rem; }
    .journal-hero h1 { font-size: clamp(3.5rem,12vw,5rem); }
    .journal-feature { padding: 3.5rem 0 2rem; }
    .journal-feature__image { min-height: 320px; }
    .journal-feature__copy { padding: 2rem; }
    .journal-listing { padding: 3.5rem 0 4.5rem; }
    .journal-grid { grid-template-columns: 1fr; }
    .journal-card--wide { grid-column: auto; display: block; }
    .journal-card--wide .journal-card__image { min-height: 0; height: 310px; }
    .journal-card--wide .journal-card__body { padding: 1.7rem; }
    .journal-newsletter { padding-bottom: 4rem; }
}
@media (max-width: 575.98px) {
    .journal-hero__inner { padding: 2.75rem 1rem; }
    .journal-hero h1 { font-size: 3.35rem; }
    .journal-feature > .container, .journal-listing > .container, .journal-newsletter > .container { padding-right: 1rem; padding-left: 1rem; }
    .journal-feature__image { min-height: 245px; }
    .journal-feature__copy, .journal-card__body, .journal-card--wide .journal-card__body { padding: 1.35rem; }
    .journal-feature__copy h2 { font-size: 2.55rem; }
    .journal-filters { flex-wrap: nowrap; width: calc(100vw - 2rem); padding-bottom: .5rem; overflow-x: auto; }
    .journal-filters button { flex: 0 0 auto; }
    .journal-card__image, .journal-card--wide .journal-card__image { height: 245px; }
    .journal-newsletter__inner { gap: 2rem; padding: 2rem 1.3rem; }
    .journal-newsletter form { align-items: stretch; flex-direction: column; gap: .5rem; padding: .5rem; }
    .journal-newsletter input { min-height: 48px; font-size: 16px; }
    .journal-newsletter button { min-height: 46px; }
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Manrope", sans-serif;
    color: var(--wf-ink);
    background:
        radial-gradient(circle at top left, rgba(201, 134, 88, 0.18), transparent 28%),
        linear-gradient(180deg, #fbfaf8 0%, #fbf8f4 45%, #f4eee7 100%);
}

body.is-loading {
    overflow: hidden;
}

a {
    text-decoration: none;
}

.page-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    background:
        linear-gradient(135deg, rgba(23, 17, 13, 0.94), rgba(107, 66, 38, 0.9)),
        url("images/footer-bg-ig.jpg") center center / cover;
    color: #ffffff;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.45s ease, visibility 0.45s ease;
}

.page-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.page-loader__mark {
    display: grid;
    justify-items: center;
    gap: 1rem;
}

.page-loader__mark span {
    position: relative;
    display: block;
    width: 74px;
    height: 74px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
}

.page-loader__mark span::before,
.page-loader__mark span::after {
    content: "";
    position: absolute;
    inset: 9px;
    border-radius: inherit;
    border: 2px solid transparent;
    border-top-color: #d7aa72;
    border-right-color: #ffffff;
    animation: loaderSpin 0.9s linear infinite;
}

.page-loader__mark span::after {
    inset: 22px;
    border-top-color: #ffffff;
    border-right-color: transparent;
    border-bottom-color: #d7aa72;
    animation-duration: 1.25s;
    animation-direction: reverse;
}

.page-loader__mark strong {
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.scroll-up {
    position: fixed;
    right: 1.35rem;
    bottom: 1.35rem;
    z-index: 1000;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 50%;
    background: #241391;
    color: #ffffff;
    box-shadow: 0 18px 42px rgba(23, 17, 13, 0.22);
    opacity: 0;
    visibility: hidden;
    transform: translateY(18px) scale(0.94);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background 0.3s ease;
}

.scroll-up.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.scroll-up:hover,
.scroll-up:focus {
    background: var(--wf-forest);
    color: #ffffff;
    transform: translateY(-3px) scale(1.03);
}

.scroll-up i {
    font-size: 1.2rem;
}

@keyframes loaderSpin {
    to {
        transform: rotate(360deg);
    }
}

.border_link {
    position: relative;
}

.border_link::before {
    content: "";
    transform-origin: 100% 100%;
    background: currentColor;
    width: 100%;
    height: 1px;
    transition: transform 0.3s ease-in;
    position: absolute;
    bottom: -3px;
    left: 0;
    transform: scaleX(0);
}

.border_link:hover::before,
.border_link:focus::before {
    transform-origin: 0 100%;
    transform: scaleX(1);
}

.site-shell {
    overflow: clip;
}

.section-space {
    padding: 6rem 0;
}

.section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--wf-clay);
}

.section-kicker::before {
    content: "";
    width: 44px;
    height: 1px;
    background: currentColor;
    opacity: 0.8;
}

.section-heading {
    max-width: 760px;
}

.section-heading h2,
.brand-intro h2,
.about-section h2,
.sustainability-section h2,
.site-footer h2 {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2.35rem, 3.125vw, 4rem);
    line-height: 0.95;
    margin: 0.95rem 0 1rem;
    color: var(--wf-forest-deep);
}

.section-heading p,
.brand-intro__text,
.about-section p,
.sustainability-section p,
.site-footer p {
    color: var(--wf-muted);
    font-size: 1.03rem;
    line-height: 1.8;
}

.btn-brand {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--wf-forest);
    --bs-btn-border-color: var(--wf-forest);
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #7a4b2d;
    --bs-btn-hover-border-color: #7a4b2d;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #7a4b2d;
    --bs-btn-active-border-color: #7a4b2d;
    border-radius: 999px;
    padding: 0.92rem 1.5rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.btn-outline-light,
.btn-light {
    border-radius: 999px;
    padding: 0.92rem 1.5rem;
    font-weight: 700;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1050;
    background: #ffffff;
    box-shadow: none;
    transition: box-shadow var(--wf-transition), border-color var(--wf-transition);
}

.site-header.is-scrolled {
    box-shadow: 0 14px 34px rgba(44, 34, 25, 0.1);
}

.site-header .navbar {
    padding: 0;
}

.header-container {
    max-width: 1180px;
}

.pre-header {
    background: #2f261f;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.82rem;
}

.pre-header__inner {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

.pre-header__contact,
.pre-header__actions {
    display: flex;
    align-items: center;
    gap: 1.35rem;
    flex-wrap: wrap;
}

.pre-header__contact a,
.pre-header__time,
.login-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: rgba(255, 255, 255, 0.84);
}

.pre-header__contact a:hover,
.pre-header__contact a:focus,
.login-btn:hover,
.login-btn:focus {
    color: #ffffff;
}

.pre-header i {
    color: #d7aa72;
    font-size: 0.95rem;
}

.login-btn {
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    padding: 0.42rem 0.9rem;
    font-weight: 700;
}

.main-header {
    min-height: 78px;
    background: rgba(255, 255, 255, 0.94);
    border-bottom: 1px solid rgba(47, 38, 31, 0.08);
    backdrop-filter: blur(14px);
}

.brand-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    color: #2f261f;
}

.brand-logo:hover,
.brand-logo:focus {
    color: #2f261f;
}

.brand-logo__mark {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #8d5f38, #d7aa72);
    color: #ffffff;
    font-family: "Cormorant Garamond", serif;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 12px 24px rgba(141, 95, 56, 0.22);
}

.brand-logo__text {
    display: flex;
    flex-direction: column;
    line-height: 1;
}

.brand-logo__text span {
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.brand-logo__text small {
    margin-top: 0.18rem;
    color: #8d5f38;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.header-menu .nav-link {
    display: inline-flex;
    align-items: center;
    color: #3d332b;
    font-size: 0.94rem;
    font-weight: 800;
    padding: 1.8rem 0.85rem;
    position: relative;
    white-space: nowrap;
}

.header-menu .nav-link:hover,
.header-menu .nav-link:focus {
    color: #8d5f38;
}

.header-menu .nav-link.border_link::before {
    bottom: 1.25rem;
    left: 0.85rem;
    width: calc(100% - 1.7rem);
    height: 2px;
    border-radius: 999px;
    background: #8d5f38;
}

.header-toggler {
    border: 1px solid rgba(47, 38, 31, 0.14);
    border-radius: 12px;
    padding: 0.45rem 0.55rem;
    box-shadow: none;
}

.header-toggler:focus {
    box-shadow: none;
}

.site-header .navbar-toggler-icon {
    filter: none;
}

.brand-mark {
    display: inline-flex;
    flex-direction: column;
    color: var(--wf-forest-deep);
    line-height: 1;
}

.brand-mark__eyebrow {
    font-size: 0.78rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--wf-clay);
    font-weight: 700;
}

.brand-mark__title {
    font-size: 1.45rem;
    font-weight: 800;
    margin-top: 0.2rem;
}

.hero-slider {
    position: relative;
    min-height: clamp(660px, calc(100vh - 118px), 860px);
    overflow: hidden;
    isolation: isolate;
    background: #11100e;
    color: #ffffff;
}

.hero-slider__backgrounds,
.hero-slider__bg,
.hero-slider__shade {
    position: absolute;
    inset: 0;
}

.hero-slider__bg {
    opacity: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: scale(1.07);
    transition: opacity 0.9s ease, transform 6s ease;
    will-change: opacity, transform;
}

.hero-slider__bg.is-active {
    opacity: 1;
    transform: scale(1);
}

.hero-slider__shade {
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.22) 45%, rgba(0, 0, 0, 0.72)),
        linear-gradient(180deg, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0.6));
}

.hero-slider__inner {
    position: relative;
    z-index: 2;
    min-height: inherit;
    display: grid;
    grid-template-columns: minmax(170px, 0.34fr) minmax(0, 1fr) minmax(280px, 0.38fr);
    align-items: center;
    gap: 1.5rem;
    max-width: 1540px;
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 5rem);
}

.hero-slider__categories {
    display: grid;
    gap: 1.35rem;
    align-self: end;
    padding-bottom: clamp(3rem, 8vw, 7rem);
}

.hero-slider__category,
.hero-slider__categories span {
    position: relative;
    width: fit-content;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.44);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    line-height: 1;
    padding: 0 0 0 1.28rem;
    text-align: left;
    text-transform: uppercase;
}

.hero-slider__category::before,
.hero-slider__categories span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.24rem;
    width: 0.38rem;
    height: 0.38rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    transition: background var(--wf-transition), border-color var(--wf-transition);
}

.hero-slider__category.is-active {
    color: #ffffff;
}

.hero-slider__category.is-active::before {
    background: #8b5e3c;
    border-color: #8b5e3c;
}

.hero-slider__copy {
    position: relative;
    z-index: 4;
    min-height: 190px;
    display: grid;
    place-items: center;
    text-align: center;
    pointer-events: none;
}

.hero-slider__text {
    grid-area: 1 / 1;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.hero-slider__text.is-active {
    opacity: 1;
    transform: translateY(0);
}

.hero-slider__text h1 {
    margin: 0;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(4.2rem, 11vw, 10rem);
    font-weight: 500;
    line-height: 0.84;
    letter-spacing: 0;
    color: #ffffff;
    text-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

.hero-slider__text p {
    margin: clamp(1.1rem, 2vw, 2rem) 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: clamp(1.08rem, 2.1vw, 2rem);
    font-weight: 400;
    line-height: 1.35;
    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.32);
}

.hero-slider__stage {
    position: absolute;
    inset: 0;
    z-index: 3;
    perspective: 1200px;
    pointer-events: none;
}

.hero-slide-frame {
    position: absolute;
    left: 50%;
    top: 50%;
    width: min(40vw, 540px);
    aspect-ratio: 1.16;
    opacity: 0;
    transform-style: preserve-3d;
    transition: opacity 0.65s ease, transform 0.85s ease;
    border: 1px solid rgba(255, 255, 255, 0.74);
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(1px);
}

.hero-slide-frame.is-active {
    opacity: 1;
}

.hero-slide-frame--home {
    transform: translate(-50%, -50%) rotateZ(2deg) rotateY(-9deg) rotateX(4deg);
}

.hero-slide-frame--office {
    transform: translate(-50%, -50%) rotateZ(-4deg) rotateY(9deg) rotateX(3deg);
}

.hero-slide-frame--hotel {
    transform: translate(-50%, -50%) rotateZ(5deg) rotateY(-5deg) rotateX(-3deg);
}

.hero-slide-frame__image {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.08);
}

.hero-slide-frame__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.16), transparent 45%, rgba(0, 0, 0, 0.36));
}

.hero-slide-frame__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-slider__controls {
    position: absolute;
    right: clamp(1.2rem, 4vw, 4rem);
    bottom: clamp(1.2rem, 4vw, 3.6rem);
    z-index: 5;
    display: flex;
    gap: 0.75rem;
}

.hero-slider__arrow {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    backdrop-filter: blur(12px);
    transition: background var(--wf-transition), transform var(--wf-transition);
}

.hero-slider__arrow:hover,
.hero-slider__arrow:focus {
    background: rgba(255, 255, 255, 0.18);
    transform: translateY(-2px);
}

.brand-intro {
    padding: 3rem 0 1rem;
}

.impression-section {
    position: relative;
    min-height: 760px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(42%, 1.05fr);
    background: #ffffff;
    overflow: hidden;
}

.impression-section__intro {
    padding: clamp(3rem, 6vw, 5.4rem) clamp(1.5rem, 8vw, 10.5rem);
    z-index: 2;
}

.impression-kicker {
    display: inline-flex;
    margin-bottom: 0.85rem;
    color: #6b4226;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    line-height: 1;
    text-transform: uppercase;
}

.impression-section__intro h2 {
    max-width: 700px;
    margin: 0 0 1.35rem;
    color: #090807;
    font-family: "Cormorant Garamond", serif;
    font-size: 3.125vw;
    font-weight: 500;
    line-height: 0.96;
    letter-spacing: 0;
    text-transform: capitalize;
}

.impression-view {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    color: #17120f;
    text-transform: uppercase;
}

.impression-view span,
.impression-action span {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    background: #6b4226;
    color: #ffffff;
    font-size: 1.35rem;
}

.impression-view strong,
.impression-action {
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.impression-section__visual {
    position: relative;
    min-height: inherit;
    background: #e6ded4;
}

.impression-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.035);
    transition: opacity 0.65s ease, transform 3.8s ease;
}

.impression-image.is-active {
    opacity: 1;
    transform: scale(1);
}

.impression-card {
    position: absolute;
    left: clamp(17rem, 22vw, 24rem);
    bottom: 0;
    z-index: 3;
    width: min(610px, 48vw);
    min-height: 430px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: #4a3b32;
    color: #ffffff;
    padding: clamp(2rem, 4vw, 3.25rem);
}

.impression-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.impression-count {
    font-size: 1.25rem;
    font-weight: 800;
}

.impression-count em {
    color: rgba(255, 255, 255, 0.55);
    font-style: normal;
    font-weight: 500;
}

.impression-arrows {
    display: flex;
    gap: 1.2rem;
}

.impression-arrows button {
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.76);
    font-size: 1.2rem;
    padding: 0.35rem;
    transition: color var(--wf-transition), transform var(--wf-transition);
}

.impression-arrows button:hover,
.impression-arrows button:focus {
    color: #ffffff;
    transform: translateY(-2px);
}

.impression-card__slides {
    position: relative;
    min-height: 170px;
    margin: 1.5rem 0;
}

.impression-copy {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.impression-copy.is-active {
    opacity: 1;
    transform: translateY(0);
}

.impression-copy h3 {
    margin: 0 0 1.6rem;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2rem, 3vw, 2.65rem);
    font-weight: 500;
    line-height: 1.05;
}

.impression-copy p {
    max-width: 450px;
    margin: 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.05rem;
    line-height: 1.55;
}

.impression-card__actions {
    display: flex;
    gap: 2.4rem;
    flex-wrap: wrap;
}

.impression-action {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    color: #ffffff;
}

.impression-action span {
    width: 66px;
    height: 66px;
    border: 1px solid rgba(255, 255, 255, 0.85);
    background: transparent;
}

.impression-action:hover,
.impression-action:focus {
    color: #ffffff;
}

.products-section {
    position: relative;
}

.products-section.section-space {
    padding-bottom: 3rem;
}

.application-showcase {
    position: relative;
    min-height: 930px;
    overflow: hidden;
    background: #020202;
    color: #ffffff;
}

.application-grid-bg {
    position: absolute;
    inset: 0;
    opacity: 0.26;
    background:
        linear-gradient(rgba(255, 255, 255, 0.24) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.24) 1px, transparent 1px);
    background-size: 260px 150px;
    background-position: -80px -48px;
}

.application-showcase__inner {
    position: relative;
    min-height: inherit;
    max-width: 1680px;
    margin: 0 auto;
}

.application-showcase__headline {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 8;
    width: min(680px, 54vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translate(-50%, -50%);
    text-align: center;
    pointer-events: none;
}

.application-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 1.2rem;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.application-kicker::before {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    background: #ffffff;
    transform: rotate(45deg);
}

.application-showcase__headline h2 {
    margin: 0 0 1.6rem;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(4rem, 5.4vw, 6.5rem);
    font-weight: 500;
    line-height: 0.92;
    letter-spacing: 0;
    text-shadow: 0 20px 70px rgba(0, 0, 0, 0.72);
}

.application-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    gap: 0.72rem;
    color: #ffffff;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    pointer-events: auto;
}

.application-view span {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    background: #6b4226;
    font-size: 1.35rem;
}

.application-view:hover,
.application-view:focus {
    color: #ffffff;
}

.application-collage {
    position: absolute;
    inset: 0;
}

.application-tile {
    position: absolute;
    display: block;
    overflow: hidden;
    background: #111111;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.42);
    transition: transform 0.65s ease, opacity 0.65s ease, filter 0.65s ease;
    will-change: transform;
}

.application-tile img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: scale(1);
    transition: transform 0.9s ease;
}

.application-tile::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.72));
    opacity: 0;
    transition: opacity 0.45s ease;
}

.application-tile__overlay {
    position: absolute;
    left: 1.4rem;
    right: 1.4rem;
    bottom: 1.3rem;
    z-index: 2;
    color: #ffffff;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.application-tile__overlay small,
.application-tile__overlay strong {
    display: block;
}

.application-tile__overlay small {
    margin-bottom: 0.42rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.application-tile__overlay strong {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(1.8rem, 2.5vw, 3.1rem);
    font-weight: 500;
    line-height: 0.98;
}

.application-collage .application-tile:hover,
.application-collage .application-tile:focus {
    z-index: 12;
    opacity: 1;
    filter: saturate(1.06);
    transform: scale(1.14);
}

.application-tile:hover img,
.application-tile:focus img {
    transform: scale(1.14);
}

.application-tile:hover::after,
.application-tile:focus::after,
.application-tile:hover .application-tile__overlay,
.application-tile:focus .application-tile__overlay {
    opacity: 1;
    transform: translateY(0);
}

.application-tile--home {
    left: 4.5%;
    top: 12%;
    width: 22%;
    height: 34%;
}

.application-tile--cinema {
    left: 27%;
    top: 6%;
    width: 24%;
    height: 39%;
    z-index: 2;
}

.application-tile--hotel {
    left: 52%;
    top: 4%;
    width: 21%;
    height: 37%;
}

.application-tile--restaurant {
    right: 4.5%;
    top: 13%;
    width: 23%;
    height: 34%;
}

.application-tile--office {
    left: 6.5%;
    bottom: 9%;
    width: 22%;
    height: 34%;
}

.application-tile--events {
    left: 30%;
    bottom: 5%;
    width: 21%;
    height: 39%;
}

.application-tile--retail {
    left: 52.5%;
    bottom: 6%;
    width: 21%;
    height: 36%;
}

.application-tile--architects {
    right: 4.5%;
    bottom: 10%;
    width: 23%;
    height: 33%;
}

.product-card {
    background: rgba(255, 255, 255, 0.82);
    border-radius: var(--wf-radius-lg);
    padding: 1.7rem;
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 20px 50px rgba(23, 17, 13, 0.06);
    transition: transform var(--wf-transition), box-shadow var(--wf-transition);
}

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 26px 60px rgba(23, 17, 13, 0.1);
}

.product-card__tag {
    display: inline-flex;
    background: rgba(107, 66, 38, 0.08);
    color: var(--wf-forest);
    border-radius: 999px;
    padding: 0.45rem 0.8rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-card h3,
.space-card h3,
.journey-card h3,
.sustainability-point h3,
.about-visual__card h3 {
    font-family: "Cormorant Garamond", serif;
    font-size: 2rem;
    color: var(--wf-forest-deep);
    margin: 1rem 0 0.55rem;
}

.product-card__subtitle {
    color: var(--wf-clay);
    font-weight: 700;
    font-size: 0.95rem;
}

.product-card p,
.space-card p,
.journey-card p,
.sustainability-point p,
.about-visual__card p,
.stat-card p {
    color: var(--wf-muted);
    line-height: 1.75;
}

.product-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    font-weight: 700;
    color: var(--wf-forest);
}

.about-visual {
    position: relative;
    min-height: 560px;
    display: grid;
    align-items: end;
}

.about-visual__card {
    border-radius: var(--wf-radius-xl);
    padding: 2rem;
    box-shadow: var(--wf-shadow);
}

.about-visual__card--large {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0)),
        linear-gradient(135deg, #e6d4bd, #d8b99b 50%, #b87b54 100%);
    color: var(--wf-forest-deep);
    min-height: 420px;
    display: flex;
    flex-direction: column;
    justify-content: end;
}

.about-visual__card--small {
    position: absolute;
    right: -0.5rem;
    bottom: 2rem;
    max-width: 260px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(255, 255, 255, 0.95);
}

.about-visual__card--small strong {
    display: block;
    color: var(--wf-forest);
    margin-bottom: 0.6rem;
    font-size: 1.08rem;
}

.about-culture {
    position: relative;
    background:
        linear-gradient(135deg, rgba(107, 66, 38, 0.08), transparent 34%),
        linear-gradient(180deg, #f8f5f0 0%, #ffffff 100%);
}

.about-culture__visual {
    position: relative;
    min-height: 650px;
}

.about-culture__image {
    position: absolute;
    overflow: hidden;
    background: #111111;
    box-shadow: 0 32px 90px rgba(23, 17, 13, 0.16);
}

.about-culture__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.about-culture__image--main {
    inset: 0 8% 12% 0;
}

.about-culture__image--floating {
    right: 0;
    bottom: 0;
    width: 46%;
    height: 42%;
    border: 10px solid #f8f5f0;
}

.about-culture__badge {
    position: absolute;
    left: 7%;
    bottom: 7%;
    max-width: 300px;
    background: #4a3b32;
    color: #ffffff;
    padding: 1.35rem 1.45rem;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
}

.about-culture__badge strong,
.about-culture__badge span {
    display: block;
}

.about-culture__badge strong {
    margin-bottom: 0.42rem;
    font-family: "Cormorant Garamond", serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
}

.about-culture__badge span {
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.55;
}

.about-culture__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: #6b4226;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.about-culture__kicker::before {
    content: "";
    width: 42px;
    height: 1px;
    background: currentColor;
}

.about-culture h2 {
    max-width: 720px;
    margin: 1rem 0 1.1rem;
    font-size: 3.124vw;
    text-transform: capitalize;
}

.about-culture p {
    max-width: 680px;
}

.about-culture__features {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin: 1.5rem 0 1.1rem;
}

.about-culture__features span {
    border: 1px solid rgba(107, 66, 38, 0.15);
    background: rgba(255, 255, 255, 0.82);
    color: #6b4226;
    padding: 0.58rem 0.9rem;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.about-culture__actions {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    flex-wrap: wrap;
    margin-top: 1.6rem;
}

.about-culture__link {
    color: #6b4226;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.about-culture__link:hover,
.about-culture__link:focus {
    color: #6b4226;
}

.stat-grid {
    margin-top: 1.2rem;
}

.stat-card,
.space-card,
.journey-card {
    height: 100%;
    background: rgba(255, 255, 255, 0.78);
    border-radius: var(--wf-radius-lg);
    padding: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.76);
    box-shadow: 0 18px 42px rgba(23, 17, 13, 0.06);
}

.stat-card h3 {
    font-size: 2rem;
    color: var(--wf-forest);
    margin-bottom: 0.4rem;
}

.space-card {
    position: relative;
    overflow: hidden;
}

.space-card::after {
    content: "";
    position: absolute;
    inset: auto -28px -28px auto;
    width: 120px;
    height: 120px;
    background: radial-gradient(circle, rgba(201, 134, 88, 0.2), transparent 68%);
}

.space-card__icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(135deg, var(--wf-forest), #3a2418);
    color: #ffffff;
    font-size: 1.2rem;
}

.sustainability-story {
    position: relative;
    overflow: hidden;
    padding: 0;
    background: #fff;
}

.sustainability-story__container {
    position: relative;
    min-height: 600px;
}

.sustainability-story__heading {
    position: relative;
    z-index: 3;
    max-width: 560px;
    padding-top: 0.2rem;
}

.sustainability-story__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: #6b4226;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
}

.sustainability-story__kicker i {
    font-size: 1.05rem;
}

.sustainability-story__heading h2 {
    max-width: 520px;
    margin: 2rem 0 0;
    color: #050505;
    font-family: "Cormorant Garamond", serif;
    font-size: 3.5vw;
    font-weight: 400;
    line-height: 0.95;
}

.sustainability-story__media {
    position: absolute;
    top: 7.1rem;
    right: 0;
    z-index: 1;
    width: 64%;
    height: 440px;
    overflow: hidden;
    background: #eee7e1;
}

.sustainability-story__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.01);
}

.sustainability-story__card {
    position: absolute;
    left: 8.5%;
    bottom: 0;
    z-index: 4;
    width: min(500px, 42vw);
    min-height: 360px;
    padding: 3rem 3.2rem;
    background: #4a3b32;
    color: #ffffff;
}

.sustainability-story__card h3 {
    margin: 0 0 1.5rem;
    color: #ffffff;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2.4rem, 3.2vw, 4rem);
    font-weight: 400;
    line-height: 1;
}

.sustainability-story__card p {
    max-width: 360px;
    margin: 0;
    color: rgba(255, 255, 255, 0.94);
    font-size: 0.94rem;
    font-weight: 700;
    line-height: 1.55;
}

.sustainability-story__link {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.sustainability-story__link span {
    display: inline-grid;
    place-items: center;
    width: 66px;
    height: 66px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    color: #ffffff;
    font-size: 1.35rem;
    transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.sustainability-story__link:hover,
.sustainability-story__link:focus {
    color: #ffffff;
}

.sustainability-story__link:hover span,
.sustainability-story__link:focus span {
    background: #ffffff;
    color: #6b4226;
    transform: translate(4px, -4px);
}

.sustainability-story__outline {
    position: absolute;
    z-index: 0;
    border: 1px solid rgba(107, 66, 38, 0.42);
    pointer-events: none;
}

.sustainability-story__outline--one {
    left: -5.2rem;
    bottom: 4.3rem;
    width: 170px;
    height: 170px;
}

.sustainability-story__outline--two {
    left: 4.6rem;
    bottom: 0;
    width: 88px;
    height: 174px;
}

.testimonial-story {
    position: relative;
    overflow: hidden;
    margin-top: 4rem;
    padding: 4rem 0 0;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.34)),
        url("images/footer-bg-ig.jpg") center center / cover fixed;
}

.testimonial-story__container {
    position: relative;
    min-height: 590px;
}

.testimonial-story__intro {
    position: relative;
    z-index: 4;
    width: 38%;
    padding-top: 0.25rem;
}

.testimonial-story__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
}

.testimonial-story__intro h2 {
    margin: 1.55rem 0 3rem;
    color: #ffffff;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(3rem, 4.55vw, 5.1rem);
    font-weight: 400;
    line-height: 0.95;
}

.testimonial-story__read {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.testimonial-story__read span {
    display: inline-grid;
    place-items: center;
    width: 64px;
    height: 64px;
    background: #6b4226;
    color: #ffffff;
    font-size: 1.35rem;
    transition: transform 0.3s ease, background 0.3s ease;
}

.testimonial-story__read:hover,
.testimonial-story__read:focus {
    color: #ffffff;
}

.testimonial-story__read:hover span,
.testimonial-story__read:focus span {
    background: #17110d;
    transform: translate(4px, -4px);
}

.testimonial-story__quote-mark {
    position: absolute;
    left: 17.5%;
    top: 10.4rem;
    z-index: 1;
    color: transparent;
    font-family: "Cormorant Garamond", serif;
    font-size: 20rem;
    font-weight: 400;
    line-height: 0.65;
    -webkit-text-stroke: 1px #6b4226;
    opacity: 0.9;
    pointer-events: none;
}

.testimonial-story__card {
    position: absolute;
    left: 10.3%;
    bottom: 0;
    z-index: 5;
    width: min(470px, 40vw);
    min-height: 300px;
    padding: 2.45rem 3.35rem 2.35rem;
    background: #4a3b32;
    color: #ffffff;
}

.testimonial-story__arrows {
    display: flex;
    justify-content: flex-end;
    gap: 1.6rem;
    margin-bottom: 1.9rem;
}

.testimonial-story__arrows button {
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.35rem;
    line-height: 1;
    transition: color 0.3s ease, transform 0.3s ease;
}

.testimonial-story__arrows button:hover,
.testimonial-story__arrows button:focus {
    color: #ffffff;
    transform: translateX(3px);
}

.testimonial-story__card p {
    max-width: 390px;
    margin: 0;
    color: rgba(255, 255, 255, 0.94);
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.55;
}

.testimonial-story__copies {
    position: relative;
    min-height: 175px;
}

.testimonial-story__copy {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    pointer-events: none;
}

.testimonial-story__copy.is-active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.testimonial-story__card h3 {
    margin: 2.65rem 0 0;
    color: #ffffff;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2.2rem, 2.4vw, 3.2rem);
    font-weight: 400;
    line-height: 1;
}

.testimonial-story__card span {
    display: inline-block;
    margin-top: 0.65rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.testimonial-story__video {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: block;
    width: 64%;
    height: 520px;
    overflow: hidden;
    background: #111111;
    color: #ffffff;
}

.testimonial-story__video-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.02);
    transition: opacity 0.45s ease, transform 0.55s ease;
    pointer-events: none;
}

.testimonial-story__video-slide.is-active {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
}

.testimonial-story__video-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.22), transparent 34%),
        linear-gradient(0deg, rgba(0, 0, 0, 0.18), transparent 44%);
    pointer-events: none;
}

.testimonial-story__video img,
.testimonial-story__video iframe {
    width: 100%;
    height: 100%;
}

.testimonial-story__video img {
    object-fit: cover;
    object-position: center;
    transition: transform 0.55s ease;
}

.testimonial-story__video iframe {
    position: absolute;
    inset: 0;
    z-index: 5;
    border: 0;
}

.testimonial-story__video-slide:hover img,
.testimonial-story__video-slide:focus-within img {
    transform: scale(1.04);
}

.testimonial-story__brand {
    position: absolute;
    top: 1.3rem;
    left: 1.6rem;
    z-index: 3;
    display: grid;
    gap: 0.15rem;
    color: #ffffff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}

.testimonial-story__brand strong {
    font-size: 1.05rem;
    font-weight: 900;
}

.testimonial-story__brand small {
    font-size: 0.75rem;
    font-weight: 700;
}

.testimonial-story__play {
    position: absolute;
    left: 53%;
    top: 50%;
    z-index: 4;
    display: grid;
    place-items: center;
    width: 58px;
    height: 40px;
    border: 0;
    border-radius: 12px;
    background: #17110d;
    color: #ffffff;
    font-size: 1.75rem;
    transform: translate(-50%, -50%);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
    transition: transform 0.3s ease, background 0.3s ease;
}

.testimonial-story__video-slide:hover .testimonial-story__play,
.testimonial-story__video-slide:focus-within .testimonial-story__play {
    background: #6b4226;
    transform: translate(-50%, -50%) scale(1.08);
}

.testimonial-story__outline {
    position: absolute;
    left: -6.2rem;
    bottom: 0;
    width: 230px;
    height: 160px;
    border: 1px solid rgba(107, 66, 38, 0.42);
    pointer-events: none;
}

.trending-story {
    position: relative;
    overflow: hidden;
    padding: 4rem 0 0;
    background: #ffffff;
}

.trending-story__container {
    position: relative;
    min-height: 610px;
}

.trending-story__content {
    position: relative;
    z-index: 4;
    width: 42%;
    padding-top: 0.25rem;
}

.trending-story__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: #6b4226;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
}

.trending-story__content h2 {
    max-width: 640px;
    margin: 2rem 0 2rem;
    color: #050505;
    font-family: "Cormorant Garamond", serif;
    font-size: 3.5vw;
    font-weight: 400;
    line-height: 0.96;
}

.trending-story__content p {
    margin: 0 0 2.2rem;
    color: #0f0f0f;
    font-size: 1rem;
    line-height: 1.6;
}

.trending-story__link {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    color: #111111;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.trending-story__link span {
    display: inline-grid;
    place-items: center;
    width: 66px;
    height: 66px;
    background: #6b4226;
    color: #ffffff;
    font-size: 1.35rem;
    transition: transform 0.3s ease, background 0.3s ease;
}

.trending-story__link:hover,
.trending-story__link:focus {
    color: #6b4226;
}

.trending-story__link:hover span,
.trending-story__link:focus span {
    background: #17110d;
    transform: translate(4px, -4px);
}

.trending-story__swatches {
    position: relative;
    left: auto;
    bottom: auto;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(3, 96px);
    gap: 1.8rem 1.75rem;
    width: max-content;
    margin: 6.4rem 0 0 3.5%;
}

.trending-story__swatches span {
    display: block;
    width: 96px;
    height: 96px;
    background: var(--swatch);
}

.trending-story__main-image {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 54.5%;
    height: 500px;
    overflow: hidden;
    background: #d8b99b;
}

.trending-story__main-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.trending-story__mood-image {
    position: absolute;
    right: 39%;
    bottom: 0;
    z-index: 3;
    width: 340px;
    height: 410px;
    overflow: hidden;
    background: #f3ede5;
}

.trending-story__mood-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.trending-story__outline {
    position: absolute;
    right: -3.2rem;
    bottom: 0;
    width: 220px;
    height: 190px;
    border: 1px solid rgba(107, 66, 38, 0.42);
    pointer-events: none;
}

.blog-story {
    position: relative;
    overflow: hidden;
    padding: 5rem 0;
    background: #fff;
}

.blog-story__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2.6rem;
}

.blog-story__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    color: #6b4226;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1;
    text-transform: uppercase;
}

.blog-story__head h2 {
    max-width: 680px;
    margin: 1.6rem 0 0;
    color: #050505;
    font-family: "Cormorant Garamond", serif;
    font-size: 3.5vw;
    font-weight: 400;
    line-height: 0.96;
}

.blog-story__view {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    flex: 0 0 auto;
    color: #111111;
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.blog-story__view span {
    display: inline-grid;
    place-items: center;
    width: 62px;
    height: 62px;
    background: #6b4226;
    color: #ffffff;
    font-size: 1.35rem;
    transition: transform 0.3s ease, background 0.3s ease;
}

.blog-story__view:hover,
.blog-story__view:focus {
    color: #6b4226;
}

.blog-story__view:hover span,
.blog-story__view:focus span {
    background: #17110d;
    transform: translate(4px, -4px);
}

.blog-story__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, 0.8fr);
    gap: 2rem;
    align-items: stretch;
}

.blog-card {
    background: #ffffff;
}

.blog-card__image,
.blog-card__thumb {
    display: block;
    overflow: hidden;
    background: #ddd1c3;
}

.blog-card__image img,
.blog-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.blog-card:hover img,
.blog-card:focus-within img {
    transform: scale(1.05);
}

.blog-card--featured {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
    min-height: 420px;
    box-shadow: 0 24px 60px rgba(28, 25, 22, 0.08);
}

.blog-card--featured .blog-card__image {
    min-height: 420px;
}

.blog-card__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem;
}

.blog-card span {
    color: #6b4226;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.blog-card h3 {
    margin: 1rem 0;
    color: #111111;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2rem, 2.8vw, 3rem);
    font-weight: 400;
    line-height: 1;
}

.blog-card p {
    margin: 0 0 1.6rem;
    color: #6f625a;
    font-size: 0.98rem;
    line-height: 1.7;
}

.blog-card__link {
    align-self: flex-start;
    color: #111111;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.blog-card__link:hover,
.blog-card__link:focus {
    color: #6b4226;
}

.blog-story__list {
    display: grid;
    gap: 1rem;
}

.blog-card--compact {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 1.25rem;
    align-items: center;
    min-height: 130px;
    padding: 1rem;
    box-shadow: 0 18px 42px rgba(28, 25, 22, 0.06);
}

.blog-card__thumb {
    height: 115px;
}

.blog-card--compact h3 {
    margin: 0.65rem 0 0.9rem;
    font-size: clamp(1.5rem, 1.8vw, 2rem);
}

.home-cta {
    padding: 3rem 0;
    background: #ffffff;
}

.home-cta__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2.25rem 2.5rem;
    background:
        linear-gradient(135deg, rgba(0, 0, 0, 0.54), rgba(0, 0, 0, 0.68)),
        url("images/footer-bg-ig.jpg") center center / cover;
    color: #ffffff;
}

.home-cta__inner span {
    display: inline-block;
    margin-bottom: 0.7rem;
    color: #d7aa72;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home-cta__inner h2 {
    max-width: 720px;
    margin: 0;
    color: #ffffff;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(2rem, 3vw, 3.6rem);
    font-weight: 400;
    line-height: 1;
}

.home-cta__actions {
    display: flex;
    gap: 0.8rem;
    flex: 0 0 auto;
    flex-wrap: wrap;
}

.home-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 48px;
    padding: 0.75rem 1.1rem;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
}

.home-cta__btn:hover,
.home-cta__btn:focus {
    transform: translateY(-2px);
}

.home-cta__btn--light {
    background: #ffffff;
    color: #6b4226;
}

.home-cta__btn--light:hover,
.home-cta__btn--light:focus {
    background: #d7aa72;
    color: #211914;
}

.home-cta__btn--outline {
    border: 1px solid rgba(255, 255, 255, 0.36);
    color: #ffffff;
}

.home-cta__btn--outline:hover,
.home-cta__btn--outline:focus {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.journey-card {
    position: relative;
    padding-top: 4.5rem;
}

.journey-card__step {
    position: absolute;
    top: 1.4rem;
    left: 1.5rem;
    font-size: 0.88rem;
    letter-spacing: 0.22em;
    font-weight: 800;
    color: var(--wf-clay);
}

.site-footer {
    position: relative;
    padding: 4.5rem 0 1.35rem;
    background:
        linear-gradient(180deg, rgba(18, 14, 11, 0.58), rgba(18, 14, 11, 0.78)),
        linear-gradient(135deg, rgba(215, 170, 114, 0.08), transparent 44%),
        url("images/footer-bg-ig.jpg");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    color: #fff7ee;
    overflow: hidden;
}

.footer-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 48px;
    border-radius: 999px;
    padding: 0.8rem 1.15rem;
    font-weight: 800;
}

.footer-btn--light {
    background: #d7aa72;
    color: #211914;
}

.footer-btn--outline {
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: #ffffff;
}

.footer-btn:hover,
.footer-btn:focus {
    transform: translateY(-1px);
}

.footer-btn--light:hover,
.footer-btn--light:focus {
    background: #e2ba84;
    color: #211914;
}

.footer-btn--outline:hover,
.footer-btn--outline:focus {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

.brand-logo--footer,
.brand-logo--footer:hover,
.brand-logo--footer:focus {
    color: #ffffff;
}

.brand-logo--footer .brand-logo__text small {
    color: #d7aa72;
}

.footer-main {
    display: grid;
    grid-template-columns: minmax(260px, 1.35fr) repeat(3, minmax(0, 1fr));
    gap: clamp(1.8rem, 4vw, 3rem);
    padding-bottom: 2.6rem;
}

.footer-brand p {
    max-width: 370px;
    margin: 1.2rem 0 1.35rem;
    color: rgba(255, 247, 238, 0.72);
    line-height: 1.8;
}

.footer-social {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.footer-social a {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 999px;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
}

.footer-social a:hover,
.footer-social a:focus {
    background: #d7aa72;
    color: #211914;
}

.footer-column h6,
.footer-newsletter h6 {
    font-size: 0.85rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #d7aa72;
    margin-bottom: 1.2rem;
    font-weight: 800;
}

.footer-copy,
.footer-links a,
.footer-contact li,
.footer-contact a,
.footer-bottom p {
    color: rgba(255, 247, 238, 0.72);
}

.footer-links,
.footer-contact {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 0.8rem;
}

.footer-links a,
.footer-contact a {
    display: inline-flex;
    transition: color var(--wf-transition), transform var(--wf-transition);
}

.footer-links a:hover,
.footer-links a:focus,
.footer-contact a:hover,
.footer-contact a:focus {
    color: #ffffff;
}

.footer-contact li {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    line-height: 1.65;
}

.footer-contact i {
    color: #d7aa72;
    margin-top: 0.22rem;
}

.footer-newsletter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 460px);
    gap: 1.5rem;
    align-items: center;
    padding: 1.25rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-newsletter h6 {
    margin-bottom: 0.35rem;
}

.footer-newsletter p {
    margin: 0;
    color: rgba(255, 247, 238, 0.66);
}

.footer-newsletter__form {
    display: flex;
    gap: 0.6rem;
    padding: 0.35rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
}

.footer-newsletter__form input {
    min-width: 0;
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    color: #ffffff;
    padding: 0.72rem 0.9rem;
}

.footer-newsletter__form input::placeholder {
    color: rgba(255, 247, 238, 0.54);
}

.footer-newsletter__form button {
    border: 0;
    border-radius: 999px;
    background: #d7aa72;
    color: #211914;
    padding: 0.72rem 1.15rem;
    font-weight: 800;
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.footer-legal {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.footer-legal a {
    color: rgba(255, 247, 238, 0.72);
    font-size: 0.9rem;
}

.footer-legal a:hover,
.footer-legal a:focus {
    color: #ffffff;
}

[data-reveal] {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

[data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (min-width: 992px) {
    .application-showcase__headline[data-reveal] {
        transform: translate(-50%, calc(-50% + 28px));
    }

    .application-showcase__headline[data-reveal].is-visible {
        transform: translate(-50%, -50%);
    }
}

@keyframes floatCard {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-12px);
    }
}

@media (max-width: 1399.98px) {
    .header-menu .nav-link {
        padding-inline: 0.62rem;
        font-size: 0.88rem;
    }

    .header-menu .nav-link.border_link::before {
        left: 0.62rem;
        width: calc(100% - 1.24rem);
    }
}

@media (max-width: 991.98px) {
    .site-header {
        background: #ffffff;
    }

    .site-footer {
        background-position: center center;
        background-attachment: scroll;
    }

    .pre-header__inner {
        min-height: auto;
        padding-block: 0.6rem;
        align-items: flex-start;
        flex-direction: column;
        gap: 0.55rem;
    }

    .pre-header__contact,
    .pre-header__actions {
        width: 100%;
        justify-content: space-between;
        gap: 0.6rem 1rem;
    }

    .pre-header__contact a,
    .pre-header__time,
    .login-btn {
        font-size: 0.78rem;
    }

    .main-header {
        min-height: 70px;
    }

    .brand-logo__mark {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        font-size: 1.6rem;
    }

    .brand-logo__text span {
        font-size: 1.18rem;
    }

    .brand-logo__text small {
        font-size: 0.68rem;
    }

    .main-header .navbar-collapse {
        margin-top: 0.85rem;
        border-top: 1px solid rgba(47, 38, 31, 0.1);
    }

    .header-menu {
        align-items: stretch !important;
        gap: 0;
        padding: 0.35rem 0 0.75rem;
    }

    .header-menu .nav-link {
        display: flex;
        width: 100%;
        padding: 0.9rem 0;
        border-bottom: 1px solid rgba(47, 38, 31, 0.08);
        font-size: 0.9rem;
        white-space: normal;
    }

    .header-menu .nav-link.border_link::before {
        display: none;
    }

    .header-menu .nav-item:last-child .nav-link {
        border-bottom: 0;
    }

    .hero-slider {
        min-height: 720px;
    }

    .hero-slider__inner {
        grid-template-columns: 1fr;
        align-items: end;
        padding: 2rem 1.25rem 5rem;
    }

    .hero-slider__categories {
        grid-row: 2;
        align-self: auto;
        display: flex;
        gap: 0.85rem;
        max-width: 100%;
        overflow-x: auto;
        padding: 0 0 0.5rem;
    }

    .hero-slider__category,
    .hero-slider__categories span {
        flex: 0 0 auto;
        font-size: 0.72rem;
        padding-left: 1rem;
    }

    .hero-slider__copy {
        grid-row: 1;
        min-height: 160px;
        align-self: center;
    }

    .hero-slider__stage {
        opacity: 0.82;
    }

    .hero-slide-frame {
        width: min(72vw, 470px);
        left: 50%;
        top: 50%;
    }

    .about-visual {
        min-height: auto;
        gap: 1rem;
    }

    .about-culture__visual {
        min-height: 560px;
    }

    .about-culture__image--main {
        inset: 0 0 16% 0;
    }

    .about-culture__image--floating {
        width: 52%;
        height: 34%;
    }

    .impression-section {
        min-height: auto;
        grid-template-columns: 1fr;
    }

    .impression-section__intro {
        padding: 4rem 1.25rem 2rem;
    }

    .impression-section__visual {
        min-height: 520px;
    }

    .impression-card {
        position: relative;
        left: auto;
        bottom: auto;
        width: calc(100% - 2.5rem);
        min-height: 390px;
        margin: -8rem auto 0;
    }

    .application-showcase {
        min-height: auto;
        padding: 4.5rem 1.25rem;
    }

    .application-showcase__headline {
        position: relative;
        left: auto;
        top: auto;
        width: min(680px, 100%);
        margin: 0 auto 2rem;
        transform: none;
    }

    .application-showcase__headline h2 {
        font-size: clamp(3rem, 9vw, 5rem);
    }

    .application-collage {
        position: relative;
        inset: auto;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .application-tile,
    .application-tile--home,
    .application-tile--cinema,
    .application-tile--hotel,
    .application-tile--restaurant,
    .application-tile--office,
    .application-tile--events,
    .application-tile--retail,
    .application-tile--architects {
        position: relative;
        inset: auto;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: 100%;
        height: auto;
        aspect-ratio: 1.12;
    }

    .application-collage .application-tile:hover,
    .application-collage .application-tile:focus {
        transform: scale(1.04);
    }

    .sustainability-story {
        padding: 4rem 0;
    }

    .sustainability-story__container {
        min-height: auto;
    }

    .sustainability-story__heading {
        max-width: 720px;
        margin-bottom: 2rem;
    }

    .sustainability-story__media {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        height: 380px;
    }

    .sustainability-story__card {
        position: relative;
        left: auto;
        bottom: auto;
        width: min(620px, calc(100% - 2rem));
        min-height: auto;
        margin: -3.5rem 0 0 1rem;
        padding: 2.4rem;
    }

    .sustainability-story__outline {
        display: none;
    }

    .testimonial-story {
        padding: 4rem 0;
        background-attachment: scroll, scroll;
    }

    .testimonial-story__container {
        min-height: auto;
    }

    .testimonial-story__intro {
        width: 100%;
        margin-bottom: 2.2rem;
    }

    .testimonial-story__intro h2 {
        margin-bottom: 2rem;
    }

    .testimonial-story__video {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        height: 390px;
    }

    .testimonial-story__card {
        position: relative;
        left: auto;
        bottom: auto;
        width: min(560px, calc(100% - 2rem));
        min-height: auto;
        margin: -3.5rem 0 0 1rem;
        padding: 2.25rem 2.6rem;
    }

    .testimonial-story__quote-mark {
        right: 1.5rem;
        left: auto;
        top: 7.2rem;
        font-size: 14rem;
        opacity: 0.28;
    }

    .testimonial-story__outline {
        display: none;
    }

    .trending-story {
        padding: 4rem 0;
    }

    .trending-story__container {
        display: grid;
        gap: 2rem;
        min-height: auto;
    }

    .trending-story__content {
        width: min(720px, 100%);
    }

    .trending-story__content h2 {
        margin-bottom: 1.35rem;
    }

    .trending-story__content p {
        margin-bottom: 2rem;
    }

    .trending-story__main-image,
    .trending-story__mood-image,
    .trending-story__swatches {
        position: relative;
        inset: auto;
        right: auto;
        bottom: auto;
        left: auto;
        top: auto;
    }

    .trending-story__main-image {
        grid-row: 2;
        width: 100%;
        height: 360px;
    }

    .trending-story__mood-image {
        grid-row: 3;
        width: min(330px, 70%);
        height: 360px;
        margin-top: -7rem;
        margin-left: 2rem;
    }

    .trending-story__swatches {
        grid-row: 4;
        grid-template-columns: repeat(3, 82px);
        gap: 1.2rem;
        width: auto;
        margin: 0.5rem 0 0;
    }

    .trending-story__swatches span {
        width: 82px;
        height: 82px;
    }

    .trending-story__outline {
        display: none;
    }

    .blog-story {
        padding: 4rem 0;
    }

    .blog-story__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .blog-story__grid {
        grid-template-columns: 1fr;
    }

    .blog-card--featured {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .blog-card--featured .blog-card__image {
        min-height: 360px;
    }

    .blog-card__body {
        padding: 2.4rem;
    }

    .home-cta__inner {
        align-items: flex-start;
        flex-direction: column;
        padding: 2rem;
    }

    .footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    .footer-newsletter {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .pre-header__contact,
    .pre-header__actions {
        align-items: flex-start;
        flex-direction: column;
        justify-content: flex-start;
    }

    .login-btn {
        padding: 0.36rem 0.8rem;
    }

    .section-space {
        padding: 4.5rem 0;
    }

    .impression-section__intro h2 {
        font-size: clamp(2.55rem, 12vw, 3.7rem);
    }

    .impression-view span,
    .impression-action span {
        width: 52px;
        height: 52px;
    }

    .impression-section__visual {
        min-height: 390px;
    }

    .impression-card {
        width: calc(100% - 2rem);
        min-height: 440px;
        margin-top: -4rem;
        padding: 1.5rem;
    }

    .impression-card__slides {
        min-height: 210px;
    }

    .impression-card__actions {
        gap: 1rem;
        flex-direction: column;
    }

    .application-showcase {
        padding: 3.5rem 1rem;
    }

    .application-showcase__headline h2 {
        font-size: clamp(2.7rem, 13vw, 4.2rem);
    }

    .application-collage {
        grid-template-columns: 1fr;
    }

    .application-tile {
        aspect-ratio: 1.18;
    }

    .hero-slider {
        min-height: 640px;
    }

    .hero-slider__inner {
        padding-inline: 1rem;
    }

    .hero-slider__text h1 {
        font-size: clamp(3.1rem, 16vw, 5.2rem);
    }

    .hero-slider__text p {
        font-size: 1.05rem;
    }

    .hero-slide-frame {
        width: min(88vw, 360px);
        left: 50%;
        top: 48%;
    }

    .hero-slider__controls {
        right: 1rem;
        bottom: 1rem;
    }

    .hero-slider__arrow {
        width: 40px;
        height: 40px;
    }

    .about-visual__card--large {
        padding: 1.5rem;
    }

    .about-culture__visual {
        min-height: 460px;
    }

    .about-culture__image--floating {
        width: 58%;
        height: 30%;
        border-width: 7px;
    }

    .about-culture__badge {
        left: 1rem;
        right: 1rem;
        bottom: 1rem;
        max-width: none;
    }

    .about-culture h2 {
        font-size: clamp(2.55rem, 12vw, 3.7rem);
    }

    .about-culture__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .sustainability-story {
        padding: 3.25rem 0;
    }

    .sustainability-story .sustainability-story__heading h2 {
        margin-top: 1.25rem;
        font-size: clamp(2.55rem, 12vw, 3.7rem);
    }

    .sustainability-story__kicker {
        font-size: 0.83rem;
        letter-spacing: 0.12em;
    }

    .sustainability-story__media {
        height: 280px;
    }

    .sustainability-story__card {
        width: calc(100% - 1.5rem);
        margin: -2rem auto 0;
        padding: 1.6rem 1.25rem;
    }

    .sustainability-story__card h3 {
        margin-bottom: 1rem;
        font-size: clamp(2.3rem, 11vw, 3.1rem);
    }

    .sustainability-story__card p {
        max-width: none;
        font-size: 0.94rem;
        line-height: 1.65;
    }

    .sustainability-story__link {
        margin-top: 1.45rem;
    }

    .sustainability-story__link span {
        width: 56px;
        height: 56px;
    }

    .testimonial-story {
        padding: 3.25rem 0;
    }

    .testimonial-story__kicker {
        font-size: 0.83rem;
        letter-spacing: 0.12em;
    }

    .testimonial-story__intro h2 {
        font-size: clamp(2.55rem, 12vw, 3.7rem);
    }

    .testimonial-story__read span {
        width: 56px;
        height: 56px;
    }

    .testimonial-story__video {
        height: 265px;
    }

    .testimonial-story__brand {
        top: 1rem;
        left: 1rem;
    }

    .testimonial-story__brand strong {
        font-size: 0.9rem;
    }

    .testimonial-story__brand small {
        font-size: 0.68rem;
    }

    .testimonial-story__play {
        width: 54px;
        height: 38px;
        font-size: 1.5rem;
    }

    .testimonial-story__card {
        width: calc(100% - 1.5rem);
        margin: -2rem auto 0;
        padding: 1.65rem 1.35rem;
    }

    .testimonial-story__arrows {
        margin-bottom: 1.35rem;
    }

    .testimonial-story__card p {
        max-width: none;
        font-size: 0.96rem;
        line-height: 1.65;
    }

    .testimonial-story__card h3 {
        margin-top: 1.8rem;
        font-size: clamp(2.2rem, 10vw, 3rem);
    }

    .testimonial-story__quote-mark {
        display: none;
    }

    .trending-story {
        padding: 3.25rem 0;
    }

    .trending-story__kicker {
        font-size: 0.83rem;
        letter-spacing: 0.12em;
    }

    .trending-story__content h2 {
        margin-top: 1.35rem;
        font-size: clamp(2.55rem, 12vw, 3.7rem);
    }

    .trending-story__link span {
        width: 56px;
        height: 56px;
    }

    .trending-story__main-image {
        height: 250px;
    }

    .trending-story__mood-image {
        width: min(245px, 78%);
        height: 300px;
        margin-top: -4rem;
        margin-left: 1rem;
    }

    .trending-story__swatches {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.85rem;
    }

    .trending-story__swatches span {
        width: 100%;
        height: auto;
        aspect-ratio: 1;
    }

    .blog-story {
        padding: 3.25rem 0;
    }

    .blog-story__kicker {
        font-size: 0.83rem;
        letter-spacing: 0.12em;
    }

    .blog-story__head h2 {
        font-size: clamp(2.55rem, 12vw, 3.7rem);
    }

    .blog-story__view span {
        width: 56px;
        height: 56px;
    }

    .blog-card--featured .blog-card__image {
        min-height: 270px;
    }

    .blog-card__body {
        padding: 1.6rem;
    }

    .blog-card--compact {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .blog-card--compact > div {
        padding: 1rem 1.15rem 1.2rem;
    }

    .blog-card__thumb {
        height: 220px;
    }

    .home-cta {
        padding: 2.25rem 0;
    }

    .home-cta__inner {
        padding: 1.5rem;
    }

    .home-cta__actions,
    .home-cta__btn {
        width: 100%;
    }

    .footer-main {
        grid-template-columns: 1fr;
    }

    .footer-newsletter__form {
        align-items: stretch;
        border-radius: 18px;
        flex-direction: column;
        padding: 0.6rem;
    }

    .footer-newsletter__form button {
        width: 100%;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .section-heading h2,
    .brand-intro h2,
    .about-section h2,
    .sustainability-section h2,
    .site-footer h2 {
        font-size: 2.5rem;
    }
}

/* Header, home and footer responsive hardening */
@media (max-width: 1199.98px) {
    .header-container,
    .site-footer > .container,
    .about-culture > .container,
    .sustainability-story > .container,
    .testimonial-story > .container,
    .trending-story > .container,
    .blog-story > .container,
    .home-cta > .container {
        max-width: 100%;
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .hero-slider__inner {
        padding-right: 2.5rem;
        padding-left: 2.5rem;
    }

    .impression-section__intro {
        padding-right: 3rem;
        padding-left: 3rem;
    }

    .impression-card {
        left: clamp(10rem, 17vw, 18rem);
        width: min(560px, 52vw);
    }

    .application-showcase__inner {
        max-width: 100%;
    }
}

@media (max-width: 991.98px) {
    .pre-header__inner {
        min-height: 42px;
        padding: .4rem 0;
        align-items: center;
        flex-direction: row;
    }

    .pre-header__contact,
    .pre-header__actions {
        width: auto;
        flex-wrap: nowrap;
    }

    .main-header .navbar-collapse {
        max-height: calc(100vh - 130px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .header-menu .nav-link.active {
        color: #6b4226;
    }

    .hero-slider {
        min-height: 650px;
    }

    .hero-slider__inner {
        padding: 2rem 2rem 4rem;
    }

    .hero-slider__categories {
        scrollbar-width: none;
    }

    .hero-slider__categories::-webkit-scrollbar {
        display: none;
    }

    .impression-section__intro {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .impression-card {
        left: auto;
        width: calc(100% - 4rem);
    }

    .application-showcase__headline,
    .application-collage {
        max-width: 820px;
        margin-right: auto;
        margin-left: auto;
    }

    .about-culture > .container,
    .sustainability-story > .container,
    .testimonial-story > .container,
    .trending-story > .container,
    .blog-story > .container,
    .home-cta > .container,
    .site-footer > .container {
        padding-right: 2rem;
        padding-left: 2rem;
    }

    .footer-main {
        gap: 2.5rem 2rem;
    }
}

@media (max-width: 767.98px) {
    .header-container {
        padding-right: 1.25rem;
        padding-left: 1.25rem;
    }

    .pre-header__inner {
        flex-direction: row;
        justify-content: space-between;
        gap: .75rem;
    }

    .pre-header__contact,
    .pre-header__actions {
        width: auto;
        align-items: center;
        flex-direction: row;
        gap: .75rem;
    }

    .pre-header__time {
        display: none;
    }

    .main-header {
        min-height: 64px;
    }

    .main-header .navbar-collapse {
        max-height: calc(100vh - 108px);
    }

    .hero-slider {
        min-height: 590px;
    }

    .hero-slider__inner {
        padding: 1.5rem 1.25rem 4rem;
    }

    .hero-slider__copy {
        min-height: 135px;
    }

    .hero-slider__text h1 {
        font-size: clamp(3rem, 14vw, 4.8rem);
    }

    .impression-section__intro {
        padding: 3.5rem 1.25rem 2rem;
    }

    .impression-section__visual {
        min-height: 350px;
    }

    .impression-card {
        width: calc(100% - 2rem);
        min-height: 400px;
    }

    .application-showcase {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .about-culture > .container,
    .sustainability-story > .container,
    .testimonial-story > .container,
    .trending-story > .container,
    .blog-story > .container,
    .home-cta > .container,
    .site-footer > .container {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .about-culture__features {
        gap: .5rem;
    }

    .about-culture__features span {
        padding: .55rem .7rem;
        font-size: .68rem;
    }

    .blog-story__head {
        gap: 1.5rem;
    }

    .home-cta__actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .footer-main {
        gap: 2.25rem;
    }

    .footer-column h6,
    .footer-newsletter h6 {
        margin-bottom: .9rem;
    }
}

@media (max-width: 575.98px) {
    .header-container {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .pre-header__inner {
        min-height: 36px;
        padding: .3rem 0;
    }

    .pre-header__contact a[href^="mailto:"],
    .pre-header__time {
        display: none;
    }

    .pre-header__contact a,
    .login-btn {
        font-size: .7rem;
    }

    .login-btn {
        padding: .28rem .65rem;
    }

    .brand-logo {
        gap: .6rem;
    }

    .brand-logo__mark {
        width: 37px;
        height: 37px;
        border-radius: 10px;
        font-size: 1.45rem;
    }

    .brand-logo__text span {
        font-size: 1.05rem;
    }

    .brand-logo__text small {
        font-size: .58rem;
        letter-spacing: .17em;
    }

    .header-toggler {
        padding: .35rem .45rem;
    }

    .hero-slider {
        min-height: 540px;
    }

    .hero-slider__inner {
        padding: 1.25rem 1rem 3.5rem;
    }

    .hero-slider__copy {
        min-height: 120px;
    }

    .hero-slider__text h1 {
        font-size: clamp(2.75rem, 14vw, 4rem);
    }

    .hero-slider__text p {
        font-size: .9rem;
    }

    .hero-slide-frame {
        width: min(84vw, 330px);
    }

    .hero-slider__category,
    .hero-slider__categories span {
        font-size: .64rem;
    }

    .impression-section__intro {
        padding: 3rem 1rem 1.75rem;
    }

    .impression-section__visual {
        min-height: 290px;
    }

    .impression-card {
        min-height: 380px;
        margin-top: -2rem;
        padding: 1.25rem;
    }

    .impression-card__slides {
        min-height: 190px;
    }

    .impression-copy p {
        font-size: .9rem;
    }

    .application-tile {
        min-height: 250px;
        aspect-ratio: auto;
    }

    .about-culture__visual {
        min-height: 390px;
    }

    .about-culture__badge {
        padding: 1rem;
    }

    .sustainability-story__media,
    .testimonial-story__video {
        height: 240px;
    }

    .sustainability-story__card,
    .testimonial-story__card {
        width: calc(100% - 1rem);
        padding: 1.35rem 1.1rem;
    }

    .trending-story__main-image {
        height: 225px;
    }

    .trending-story__mood-image {
        height: 250px;
    }

    .blog-card--featured .blog-card__image,
    .blog-card__thumb {
        min-height: 0;
        height: 230px;
    }

    .home-cta__inner {
        padding: 1.35rem;
    }

    .home-cta__inner h2 {
        font-size: 2.2rem;
    }

    .home-cta__actions {
        grid-template-columns: 1fr;
    }

    .footer-main {
        padding-bottom: 2rem;
    }

    .footer-newsletter {
        padding: 1.5rem 0;
    }

    .footer-legal {
        gap: .75rem 1rem;
    }
}

@media (max-width: 399.98px) {
    .pre-header__contact a span,
    .login-btn span {
        font-size: .65rem;
    }

    .hero-slider {
        min-height: 500px;
    }

    .hero-slider__text h1 {
        font-size: 2.65rem;
    }

    .hero-slider__text p {
        font-size: .82rem;
    }

    .hero-slide-frame {
        width: 78vw;
    }

    .impression-section__intro h2,
    .application-showcase__headline h2,
    .about-culture h2,
    .sustainability-story .sustainability-story__heading h2,
    .testimonial-story__intro h2,
    .trending-story__content h2,
    .blog-story__head h2 {
        font-size: 2.6rem;
    }

    .impression-card {
        min-height: 400px;
    }

    .application-tile {
        min-height: 220px;
    }

    .about-culture__visual {
        min-height: 350px;
    }

    .about-culture__features span {
        flex: 1 1 100%;
        text-align: center;
    }

    .sustainability-story__media,
    .testimonial-story__video {
        height: 215px;
    }

    .trending-story__swatches {
        gap: .55rem;
    }

    .blog-card--featured .blog-card__image,
    .blog-card__thumb {
        height: 205px;
    }

    .site-footer {
        padding-top: 3.5rem;
    }

    .footer-legal {
        flex-direction: column;
    }
}

/* Flooring Culture vector logo */
.brand-logo__image {
    display: block;
    width: 310px;
    max-width: 42vw;
    height: auto;
}

.brand-logo__image--footer {
    width: 290px;
    max-width: 100%;
}

@media (max-width: 991.98px) {
    .brand-logo__image {
        width: 270px;
        max-width: 52vw;
    }
}

@media (max-width: 575.98px) {
    .brand-logo__image {
        width: 220px;
        max-width: 64vw;
    }

    .brand-logo__image--footer {
        width: 245px;
        max-width: 88vw;
    }
}

@media (max-width: 399.98px) {
    .brand-logo__image {
        width: 185px;
        max-width: 61vw;
    }
}

+/* Dynamic product catalogue and enquiry */
.product-enquiry-alert,.product-enquiry-toast { display:flex; align-items:center; gap:.65rem; margin-bottom:1.5rem; padding:1rem 1.1rem; color:#fff; background:#6b4226; font-size:.8rem; font-weight:700; }
.product-enquiry-toast { position:fixed; z-index:2100; top:130px; right:1rem; max-width:min(420px,calc(100vw - 2rem)); box-shadow:0 18px 45px rgba(23,17,13,.22); }
.product-shop-card h2 a { color:var(--wf-forest-deep); }
.product-shop-card__body > p { min-height:48px; margin:0 0 1.2rem; color:var(--wf-muted); font-size:.78rem; line-height:1.65; }
.product-shop-card__actions { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; padding-top:1rem; border-top:1px solid var(--wf-line); }
.product-shop-card__actions button,.product-shop-card__actions a { display:flex; align-items:center; justify-content:center; min-height:43px; border:1px solid var(--wf-forest); padding:.65rem .7rem; font-size:.65rem; font-weight:800; letter-spacing:.06em; text-align:center; text-transform:uppercase; transition:.25s; }
.product-shop-card__actions button { color:#fff; background:var(--wf-forest); }
.product-shop-card__actions a { gap:.4rem; color:var(--wf-forest); background:#fff; }
.product-shop-card__actions button:hover,.product-shop-card__actions a:hover { color:#fff; background:var(--wf-forest-deep); border-color:var(--wf-forest-deep); }
.product-enquiry-modal .modal-dialog { max-width:900px; }
.product-enquiry-modal .modal-content { position:relative; display:grid; grid-template-columns:.75fr 1.25fr; overflow:hidden; border:0; border-radius:2px 35px 2px 2px; background:#fff; box-shadow:0 30px 90px rgba(23,17,13,.25); }
.product-enquiry-modal__close { position:absolute; z-index:3; top:1rem; right:1rem; display:grid; place-items:center; width:38px; height:38px; border:0; border-radius:50%; color:var(--wf-ink); background:#f3ede5; }
.product-enquiry-modal__intro { padding:3rem 2.2rem; color:#fff; background:linear-gradient(145deg,#17110d,#6b4226); }
.product-enquiry-modal__intro > span { color:var(--wf-amber); font-size:.65rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.product-enquiry-modal__intro h2 { margin:1rem 0; color:#fff; font:600 3.2rem/.9 "Cormorant Garamond",serif; }
.product-enquiry-modal__intro p { color:rgba(255,255,255,.67); font-size:.78rem; line-height:1.7; }
.product-enquiry-modal__intro strong { color:#fff; }
.product-enquiry-modal__form { padding:3rem 2.4rem 2.3rem; }
.product-enquiry-fields { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem 1rem; }
.product-enquiry-fields label { min-width:0; }
.product-enquiry-fields label > span { display:block; margin-bottom:.4rem; color:var(--wf-ink); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.product-enquiry-fields input,.product-enquiry-fields textarea { width:100%; border:0; border-bottom:1px solid var(--wf-line); border-radius:0; outline:0; padding:.62rem 0; background:transparent; font:500 .82rem "Manrope",sans-serif; }
.product-enquiry-fields input:focus,.product-enquiry-fields textarea:focus { border-color:var(--wf-clay); box-shadow:0 1px 0 var(--wf-clay); }
.product-enquiry-fields textarea { resize:vertical; }
.product-enquiry-fields label small,.product-enquiry-modal__product-error { display:block; margin-top:.3rem; color:#6b2f1d; font-size:.62rem; }
.product-enquiry-fields__full { grid-column:1/-1; }
.product-enquiry-modal__submit { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:48px; margin-top:1.5rem; border:0; padding:.7rem 1rem; color:#fff; background:var(--wf-forest); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.product-spec-page { padding:2rem 0 5.5rem; background-color:#fff; background-image:radial-gradient(rgba(23,17,13,.035) 2px, transparent 2px); background-size:24px 24px; }
.product-spec-crumb { display:flex; align-items:center; gap:.65rem; margin-bottom:1.25rem; color:#8a817b; font-size:.72rem; }
.product-spec-crumb a { color:#8b5e3c; font-weight:800; }
.product-spec-crumb i { font-size:.58rem; }
.product-spec-layout { display:grid; grid-template-columns:minmax(420px,1.02fr) minmax(360px,.98fr); gap:30px; align-items:start; }
.product-spec-gallery { display:grid; gap:12px; }
.product-spec-gallery__main { width:100%; max-width:506px; aspect-ratio:1/1; overflow:hidden; background:#edf3f6; }
.product-spec-gallery__main img { width:100%; height:100%; object-fit:cover; }
.product-spec-gallery__thumb { width:160px; height:160px; border:0; padding:0; overflow:hidden; background:#edf3f6; }
.product-spec-gallery__thumb img { width:100%; height:100%; object-fit:cover; }
.product-spec-gallery__thumb.is-active { outline:2px solid rgba(139,94,60,.22); outline-offset:3px; }
.product-spec-panel { padding-top:.1rem; color:#111; }
.product-spec-panel__top { display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; margin-bottom:1.7rem; }
.product-spec-panel h1 { margin:0; color:#111; font:700 2rem/1 "Cormorant Garamond",serif; letter-spacing:.12em; }
.product-spec-compare { display:inline-flex; align-items:center; gap:.45rem; border:0; padding:.2rem 0; color:#111; background:transparent; font-size:.85rem; font-weight:700; }
.product-spec-compare i { font-size:1rem; }
.product-spec-table { display:grid; gap:.78rem; margin:0; max-width:520px; }
.product-spec-table div { display:grid; grid-template-columns:175px minmax(0,1fr); gap:0; align-items:baseline; }
.product-spec-table dt { color:#141414; font-size:.95rem; font-weight:500; }
.product-spec-table dd { display:grid; grid-template-columns:24px minmax(0,1fr); margin:0; color:#111; font-size:.95rem; }
.product-spec-table dd span { color:#111; }
.product-spec-table dd strong { font-weight:800; }
.product-spec-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; max-width:520px; margin:3rem 0 1rem; text-align:center; }
.product-spec-actions a { display:grid; justify-items:center; gap:.25rem; color:#ff9800; font-size:.82rem; line-height:1.45; }
.product-spec-actions i { color:#d74932; font-size:1.45rem; }
.product-spec-buttons { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.product-spec-buttons button { min-width:170px; min-height:38px; border:1px solid #ff9800; padding:.55rem 1.2rem; color:#111; background:#fff; font-size:.8rem; transition:.25s; }
.product-spec-buttons button:hover { color:#fff; background:#ff9800; }
.product-spec-buttons a { color:#6b4226; font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.product-detail-hero { padding:2rem 0 6rem; background:var(--wf-cream); }
.product-detail-hero__crumb { display:flex; align-items:center; gap:.65rem; margin-bottom:2rem; color:var(--wf-muted); font-size:.68rem; }
.product-detail-hero__crumb a { color:var(--wf-clay); font-weight:700; }
.product-detail-hero__grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(3rem,7vw,7rem); align-items:center; }
.product-detail-hero__media { position:relative; height:570px; overflow:hidden; background:var(--wf-sand); }
.product-detail-hero__media img { width:100%; height:100%; object-fit:cover; }
.product-detail-hero__media > span { position:absolute; top:1.2rem; left:1.2rem; padding:.55rem .75rem; color:#fff; background:var(--wf-clay); font-size:.62rem; font-weight:800; text-transform:uppercase; }
.product-detail-kicker { color:var(--wf-clay); font-size:.66rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.product-detail-hero__content h1 { margin:.7rem 0 1rem; font:600 clamp(3.8rem,6vw,6rem)/.82 "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.product-detail-hero__lead { color:var(--wf-forest-deep)!important; font:600 1.5rem/1.3 "Cormorant Garamond",serif; }
.product-detail-hero__content > p:not(.product-detail-hero__lead) { color:var(--wf-muted); font-size:.88rem; line-height:1.8; }
.product-detail-hero__actions { display:flex; align-items:center; gap:1.2rem; margin-top:2rem; }
.product-detail-hero__actions button { display:inline-flex; align-items:center; gap:1.5rem; border:0; padding:.9rem 1.1rem; color:#fff; background:var(--wf-forest); font-size:.7rem; font-weight:800; text-transform:uppercase; }
.product-detail-hero__actions a { padding-bottom:.35rem; border-bottom:1px solid var(--wf-forest); color:var(--wf-forest); font-size:.68rem; font-weight:800; text-transform:uppercase; }
.product-detail-info { padding:6rem 0; color:#fff; background:var(--wf-forest-deep); }
.product-detail-info__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,7vw,7rem); }
.product-detail-info h2 { margin:.8rem 0 0; color:#fff; font:600 clamp(3rem,5vw,4.7rem)/.88 "Cormorant Garamond",serif; }
.product-detail-features { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.15); border-left:1px solid rgba(255,255,255,.15); }
.product-detail-features > div { min-height:140px; padding:1.4rem; border-right:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); }
.product-detail-features span { color:var(--wf-amber); font-size:.62rem; }
.product-detail-features strong { display:block; margin-top:2rem; color:#fff; font:600 1.35rem/1.1 "Cormorant Garamond",serif; }
.product-detail-applications { padding:5rem 0; background:#fff; }
.product-detail-applications__head { display:flex; justify-content:space-between; align-items:end; margin-bottom:2rem; }
.product-detail-applications h2 { margin:.6rem 0 0; font:600 clamp(3rem,5vw,4.5rem)/.9 "Cormorant Garamond",serif; color:var(--wf-forest-deep); }
.product-detail-application-list { display:flex; flex-wrap:wrap; gap:.8rem; }
.product-detail-application-list span { display:flex; align-items:center; gap:.55rem; padding:.8rem 1rem; border:1px solid var(--wf-line); color:var(--wf-ink); font-size:.75rem; font-weight:700; }
.product-detail-application-list i { color:var(--wf-clay); }
.product-related { padding:5rem 0 6rem; background:#f3ede5; }
.product-related__head { display:flex; justify-content:space-between; align-items:end; margin-bottom:2.5rem; }
.product-related__head h2 { margin:.6rem 0 0; font:600 3.6rem/.9 "Cormorant Garamond",serif; }
.product-related__head > a { color:var(--wf-forest); font-size:.68rem; font-weight:800; text-transform:uppercase; }
.product-related__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; }
.product-related article { background:#fff; }
.product-related article > a { display:block; padding-bottom:1.2rem; }
.product-related img { width:100%; height:260px; object-fit:cover; }
.product-related article span,.product-related article h3,.product-related article small { display:block; margin-right:1.2rem; margin-left:1.2rem; }
.product-related article span { margin-top:1rem; color:var(--wf-clay); font-size:.6rem; font-weight:800; text-transform:uppercase; }
.product-related article h3 { margin-top:.35rem; margin-bottom:.8rem; color:var(--wf-forest-deep); font:600 1.9rem "Cormorant Garamond",serif; }
.product-related article small { color:var(--wf-forest); font-size:.63rem; font-weight:800; text-transform:uppercase; }
@media (max-width:991.98px) {
 .product-spec-page { padding:1.5rem 0 4rem; }
 .product-spec-layout { grid-template-columns:1fr; gap:2rem; padding-right:2rem; padding-left:2rem; }
 .product-spec-crumb { padding-right:2rem; padding-left:2rem; }
 .product-spec-gallery__main { max-width:none; }
 .product-spec-panel { padding-top:0; }
 .product-detail-hero__grid,.product-detail-info__grid { grid-template-columns:1fr 1fr; gap:3rem; padding-right:2rem; padding-left:2rem; }
 .product-detail-hero__crumb,.product-detail-applications > .container,.product-related > .container { max-width:100%; padding-right:2rem; padding-left:2rem; }
 .product-detail-hero__media { height:470px; }
}
@media (max-width:767.98px) {
 .product-spec-panel__top { flex-direction:column; margin-bottom:1.3rem; }
 .product-spec-table div { grid-template-columns:1fr; gap:.2rem; padding-bottom:.75rem; border-bottom:1px solid rgba(23,17,13,.08); }
 .product-spec-table dd { grid-template-columns:18px minmax(0,1fr); }
 .product-spec-actions { grid-template-columns:1fr; gap:1rem; margin:2rem 0 1.2rem; text-align:left; }
 .product-spec-actions a { grid-template-columns:32px 1fr; justify-items:start; align-items:center; text-align:left; }
 .product-spec-buttons { align-items:stretch; flex-direction:column; }
 .product-enquiry-modal .modal-content { grid-template-columns:1fr; }
 .product-enquiry-modal__intro { padding:2rem; }
 .product-enquiry-modal__intro h2 { font-size:2.7rem; }
 .product-enquiry-modal__form { padding:2rem; }
 .product-detail-hero__grid,.product-detail-info__grid { grid-template-columns:1fr; }
 .product-detail-hero__media { height:400px; }
 .product-related__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:575.98px) {
 .product-spec-page { padding-top:1rem; padding-bottom:3rem; }
 .product-spec-layout,.product-spec-crumb { padding-right:1rem; padding-left:1rem; }
 .product-spec-gallery__thumb { width:118px; height:118px; }
 .product-spec-panel h1 { font-size:1.65rem; }
 .product-shop-card__actions { grid-template-columns:1fr; }
 .product-enquiry-modal .modal-dialog { margin:.7rem; }
 .product-enquiry-modal__intro { padding:1.7rem 1.3rem; }
 .product-enquiry-modal__intro p { margin-bottom:0; }
 .product-enquiry-modal__form { padding:1.7rem 1.3rem; }
 .product-enquiry-fields { grid-template-columns:1fr; }
 .product-enquiry-fields__full { grid-column:auto; }
 .product-enquiry-fields input,.product-enquiry-fields textarea { font-size:16px; }
 .product-detail-hero { padding-top:1.3rem; padding-bottom:4rem; }
 .product-detail-hero__grid,.product-detail-info__grid,.product-detail-hero__crumb,.product-detail-applications > .container,.product-related > .container { padding-right:1rem; padding-left:1rem; }
 .product-detail-hero__media { height:300px; }
 .product-detail-hero__content h1 { font-size:3.5rem; }
 .product-detail-hero__actions { align-items:flex-start; flex-direction:column; }
 .product-detail-info,.product-detail-applications,.product-related { padding:4rem 0; }
 .product-detail-info h2 { font-size:3rem; }
 .product-detail-features { grid-template-columns:1fr; }
 .product-detail-features > div { min-height:115px; }
 .product-detail-features strong { margin-top:1.3rem; }
 .product-related__head { align-items:flex-start; flex-direction:column; gap:1rem; }
 .product-related__grid { grid-template-columns:1fr; }
 .product-related img { height:240px; }
}

/* Modern home motion system */
.home-modern {
    position: relative;
    background: #ffffff;
}

.home-scroll-progress {
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    pointer-events: none;
    background: rgba(255,255,255,.14);
}

.home-scroll-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,#17110d,#8b5e3c,#c99a6b);
    transform: scaleX(0);
    transform-origin: left center;
    will-change: transform;
}

.home-motion-strip {
    overflow: hidden;
    border-top: 1px solid rgba(75,48,32,.12);
    border-bottom: 1px solid rgba(75,48,32,.12);
    color: #ffffff;
    background: #17110d;
}

.home-motion-strip__track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: homeMarquee 28s linear infinite;
}

.home-motion-strip__track span {
    display: inline-flex;
    align-items: center;
    gap: 2.3rem;
    padding: 1rem 2.3rem;
    font-family: "Cormorant Garamond",serif;
    font-size: 1.12rem;
    font-weight: 600;
    letter-spacing: .04em;
    white-space: nowrap;
}

.home-motion-strip__track i {
    width: 7px;
    height: 7px;
    border: 1px solid #c99a6b;
    transform: rotate(45deg);
}

@keyframes homeMarquee {
    to { transform: translateX(-50%); }
}

.home-modern .hero-slider__text.is-active h1 {
    animation: homeHeroTitle .9s cubic-bezier(.2,.7,.2,1) both;
}

.home-modern .hero-slider__text.is-active p {
    animation: homeHeroCopy .8s .16s cubic-bezier(.2,.7,.2,1) both;
}

@keyframes homeHeroTitle {
    from { opacity: 0; transform: translateY(45px); clip-path: inset(0 0 100% 0); }
    to { opacity: 1; transform: translateY(0); clip-path: inset(0); }
}

@keyframes homeHeroCopy {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

.home-modern .hero-slider__stage {
    translate: var(--hero-shift-x,0) var(--hero-shift-y,0);
    transition: translate .7s cubic-bezier(.2,.7,.2,1);
}

.home-modern .hero-slide-frame.is-active {
    animation: homeFrameFloat 6s ease-in-out infinite;
}

@keyframes homeFrameFloat {
    0%,100% { margin-top: 0; }
    50% { margin-top: -12px; }
}

.home-modern .impression-section,
.home-modern .about-culture,
.home-modern .blog-story {
    position: relative;
    isolation: isolate;
}

.home-modern .impression-section::before,
.home-modern .about-culture::before,
.home-modern .blog-story::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle,rgba(139,94,60,.13),transparent 68%);
    filter: blur(8px);
}

.home-modern .impression-section::before { top: -80px; left: -100px; }
.home-modern .about-culture::before { right: -100px; bottom: 0; }
.home-modern .blog-story::before { top: 12%; left: 35%; }

.home-modern .impression-image,
.home-modern .application-tile img,
.home-modern .blog-card img,
.home-modern .about-culture__image img {
    transition: transform .9s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}

.home-modern .application-tile:hover img,
.home-modern .blog-card:hover img,
.home-modern .about-culture__image:hover img {
    transform: scale(1.055);
}

.home-modern .application-tile::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 12px;
    border: 1px solid rgba(255,255,255,.46);
    opacity: 0;
    transform: scale(.96);
    transition: opacity .35s,transform .35s;
    pointer-events: none;
}

.home-modern .application-tile:hover::after {
    opacity: 1;
    transform: scale(1);
}

.home-modern .impression-card,
.home-modern .sustainability-story__card,
.home-modern .testimonial-story__card,
.home-modern .blog-card {
    transition: transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease;
}

.home-modern .impression-card:hover,
.home-modern .sustainability-story__card:hover,
.home-modern .testimonial-story__card:hover {
    transform: translateY(-7px);
    box-shadow: 0 30px 70px rgba(23,17,13,.18);
}

.home-modern .blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 55px rgba(23,17,13,.11);
}

.home-modern .application-tile:nth-child(2n)[data-reveal],
.home-modern .blog-card:nth-child(2n)[data-reveal] {
    transition-delay: .1s;
}

.home-modern .application-tile:nth-child(3n)[data-reveal],
.home-modern .blog-card:nth-child(3n)[data-reveal] {
    transition-delay: .18s;
}

.home-modern .home-cta__inner {
    position: relative;
    overflow: hidden;
}

.home-modern .home-cta__inner::after {
    content: "";
    position: absolute;
    right: -80px;
    top: -120px;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 50%;
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .home-motion-strip__track span {
        gap: 1.5rem;
        padding: .8rem 1.5rem;
        font-size: .95rem;
    }

    .home-modern .hero-slider__stage {
        translate: 0 0;
    }

    .home-modern .impression-card:hover,
    .home-modern .sustainability-story__card:hover,
    .home-modern .testimonial-story__card:hover,
    .home-modern .blog-card:hover {
        transform: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-motion-strip__track,
    .home-modern .hero-slider__text.is-active h1,
    .home-modern .hero-slider__text.is-active p,
    .home-modern .hero-slide-frame.is-active {
        animation: none !important;
    }

    .home-modern .hero-slider__stage {
        translate: 0 0;
    }
}

/* Dynamic journal detail and filters */
.journal-filters a { border: 0; border-bottom: 1px solid transparent; padding: .45rem .15rem; color: var(--wf-muted); background: transparent; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.journal-filters a:hover, .journal-filters a.is-active { border-color: var(--wf-clay); color: var(--wf-clay); }
.journal-pagination { display: flex; justify-content: center; margin-top: 3rem; }
.journal-newsletter__cta { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; min-width: 240px; border: 1px solid rgba(255,255,255,.35); padding: 1rem 1.2rem; color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.journal-newsletter__cta:hover { color: var(--wf-amber); border-color: var(--wf-amber); }
.blog-detail { background: var(--wf-cream); }
.blog-detail__hero { padding: 2rem 0 4.5rem; color: #fff; background: var(--wf-forest-deep); }
.blog-detail__crumb { display: flex; align-items: center; gap: .6rem; margin-bottom: 4rem; color: rgba(255,255,255,.48); font-size: .65rem; }
.blog-detail__crumb a { color: rgba(255,255,255,.72); }
.blog-detail__crumb i { font-size: .55rem; }
.blog-detail__heading { width: min(980px, 100%); margin: 0 auto; text-align: center; }
.blog-detail__heading .journal-meta { justify-content: center; }
.blog-detail__heading h1 { margin: 1.2rem 0 1.4rem; color: #fff; font: 600 clamp(3.5rem,6vw,6.2rem)/.88 "Cormorant Garamond",serif; letter-spacing: -.025em; }
.blog-detail__heading > p { width: min(720px, 100%); margin: 0 auto; color: rgba(255,255,255,.7); font-size: 1rem; line-height: 1.8; }
.blog-detail__byline { display: flex; justify-content: center; align-items: center; gap: .8rem; margin-top: 2rem; text-align: left; }
.blog-detail__avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: #fff; background: var(--wf-clay); font-weight: 800; }
.blog-detail__byline strong, .blog-detail__byline time { display: block; }
.blog-detail__byline strong { color: #fff; font-size: .72rem; }
.blog-detail__byline time { margin-top: .2rem; color: rgba(255,255,255,.48); font-size: .62rem; }
.blog-detail__media { width: min(1420px, calc(100% - 4rem)); height: min(650px, 55vw); margin: 0 auto; background: var(--wf-sand); }
.blog-detail__media img { width: 100%; height: 100%; object-fit: cover; }
.blog-detail__layout { display: grid; grid-template-columns: 240px minmax(0,760px); justify-content: center; gap: clamp(3rem,7vw,8rem); padding-top: 6rem; padding-bottom: 7rem; }
.blog-detail__aside { position: sticky; top: 120px; align-self: start; padding-top: 1.2rem; border-top: 1px solid var(--wf-line); }
.blog-detail__aside span, .blog-detail__aside strong { display: block; }
.blog-detail__aside span { color: var(--wf-muted); font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.blog-detail__aside strong { margin-top: .5rem; color: var(--wf-forest-deep); font: 600 1.5rem "Cormorant Garamond",serif; }
.blog-detail__aside a { display: flex; justify-content: space-between; margin-top: 2rem; border-bottom: 1px solid var(--wf-clay); padding-bottom: .6rem; color: var(--wf-clay); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.blog-detail__content { color: var(--wf-ink); font: 400 1rem/2 "Manrope",sans-serif; white-space: normal; }
.blog-detail__content::first-letter { float: left; margin: .05em .12em 0 0; color: var(--wf-clay); font: 600 5rem/.72 "Cormorant Garamond",serif; }
.blog-related { padding: 6rem 0 7rem; background: #fff; }
.blog-related__head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.blog-related__head h2 { margin: .65rem 0 0; color: var(--wf-forest-deep); font: 600 clamp(2.8rem,5vw,4.4rem)/.9 "Cormorant Garamond",serif; }
.blog-related__head > a { color: var(--wf-clay); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.blog-related__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.blog-related__grid article > a { display: block; height: 285px; overflow: hidden; }
.blog-related__grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.blog-related__grid article:hover img { transform: scale(1.035); }
.blog-related__grid span { display: block; margin-top: 1rem; color: var(--wf-clay); font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.blog-related__grid h3 { margin: .5rem 0 0; font: 600 2rem/1.05 "Cormorant Garamond",serif; }
.blog-related__grid h3 a { color: var(--wf-forest-deep); }

@media (max-width: 991.98px) {
    .blog-detail__layout { grid-template-columns: 190px minmax(0,1fr); gap: 3rem; padding-right: 2rem; padding-left: 2rem; }
    .blog-related > .container { max-width: 100%; padding-right: 2rem; padding-left: 2rem; }
    .blog-related__grid article > a { height: 235px; }
}

@media (max-width: 767.98px) {
    .journal-filters a { flex: 0 0 auto; }
    .journal-newsletter__cta { width: 100%; min-width: 0; }
    .blog-detail__hero { padding: 1.3rem 0 3.5rem; }
    .blog-detail__crumb { margin-bottom: 2.7rem; overflow: hidden; white-space: nowrap; }
    .blog-detail__crumb span { overflow: hidden; text-overflow: ellipsis; }
    .blog-detail__heading h1 { font-size: 3.45rem; }
    .blog-detail__heading > p { font-size: .86rem; }
    .blog-detail__media { width: calc(100% - 2rem); height: 62vw; min-height: 260px; max-height: 420px; }
    .blog-detail__layout { grid-template-columns: 1fr; gap: 2.5rem; padding: 4rem 1rem 5rem; }
    .blog-detail__aside { position: static; }
    .blog-detail__content { font-size: .9rem; line-height: 1.9; }
    .blog-related { padding: 4.5rem 0 5rem; }
    .blog-related > .container { padding-right: 1rem; padding-left: 1rem; }
    .blog-related__head { align-items: flex-start; flex-direction: column; }
    .blog-related__grid { grid-template-columns: 1fr; gap: 2rem; }
    .blog-related__grid article > a { height: 280px; }
}
