/* Approved home at /. Keep header, hero and Instagram outside this scope. */
.home-preview { background: #faf8f3; color: #242923; font-size: 1rem; line-height: 1.65; }
.home-preview .hp-container { width: calc(100% - 2 * var(--gutter)); max-width: 77rem; margin-inline: auto; }
.home-preview h2 { font-size: clamp(1.95rem, 2.85vw, 2.65rem); line-height: 1.13; letter-spacing: -.035em; max-width: 18ch; text-wrap: balance; }
.home-preview h3 { font-size: clamp(1.3rem, 1.7vw, 1.6rem); line-height: 1.2; letter-spacing: -.025em; }
.home-preview p { margin-bottom: 1.1rem; }
.home-preview .hp-eyebrow { font-size: .68rem; font-weight: 500; letter-spacing: .16em; line-height: 1.5; text-transform: uppercase; color: #6b705f; margin-bottom: 1rem; }
.home-preview .hp-link { display: inline-flex; align-items: center; gap: .8rem; width: fit-content; min-height: 2.75rem; padding-block: .4rem; border-bottom: 1px solid #9a9e8f; font-size: .82rem; line-height: 1.4; }
.home-preview .hp-link:hover { border-bottom-color: currentColor; }
.home-preview .hp-link span { transition: transform 180ms ease; }
.home-preview .hp-link:hover span { transform: translate(2px, -2px); }
.home-preview a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.home-preview .hp-section { padding-block: 3.5rem; border-top: 1px solid #dddcd3; scroll-margin-top: 7rem; }
.home-preview .hp-section-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 2.5rem; margin-bottom: 1.8rem; }
.home-preview .hp-section-heading > :last-child { justify-self: end; max-width: 28rem; }
.home-preview .hp-section-heading p:last-child { margin-bottom: 0; }
.home-preview .hp-anchor { display: block; scroll-margin-top: 7rem; }
.home-preview .hp-welcome { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; border-top: 0; padding-block: 3.8rem; }
.home-preview .hp-welcome > :last-child { max-width: 33rem; }
.home-preview .hp-material-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.home-preview .hp-material { display: block; }
.home-preview .hp-material__image { overflow: hidden; background: #e8e3d8; aspect-ratio: 2 / 1; }
.home-preview .hp-material img { height: 100%; object-fit: cover; transition: transform 350ms ease; }
.home-preview .hp-material__title { display: flex; justify-content: space-between; align-items: center; gap: .7rem; padding-top: .8rem; }
.home-preview .hp-material__title h3 { font-size: 1.35rem; }
.home-preview .hp-zero-silica { background: #e8e3d9; color: #222720; padding-block: 3.5rem; border-block: 1px solid #d2ccbf; }
.home-preview .hp-zero-silica__inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 2rem 3rem; align-items: center; }
.home-preview .hp-zero-silica__stage { min-width: 0; margin: 0; }
.home-preview .hp-zero-silica__stage > a { position: relative; display: block; overflow: hidden; background: #d3cec3; aspect-ratio: 4 / 3; }
.home-preview .hp-zero-silica__stage img { width: 100%; height: 100%; object-fit: cover; transition: opacity 180ms ease; }
.home-preview .hp-zero-silica__stage img.is-changing { opacity: .22; }
.home-preview .hp-zero-silica__stage-label { position: absolute; inset: auto 0 0; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: .2rem 1.25rem; padding: 3.25rem 1.15rem 1rem; color: #fff; background: linear-gradient(transparent, rgba(15, 20, 16, .8)); font-size: .7rem; line-height: 1.35; }
.home-preview .hp-zero-silica__stage-label > span:first-child { grid-column: 1 / -1; color: #e6e7df; }
.home-preview .hp-zero-silica__stage-label strong { font-family: var(--font-display); font-size: 1.45rem; font-weight: 400; letter-spacing: -.02em; }
.home-preview .hp-zero-silica__stage figcaption { margin-top: .5rem; color: #686d61; font-size: .69rem; }
.home-preview .hp-zero-silica__copy { max-width: 30rem; }
.home-preview .hp-zero-silica__copy h2 { margin-bottom: 1.2rem; }
.home-preview .hp-zero-silica__copy > p:not(.hp-eyebrow):not(.hp-zero-silica__brand) { color: #4f554a; font-size: .94rem; }
.home-preview .hp-zero-silica__brand { display: flex; align-items: baseline; gap: .55rem; margin-bottom: 1.35rem; font-size: .85rem; letter-spacing: .18em; line-height: 1; }
.home-preview .hp-zero-silica__brand span { font-family: var(--font-display); font-size: clamp(2.8rem, 5vw, 4.5rem); letter-spacing: -.055em; }
.home-preview .hp-zero-silica__selection { grid-column: 1 / -1; padding-top: 1.6rem; border-top: 1px solid #c5beb1; }
.home-preview .hp-zero-silica__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.3rem; }
.home-preview .hp-zero-silica__option { min-width: 0; }
.home-preview .hp-zero-silica__option > button { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; }
.home-preview .hp-zero-silica__swatch { position: relative; display: block; overflow: hidden; height: 6.75rem; background: #d3cec3; box-shadow: inset 0 0 0 1px transparent; transition: box-shadow 180ms ease; }
.home-preview .hp-zero-silica__swatch img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-preview .hp-zero-silica__application { opacity: 0; transition: opacity 300ms ease; }
.home-preview .hp-zero-silica__option.is-active .hp-zero-silica__swatch { box-shadow: inset 0 0 0 2px #252b24; }
.home-preview .hp-zero-silica__option > a { display: flex; justify-content: space-between; align-items: center; gap: .7rem; padding-top: .7rem; font-size: .76rem; }
.home-preview .hp-zero-silica__option > a > span:first-child { display: grid; min-width: 0; }
.home-preview .hp-zero-silica__option strong { overflow: hidden; font-size: .82rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.home-preview .hp-zero-silica__option small { color: #6a7064; font-size: .65rem; }
.home-preview .hp-zero-silica__option > button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.home-preview .hp-zero-silica__option > button:focus-visible .hp-zero-silica__application.is-ready { opacity: 1; }
.home-preview .hp-coverlam { background: #253c34; color: #f9f7f0; padding-block: 3.5rem; border-block: 1px solid #20332c; }
.home-preview .hp-coverlam__inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 2rem 3rem; align-items: center; }
.home-preview .hp-coverlam__photo { min-width: 0; margin: 0; }
.home-preview .hp-coverlam__stage { display: block; overflow: hidden; aspect-ratio: 800 / 578; background: #304a40; }
.home-preview .hp-coverlam__photo img { width: 100%; height: 100%; object-fit: cover; transition: opacity 180ms ease; }
.home-preview .hp-coverlam__photo img.is-changing { opacity: .22; }
.home-preview .hp-coverlam__photo figcaption { margin-top: .5rem; color: #c5cfc4; font-size: .69rem; }
.home-preview .hp-coverlam .hp-eyebrow { color: #c2cbbb; }
.home-preview .hp-coverlam__brand { display: flex; gap: .85rem; align-items: baseline; font-size: 1.65rem; letter-spacing: .13em; line-height: 1.2; margin-bottom: 1.6rem; }
.home-preview .hp-coverlam__brand span { font-size: .7rem; letter-spacing: .025em; white-space: nowrap; }
.home-preview .hp-coverlam__copy h2 { margin-bottom: 1.2rem; }
.home-preview .hp-coverlam__copy > p:not(.hp-eyebrow):not(.hp-coverlam__brand) { color: #e0e5dc; font-size: .94rem; }
.home-preview .hp-coverlam .hp-link { border-color: #aab6a8; }
.home-preview .hp-coverlam__catalogue { display: flex; align-items: center; gap: 1.2rem; margin-top: 1.4rem; padding-top: 1.3rem; border-top: 1px solid #63766a; }
.home-preview .hp-coverlam__badge { flex: 0 0 auto; width: 8rem; max-height: 5rem; height: auto; object-fit: contain; }
.home-preview .hp-coverlam__catalogue > div { min-width: 0; }
.home-preview .hp-coverlam__catalogue .hp-link { font-size: .76rem; }
.home-preview .hp-coverlam__file-note { color: #c2cbbb; font-size: .68rem; margin: .45rem 0 0; }
.home-preview .hp-coverlam__download:hover span { transform: translateY(2px); }
.home-preview .hp-coverlam__selection { grid-column: 1 / -1; padding-top: 1.6rem; border-top: 1px solid #63766a; }
.home-preview .hp-facades { padding-block: 3.5rem; background: #e5ded1; color: #242720; border-bottom: 1px solid #d1c8b9; }
.home-preview .hp-facades__inner { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.home-preview .hp-facades__copy { max-width: 31rem; }
.home-preview .hp-facades__copy h2 { margin-bottom: 1.2rem; max-width: 10ch; }
.home-preview .hp-facades__copy > p:not(.hp-eyebrow) { color: #53584e; font-size: .94rem; line-height: 1.65; }
.home-preview .hp-facades__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .65rem 1.4rem; margin-top: 1.4rem; }
.home-preview .hp-facades__visit { display: inline-flex; align-items: center; gap: .65rem; min-height: 2.75rem; font-size: .76rem; }
.home-preview .hp-facades__visit:hover { text-decoration: underline; text-underline-offset: .28em; }
.home-preview .hp-facades__photo { min-width: 0; margin: 0; }
.home-preview .hp-facades__photo img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: 50% 46%; background: #d5cec1; }
.home-preview .hp-facades__photo figcaption { margin-top: .55rem; color: #696c63; font-size: .69rem; }
.home-preview .hp-colour-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.3rem; }
.home-preview .hp-colour__option { min-width: 0; }
.home-preview .hp-colour { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; }
.home-preview .hp-colour__detail { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding-top: .6rem; font-size: .78rem; }
.home-preview .hp-colour__media { position: relative; display: block; grid-column: 1 / -1; height: 6.75rem; overflow: hidden; background: #304a40; }
.home-preview .hp-colour__media > img { width: 100%; height: 100%; object-fit: cover; }
.home-preview .hp-colour__application { position: absolute; inset: 0; opacity: 0; transition: opacity 350ms ease; }
.home-preview .hp-colour:focus-visible .hp-colour__application.is-ready { opacity: 1; }
.home-preview .hp-colour__option.is-active .hp-colour__media { box-shadow: inset 0 0 0 2px #f9f7f0; }
.home-preview .hp-application-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.5rem; }
.home-preview .hp-application { min-width: 0; }
.home-preview .hp-application__photo { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #e8e3d8; }
.home-preview .hp-application__photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-preview .hp-application__photo > .hp-application__alternate { opacity: 0; transition: opacity 350ms ease; }
.home-preview .hp-application__photo-label { position: absolute; z-index: 1; inset: auto .75rem .75rem auto; display: flex; gap: .7rem; align-items: center; padding: .45rem .7rem; background: rgba(250,248,243,.96); color: #242923; font-size: .69rem; line-height: 1.3; pointer-events: none; }
.home-preview .hp-application__heading { display: flex; align-items: baseline; gap: .7rem; margin-top: 1rem; }
.home-preview .hp-number { font-size: .64rem; color: #737868; letter-spacing: .04em; }
.home-preview .hp-application > p { font-size: .83rem; margin: .55rem 0 .6rem; color: #616758; line-height: 1.5; }
.home-preview .hp-application__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem 1rem; }
.home-preview .hp-application__actions .hp-link { font-size: .76rem; }
.home-preview .hp-application__photo:focus-visible > .hp-application__alternate.is-ready { opacity: 1; }
.home-preview .hp-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem 1.5rem; }
.home-preview .hp-project { display: block; }
.home-preview .hp-project > div { position: relative; overflow: hidden; background: #e8e3d8; aspect-ratio: 3 / 2; }
.home-preview .hp-project img { height: 100%; object-fit: cover; transition: transform 400ms ease; }
.home-preview .hp-project > div > span { position: absolute; inset: auto 0 0; padding: 1.4rem 1rem .7rem; background: linear-gradient(transparent, rgba(12,20,14,.65)); color: white; font-size: .76rem; opacity: 0; transition: opacity 250ms ease; }
.home-preview .hp-project > p { font-size: .78rem; margin: .7rem 0 0; }
.home-preview .hp-project:focus-visible > div > span { opacity: 1; }
.home-preview .hp-studio { display: grid; grid-template-columns: .85fr 1fr; align-items: center; gap: 4rem; }
.home-preview .hp-studio__copy > h2 { margin-bottom: 1.3rem; }
.home-preview .hp-studio__copy > p:not(.hp-eyebrow) { max-width: 31rem; }
.home-preview .hp-studio__copy .button { margin-top: .5rem; }
.home-preview .hp-studio figure { margin: 0; }
.home-preview .hp-studio figure img { height: auto; }
.home-preview .hp-studio figcaption { font-size: .7rem; color: #697061; margin-top: .6rem; }
.home-preview .hp-guidance { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid #dddcd3; margin-bottom: 0; scroll-margin-top: 7rem; }
.home-preview .hp-guidance a { display: grid; grid-template-columns: 1fr auto; padding: 1.75rem 1.5rem; gap: .65rem; align-items: center; }
.home-preview .hp-guidance a:first-child { padding-left: 0; }
.home-preview .hp-guidance a + a { border-left: 1px solid #dddcd3; }
.home-preview .hp-guidance a > span:first-child { grid-column: 1 / -1; font-size: .67rem; color: #717664; }
.home-preview .hp-guidance strong { font-weight: 500; font-size: .87rem; }
.home-preview .hp-contact { display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding-block: 3.5rem; border-top: 1px solid #dddcd3; scroll-margin-top: 7rem; }
.home-preview .hp-contact h2 { max-width: 22ch; }
.home-preview .hp-contact p:not(.hp-eyebrow) { max-width: 37rem; margin: 1rem 0 0; }
.home-preview .hp-contact__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; flex-shrink: 0; }
.home-preview .hp-trade { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.2rem; border-top: 1px solid #dddcd3; font-size: .82rem; }
.home-preview .hp-trade p { margin: 0; }
.hp-lightbox__all { display: block; width: fit-content; margin: .65rem auto 0; font-size: .75rem; text-decoration: underline; text-underline-offset: .25em; }
.hp-lightbox .project-lightbox__controls.is-single { grid-template-columns: 1fr; }
@media (hover: hover) and (pointer: fine) {
    .home-preview .hp-zero-silica__option > button:hover .hp-zero-silica__application.is-ready { opacity: 1; }
    .home-preview .hp-colour:hover .hp-colour__application.is-ready { opacity: 1; }
    .home-preview .hp-material:hover img { transform: scale(1.035); }
    .home-preview .hp-application__photo:hover > .hp-application__alternate.is-ready { opacity: 1; }
    .home-preview .hp-project:hover img { transform: scale(1.04); }
    .home-preview .hp-project:hover > div > span { opacity: 1; }
}
@media (max-width: 64rem) {
    .home-preview .hp-welcome, .home-preview .hp-zero-silica__inner, .home-preview .hp-coverlam__inner, .home-preview .hp-facades__inner, .home-preview .hp-studio { gap: 2rem; }
    .home-preview .hp-application-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-preview .hp-contact { align-items: flex-start; flex-direction: column; gap: 1.5rem; }
    .home-preview .hp-coverlam__brand { flex-wrap: wrap; gap: .3rem .75rem; }
}
@media (max-width: 48rem) {
    .home-preview { font-size: .95rem; }
    .home-preview .hp-section { padding-block: 2.5rem; scroll-margin-top: 5rem; }
    .home-preview .hp-section-heading, .home-preview .hp-welcome, .home-preview .hp-zero-silica__inner, .home-preview .hp-coverlam__inner, .home-preview .hp-facades__inner, .home-preview .hp-studio { grid-template-columns: 1fr; gap: 1.25rem; }
    .home-preview .hp-section-heading > :last-child { justify-self: start; }
    .home-preview .hp-material-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem 1rem; }
    .home-preview .hp-material__image { aspect-ratio: 4 / 3; }
    .home-preview .hp-material__title h3 { font-size: 1.2rem; }
    .home-preview .hp-zero-silica { padding-block: 2.5rem; }
    .home-preview .hp-zero-silica__copy { grid-row: 1; }
    .home-preview .hp-zero-silica__stage { grid-row: 2; }
    .home-preview .hp-zero-silica__selection { grid-column: auto; grid-row: 3; }
    .home-preview .hp-zero-silica__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
    .home-preview .hp-zero-silica__swatch { height: auto; aspect-ratio: 2 / 1; }
    .home-preview .hp-zero-silica__stage-label { opacity: 1; }
    .home-preview .hp-coverlam { padding-block: 2.5rem; }
    .home-preview .hp-coverlam__copy { grid-row: 1; }
    .home-preview .hp-coverlam__selection { grid-column: auto; }
    .home-preview .hp-facades { padding-block: 2.5rem; }
    .home-preview .hp-facades__copy h2 { max-width: 13ch; }
    .home-preview .hp-colour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
    .home-preview .hp-colour__media { height: auto; aspect-ratio: 2 / 1; }
    .home-preview .hp-colour__media > img { position: absolute; inset: 0; }
    .home-preview .hp-application-grid { gap: 1.7rem 1rem; }
    .home-preview .hp-application__heading { gap: .5rem; }
    .home-preview .hp-application__heading h3 { font-size: 1.35rem; }
    .home-preview .hp-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1rem; }
    .home-preview .hp-project > div > span { opacity: 1; }
    .home-preview .hp-guidance { grid-template-columns: 1fr; }
    .home-preview .hp-guidance a, .home-preview .hp-guidance a:first-child { padding: 1.25rem 0; }
    .home-preview .hp-guidance a + a { border-left: 0; border-top: 1px solid #dddcd3; }
    .home-preview .hp-contact { padding-block: 2.5rem; }
    .home-preview .hp-trade { flex-direction: column; align-items: flex-start; gap: .25rem; }
}
@media (max-width: 34rem) {
    .home-preview .hp-coverlam__catalogue { gap: 1rem; }
    .home-preview .hp-coverlam__badge { width: 6.5rem; }
    .home-preview .hp-application-grid { grid-template-columns: 1fr; }
    .home-preview .hp-material__title h3 { font-size: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
    .home-preview .hp-zero-silica__stage img, .home-preview .hp-zero-silica__swatch, .home-preview .hp-zero-silica__application, .home-preview .hp-coverlam__photo img, .home-preview .hp-colour__application, .home-preview .hp-material img, .home-preview .hp-application__alternate, .home-preview .hp-project img, .home-preview .hp-project > div > span, .home-preview .hp-link span { transition: none; }
    .home-preview .hp-material:hover img, .home-preview .hp-project:hover img, .home-preview .hp-link:hover span { transform: none; }
}
