/* Home 3:2: full-width sections; desktop proportions observed at 1280px.
 * Mobile stacking, type interpolation and scroll behavior are implementation
 * choices pending mobile design approval. No layout-wide 1280px width limit.
 */
body.pg-site .pg-home {
    /* Figma hero: Canela Deck TRIAL Light 300, 64px/120% at 1280px.
     * No trial font is loaded. Newsreader is the locally licensed fallback;
     * final line breaks require the authorized production Canela font file.
     */
    --pg-home-display: "Canela Deck", "Newsreader", Georgia, serif;
    --pg-home-gutter: clamp(1.25rem, 3.125vw, 6rem);
    --pg-home-gap: clamp(.75rem, 1.5625vw, 3rem);
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--pg-color-ink);
    background: var(--pg-color-paper);
}

.pg-site .pg-home :where(section[id]) { scroll-margin-top: 2rem; }
.pg-site .pg-home-pad { padding-inline: var(--pg-home-gutter); }

.pg-site .pg-home-hero {
    position: relative;
    display: grid;
    place-items: center;
    isolation: isolate;
    min-height: 62.5vw;
    padding: 10rem var(--pg-home-gutter) 8rem;
    background: var(--pg-color-ink);
    color: var(--pg-color-paper);
}

.pg-site .pg-home-hero__image,
.pg-site .pg-home-catalogue__image {
    position: absolute;
    z-index: -2;
    inset: 0;
}

.pg-site .pg-home-hero__image img,
.pg-site .pg-home-catalogue__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pg-site .pg-home-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    /* Rectangle 1, copied from Figma Properties: multiply black 16% to 40%. */
    background: radial-gradient(50% 50% at 50% 50%, rgb(0 0 0 / .16) 0%, rgb(0 0 0 / .4) 100%);
    background-blend-mode: multiply;
}

.pg-site .pg-home-hero__title {
    position: absolute;
    top: 40.375%;
    left: 50%;
    width: 75.9375%;
    transform: translateX(-50%);
    font-family: var(--pg-home-display);
    font-size: clamp(3rem, 5vw, 8rem);
    font-style: normal;
    font-weight: 300;
    line-height: 1.2;
    text-align: center;
    text-wrap: balance;
}

.pg-site .pg-home-hero__title em { font-style: italic; font-weight: 300; }

/* Three transparent Figma exports: 204x120 each, at x430/551/674, y479.
 * The group is 448x120 in the 1280x800 frame; images overlap as designed.
 */
.pg-site .pg-home-hero__samples {
    position: absolute;
    top: 59.875%;
    left: 33.59375%;
    width: 35%;
    aspect-ratio: 448 / 120;
}

.pg-site .pg-home-hero__samples img {
    position: absolute;
    top: 0;
    width: 45.535714%;
    height: 100%;
    object-fit: contain;
}
.pg-site .pg-home-hero__samples img:nth-child(1) { left: 0; }
.pg-site .pg-home-hero__samples img:nth-child(2) { left: 27.008929%; }
.pg-site .pg-home-hero__samples img:nth-child(3) { left: 54.464286%; }
.pg-site .pg-home-hero__bottom {
    position: absolute;
    bottom: 14.1625%;
    left: 0;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: var(--pg-space-4);
    width: 100%;
}
.pg-site .pg-home-hero__bottom > p { width: 70%; font-size: clamp(.875rem, 1.25vw, 1.5rem); line-height: 1.3; }
.pg-site .pg-home-hero__bosco-logo { width: 11.4633vw; }
.pg-site .pg-home-hero__bosco-logo img { width: 100%; height: auto; }

.pg-site .pg-home-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: center;
    gap: clamp(2rem, 5vw, 8rem);
    min-height: 14.0625vw;
    padding-block: clamp(2rem, 3.125vw, 5rem);
    background: var(--pg-color-ink);
    color: var(--pg-color-paper);
}

.pg-site .pg-home-value h2 {
    margin-bottom: .75rem;
    font-family: var(--pg-font-body);
    font-size: clamp(1rem, 1.25vw, 1.5rem);
    font-weight: 500;
    line-height: 1.25;
}

.pg-site .pg-home-value p {
    font-size: clamp(.875rem, 1.09375vw, 1.25rem);
    line-height: 1.3;
}

.pg-site .pg-home-split__copy > p:not(.pg-eyebrow) {
    font-size: clamp(1rem, 1.40625vw, 1.5rem);
    line-height: 1.4;
}

.pg-site .pg-home-collections { padding-top: clamp(4rem, 6.25vw, 10rem); }
.pg-site .pg-home-collections__intro { text-align: center; }
.pg-site .pg-home-collections__brand {
    display: flex;
    justify-content: center;
    margin-bottom: clamp(2rem, 3.125vw, 5rem);
    font-family: var(--pg-home-display);
    font-size: clamp(2.5rem, 5vw, 6rem);
    font-weight: 300;
}

.pg-site .pg-home-collections__brand img { width: clamp(12rem, 20.9375vw, 32rem); height: auto; }
.pg-site .pg-home-collections__description {
    max-width: 75%;
    font-family: var(--pg-font-body);
    font-size: clamp(1rem, 1.40625vw, 1.5rem);
    font-weight: 700;
    line-height: 1.3;
    text-align: left;
}

.pg-site .pg-home-collections .pg-home-slider-heading { margin-top: 0; margin-bottom: 1.5rem; }

.pg-site .pg-home-slider-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--pg-space-3);
    margin-top: clamp(2rem, 5.46875vw, 7rem);
    margin-bottom: var(--pg-space-3);
}

.pg-site .pg-home-slider-controls { display: flex; gap: var(--pg-space-2); }
.pg-site .pg-home-arrow {
    display: grid;
    place-items: center;
    width: 3rem;
    min-height: 3rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-size: 1.75rem;
    line-height: 1;
}

.pg-site .pg-home-arrow:disabled { opacity: .3; cursor: default; }
.pg-site .pg-home-slider-track {
    display: flex;
    gap: var(--pg-home-gap);
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding-inline: var(--pg-home-gutter);
    padding-bottom: var(--pg-space-2);
    scroll-padding-inline: var(--pg-home-gutter);
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: var(--pg-color-line) transparent;
}

.pg-site .pg-home-collection {
    flex: 0 0 30.46875vw;
    min-width: 0;
    scroll-snap-align: start;
}

.pg-site .pg-home-collection__link { display: block; text-decoration: none; }
.pg-site .pg-home-collection__image { aspect-ratio: 390 / 460; overflow: hidden; }
.pg-site .pg-home-collection__image img,
.pg-site .pg-home-project__image img,
.pg-site .pg-home-split__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pg-site .pg-home-collection h3 {
    margin-top: var(--pg-space-2);
    font-family: var(--pg-home-display);
    font-size: clamp(1.75rem, 2.5vw, 4rem);
    font-style: normal;
    font-weight: 300;
    line-height: 1.2;
    text-transform: uppercase;
}

.pg-site .pg-home-nature { padding-block: clamp(4rem, 7.8125vw, 12rem) clamp(5rem, 11.40625vw, 18rem); }
.pg-site .pg-home-nature p {
    width: 100%;
    font-family: var(--pg-home-display);
    font-size: clamp(2rem, 3.125vw, 5rem);
    font-style: italic;
    font-weight: 300;
    line-height: 1.2;
    text-align: left;
}

.pg-site .pg-home-split {
    display: grid;
    grid-template-columns: 42% 58%;
    min-height: 38.984375vw;
}

.pg-site .pg-home-split__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: clamp(1.25rem, 2.34375vw, 4rem);
    padding: clamp(2rem, 4.6875vw, 6rem) var(--pg-home-gutter);
}

.pg-site .pg-home-section-title {
    font-family: var(--pg-home-display);
    font-size: clamp(2.25rem, 3.75vw, 6rem);
    font-weight: 300;
    line-height: 1.1;
    text-wrap: balance;
}

.pg-site .pg-home-split__image { min-width: 0; min-height: 0; overflow: hidden; }
.pg-site .pg-home-split .pg-link { font-size: clamp(.875rem, 1.09375vw, 1.25rem); }
.pg-site .pg-home-bosco { background: var(--pg-color-paper); }
.pg-site .pg-home-bosco__brand { width: clamp(10rem, 15.625vw, 25rem); font-family: var(--pg-home-display); font-size: clamp(1.75rem, 2.34375vw, 3rem); font-weight: 300; }
.pg-site .pg-home-bosco__brand img { width: 100%; height: auto; }
.pg-site .pg-home-projects { padding-block: clamp(4rem, 8.59375vw, 12rem) clamp(6rem, 16.171875vw, 24rem); }
.pg-site .pg-home-projects__intro { text-align: left; }
.pg-site .pg-home-projects__intro h2 { font-size: clamp(2rem, 3.125vw, 5rem); font-style: italic; }
.pg-site .pg-home-projects .pg-home-slider-heading { margin-top: 0; margin-bottom: var(--pg-space-4); }
.pg-site .pg-home-project { flex: 0 0 62.109375vw; min-width: 0; scroll-snap-align: start; }
.pg-site .pg-home-project__image { aspect-ratio: 795 / 464; overflow: hidden; }
.pg-site .pg-home-project h3 {
    padding: var(--pg-space-3);
    background: var(--pg-color-panel);
    font-family: var(--pg-font-body);
    font-size: clamp(1rem, 1.5625vw, 2rem);
    font-weight: 500;
    line-height: 1.3;
    text-transform: uppercase;
}

.pg-site .pg-home-craft { grid-template-columns: 56% 44%; }
.pg-site :is(.pg-home-craft, .pg-home-smart) .pg-home-section-title {
    font-family: var(--pg-font-body);
    font-size: clamp(1rem, 1.5625vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    text-wrap: auto;
}
.pg-site .pg-home-smart { margin-top: clamp(4rem, 11.71875vw, 16rem); }
.pg-site .pg-home-catalogue {
    position: relative;
    isolation: isolate;
    display: grid;
    place-items: center;
    min-height: 35.15625vw;
    margin-top: clamp(4rem, 11.71875vw, 16rem);
    padding: clamp(4rem, 7.8125vw, 10rem) var(--pg-home-gutter);
    background: var(--pg-color-paper);
}

.pg-site .pg-home-catalogue__copy { width: 90%; text-align: center; }
.pg-site .pg-home-catalogue__copy h2 { font-size: clamp(2rem, 3.125vw, 5rem); font-style: italic; }

@media (max-width: 60rem) {
    .pg-site .pg-home-split { grid-template-columns: 1fr 1fr; }
    .pg-site .pg-home-split__copy { padding-block: var(--pg-space-5); }
    .pg-site .pg-home-section-title { font-size: clamp(2rem, 4vw, 3.5rem); }
    .pg-site .pg-home-values { gap: var(--pg-space-4); }
}

@media (max-width: 44rem) {
    .pg-site .pg-home-hero { min-height: 90svh; padding-block: 8rem 2rem; gap: 2rem; }
    .pg-site .pg-home-hero__title { position: static; width: 100%; transform: none; font-size: clamp(2.5rem, 8vw, 3.5rem); }
    .pg-site .pg-home-hero__samples { position: relative; top: auto; left: auto; width: min(70vw, 28rem); }
    .pg-site .pg-home-hero__bottom { position: static; padding-inline: 0; align-items: center; }
    .pg-site .pg-home-hero__bottom > p { width: 65%; font-size: .875rem; }
    .pg-site .pg-home-hero__bosco-logo { width: 28%; }
    .pg-site .pg-home-values { grid-template-columns: minmax(0, 1fr); gap: var(--pg-space-5); }
    .pg-site .pg-home-value h2 { margin-bottom: var(--pg-space-2); }
    .pg-site .pg-home-collection { flex-basis: 80vw; }
    .pg-site .pg-home-collection h3 { font-size: 2rem; }
    .pg-site .pg-home-nature p { font-size: clamp(2rem, 7vw, 3rem); }
    .pg-site .pg-home-split { grid-template-columns: minmax(0, 1fr); }
    .pg-site .pg-home-split__copy { padding-block: var(--pg-space-6); }
    .pg-site .pg-home-split__image { aspect-ratio: 4 / 3; }
    .pg-site .pg-home-craft .pg-home-split__image { order: 2; }
    .pg-site .pg-home-project { flex-basis: 88vw; }
    .pg-site .pg-home-projects__intro { text-align: left; }
    .pg-site .pg-home-projects__intro h2 { margin-inline: 0; }
    .pg-site .pg-home-catalogue { min-height: 24rem; }
    .pg-site .pg-home-catalogue__copy { width: 90%; }
}

@media (prefers-reduced-motion: no-preference) {
    .pg-site .pg-home-slider-track { scroll-behavior: smooth; }
}

/* Keep the decorative canopy visible on narrow screens. */
@media (max-width: 47.99rem) { .pg-site .pg-home-catalogue__image img { object-fit: contain; } }
