/* Shared interior contract:
 * .pg-interior: main/page scope and fluid tokens, no desktop width ceiling.
 * .pg-interior-heading: display heading; --small gives the 40px editorial size.
 * .pg-interior-breadcrumb: nav with an ordered list, current item aria-current.
 * .pg-interior-intro: padded introductory section, optional heading + paragraphs.
 * .pg-interior-catalogue: full-width decorative image (__image) + title (__copy).
 * Desktop proportions follow the exported 1280px Figma frames. Responsive
 * stacking is an implementation choice. Canela requires a licensed font file;
 * Newsreader is available locally. No trial font is downloaded or embedded.
 */
body.pg-site .pg-interior {
    --pg-interior-display: "Canela Deck", "Newsreader", Georgia, serif;
    --pg-interior-gutter: clamp(1.25rem, 3.125vw, 6rem);
    --pg-interior-gap: clamp(1rem, 1.25vw, 3rem);
    width: 100%;
    margin: 0;
    padding: 0;
    background: var(--pg-color-paper);
    color: var(--pg-color-ink);
}

.pg-site .pg-interior-pad { padding-inline: var(--pg-interior-gutter); }
.pg-site .pg-interior :where(section[id]) { scroll-margin-top: var(--pg-space-4); }
.pg-site .pg-interior-heading {
    margin: 0;
    font-family: var(--pg-interior-display);
    font-size: clamp(2.5rem, 5vw, 7rem);
    font-weight: 300;
    line-height: 1.2;
    text-wrap: balance;
}
.pg-site .pg-interior-heading--small { font-size: clamp(2rem, 3.125vw, 5rem); }
.pg-site .pg-interior-heading--caps { text-transform: uppercase; }
.pg-site .pg-interior-heading em { font-style: italic; font-weight: inherit; }

.pg-site .pg-interior-breadcrumb {
    padding: var(--pg-space-3) var(--pg-interior-gutter);
    font-size: clamp(.75rem, .9375vw, 1rem);
    line-height: 1.5;
}
.pg-site .pg-interior-breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    padding: 0;
    list-style: none;
}
.pg-site .pg-interior-breadcrumb li + li::before { content: "/"; margin-inline-end: .5rem; }
.pg-site .pg-interior-breadcrumb a { text-decoration: none; }
.pg-site .pg-interior-breadcrumb a:hover { text-decoration: underline; }

.pg-site .pg-interior-intro {
    display: grid;
    gap: var(--pg-space-4);
    padding: clamp(3rem, 6.25vw, 9rem) var(--pg-interior-gutter);
}
.pg-site .pg-interior-intro > p {
    max-width: 80ch;
    font-size: var(--pg-text-base);
    line-height: 1.5;
}

.pg-site .pg-interior-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: var(--pg-space-3);
    min-height: 62.5vw;
    padding: 8rem var(--pg-interior-gutter);
    background: var(--pg-color-ink);
    color: var(--pg-color-paper);
    text-align: center;
}
.pg-site .pg-interior-hero__image,
.pg-site .pg-interior-catalogue__image {
    position: absolute;
    z-index: -2;
    inset: 0;
}
.pg-site .pg-interior-hero__image img,
.pg-site .pg-interior-catalogue__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pg-site .pg-interior-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: rgb(0 0 0 / .24);
}
.pg-site .pg-interior-hero .pg-interior-heading { width: 84.21875vw; max-width: 100%; font-size: clamp(2.5rem, 4.6875vw, 7rem); letter-spacing: -.01em; }
.pg-site .pg-interior-hero__label {
    font-size: clamp(.75rem, 1.09375vw, 1.125rem);
    text-transform: uppercase;
}
.pg-site .pg-interior-hero__logo { width: clamp(10rem, 23.4375vw, 36rem); height: auto; }

.pg-site .pg-interior-quote {
    position: relative;
    isolation: isolate;
    padding: clamp(4rem, 8.59375vw, 12rem) var(--pg-interior-gutter);
    padding-inline-start: 16.875%;
    padding-inline-end: 9.296875%;
    font-family: var(--pg-interior-display);
    font-size: clamp(2rem, 3.125vw, 5rem);
    font-weight: 300;
    line-height: 1.2;
}
.pg-site .pg-interior-quote::before {
    content: "“";
    display: block;
    margin-bottom: var(--pg-space-2);
    font-family: Georgia, serif;
    font-size: 2em;
    font-weight: 700;
    line-height: .7;
}
.pg-site .pg-interior-quote__image { position: absolute; z-index: -1; inset: 0; }
.pg-site .pg-interior-quote__image img { width: 100%; height: 100%; object-fit: cover; }
.pg-site .pg-interior-quote--leaves { overflow: hidden; min-height: 49.21875vw; }
.pg-site .pg-interior-quote__leaf { position: absolute; z-index: -1; pointer-events: none; }
.pg-site .pg-interior-quote__leaf img { width: 100%; height: auto; }
.pg-site .pg-interior-quote__leaf--left { left: 0; top: 0; width: 29.375vw; }
.pg-site .pg-interior-quote__leaf--right { left: 48.59375vw; top: 0; width: 50.703125vw; }
.pg-site .pg-interior-quote__leaf--side { left: 0; top: 35.9375vw; width: 19.375vw; }
.pg-site .pg-interior-quote__author { display: flex; align-items: end; gap: var(--pg-space-3); margin-top: clamp(2rem, 3.4375vw, 5rem); color: var(--pg-color-ink); font-family: var(--pg-font-body); font-size: clamp(.75rem, 1.09375vw, 1rem); line-height: 1.2; }
.pg-site .pg-interior-quote__portrait { width: 14.140625vw; aspect-ratio: 181 / 210; }
.pg-site .pg-interior-quote__portrait img { width: 100%; height: 100%; object-fit: contain; object-position: bottom; }
.pg-site .pg-interior--certificazioni .pg-interior-quote__portrait { width: 12.265625vw; aspect-ratio: 157 / 210; }

.pg-site .pg-interior-story {
    display: grid;
    gap: clamp(3rem, 9.375vw, 14rem);
    padding: var(--pg-space-4) var(--pg-interior-gutter) clamp(4rem, 9.375vw, 14rem);
}
.pg-site .pg-interior-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--pg-interior-gap);
    align-items: center;
}
.pg-site .pg-interior-split__copy {
    display: grid;
    gap: var(--pg-space-3);
    padding-inline-end: clamp(1rem, 5vw, 7rem);
    font-size: clamp(1rem, 1.40625vw, 1.5rem);
    line-height: 1.25;
}
.pg-site .pg-interior-split--reverse .pg-interior-split__copy {
    grid-column: 2;
    grid-row: 1;
    padding-inline: clamp(1rem, 6.25vw, 8rem) 0;
}
.pg-site .pg-interior-split--reverse .pg-interior-split__image { grid-column: 1; grid-row: 1; }
.pg-site .pg-interior-split__image { aspect-ratio: 592 / 430; overflow: hidden; }
.pg-site .pg-interior-split__image img { width: 100%; height: 100%; object-fit: cover; }

.pg-site .pg-interior-related {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pg-interior-gap);
    padding: 0 var(--pg-interior-gutter) clamp(4rem, 9.375vw, 14rem);
}
.pg-site .pg-interior-related__card {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: end;
    gap: var(--pg-space-3);
    min-height: 23.4375vw;
    padding: var(--pg-space-3);
    background: var(--pg-color-ink);
    color: var(--pg-color-paper);
    text-decoration: none;
}
.pg-site .pg-interior-related__image { position: absolute; z-index: -2; inset: 0; }
.pg-site .pg-interior-related__image img { width: 100%; height: 100%; object-fit: cover; }
.pg-site .pg-interior-related__card::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(transparent, rgb(0 0 0 / .5)); }
.pg-site .pg-interior-related h2 { font-family: var(--pg-font-body); font-size: var(--pg-text-base); font-weight: 700; text-transform: uppercase; }
.pg-site .pg-interior-related p { font-size: var(--pg-text-base); line-height: 1.3; }
.pg-site .pg-interior-related__link { display: flex; gap: var(--pg-space-2); align-items: center; min-height: 2.75rem; font-size: var(--pg-text-sm); font-weight: 700; text-transform: uppercase; }

.pg-site .pg-interior-catalogue {
    position: relative;
    isolation: isolate;
    display: grid;
    place-items: center;
    min-height: 35.15625vw;
    padding: var(--pg-space-6) var(--pg-interior-gutter);
    background: var(--pg-color-paper);
    text-align: center;
}
.pg-site .pg-interior-catalogue__copy { width: 90%; }
.pg-site .pg-interior-catalogue .pg-interior-heading { font-size: clamp(2rem, 3.125vw, 5rem); }
.pg-site .pg-interior-catalogue__link { display: inline-flex; align-items: center; gap: var(--pg-space-2); min-height: 2.75rem; margin-top: var(--pg-space-2); font-size: var(--pg-text-base); font-weight: 700; text-decoration: none; text-transform: uppercase; }
.pg-site .pg-interior-catalogue__link span { font-size: 1.5em; font-weight: 400; }

.pg-site .pg-interior-certifications { display: grid; padding: 0 var(--pg-interior-gutter) var(--pg-space-7); }
.pg-site .pg-interior-certificate { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pg-space-5); padding-block: var(--pg-space-5); border-top: 1px solid var(--pg-color-line); }
.pg-site .pg-interior-certificate__name { font-family: var(--pg-font-body); font-size: var(--pg-text-lg); font-weight: 700; }
.pg-site .pg-interior-certificate__copy { display: grid; gap: var(--pg-space-3); align-content: start; }
.pg-site .pg-interior-certificate__copy p { font-size: var(--pg-text-base); line-height: 1.4; }
.pg-site .pg-interior-certificate__document { display: flex; justify-content: center; align-items: center; min-height: 12rem; background: var(--pg-color-panel); font-size: var(--pg-text-lg); }

.pg-site .pg-interior-processes,
.pg-site .pg-interior-choices { padding-bottom: clamp(4rem, 8.59375vw, 12rem); }
.pg-site .pg-interior-section-summary { margin-block: var(--pg-space-2) var(--pg-space-4); font-size: var(--pg-text-base); font-weight: 700; line-height: 1.3; }
.pg-site .pg-interior-processes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--pg-space-5) var(--pg-interior-gap); }
.pg-site .pg-interior-choices__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pg-space-5) var(--pg-interior-gap); }
.pg-site .pg-interior-sample__image { aspect-ratio: 390 / 234; overflow: hidden; }
.pg-site .pg-interior-sample__image img { width: 100%; height: 100%; object-fit: cover; }
.pg-site .pg-interior-choices .pg-interior-sample__image { aspect-ratio: 592 / 400; }
.pg-site .pg-interior-sample h3 { margin-block: var(--pg-space-2); font-family: var(--pg-interior-display); font-size: clamp(1.5rem, 2.34375vw, 3rem); font-style: italic; font-weight: 300; line-height: 1.2; text-transform: uppercase; }
.pg-site .pg-interior-sample p { font-size: var(--pg-text-base); line-height: 1.25; }
.pg-site .pg-interior-certifications-intro { padding-top: 0; }
.pg-site .pg-interior-certifications-intro > p { max-width: 85ch; }
.pg-site .pg-interior-certificate { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); align-items: center; border: 0; }
.pg-site .pg-interior-certificate__document { justify-content: start; gap: var(--pg-space-4); min-height: 9rem; padding: var(--pg-space-3); font-family: var(--pg-font-body); font-size: var(--pg-text-base); }
.pg-site .pg-interior-certificate__document img { width: 32%; max-height: 6rem; height: auto; object-fit: contain; }

.pg-site .pg-interior-quote--bosco { background: var(--pg-color-panel); min-height: 47.578125vw; }
.pg-site .pg-interior-quote--bosco .pg-interior-quote__leaf--left { width: 30.15625vw; }
.pg-site .pg-interior-quote--bosco .pg-interior-quote__leaf--side { width: 20.15625vw; }
.pg-site .pg-interior-quote--bosco .pg-interior-quote__leaf--right { left: 49.375vw; }
/* Figma Rectangle30 (286:882): #A4ABA6. */
.pg-site .pg-interior-bosco-origin { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); background: #a4aba6; color: var(--pg-color-paper); }
.pg-site .pg-interior-bosco-origin__copy { display: grid; align-content: center; gap: var(--pg-space-5); padding: var(--pg-space-5) var(--pg-interior-gutter); }
.pg-site .pg-interior-bosco-origin__copy p { max-width: 42ch; font-size: var(--pg-text-base); line-height: 1.3; }
.pg-site .pg-interior-bosco-origin__copy img { width: clamp(10rem, 15.625vw, 25rem); height: auto; }
.pg-site .pg-interior-bosco-origin__image { aspect-ratio: 640 / 536; }
.pg-site .pg-interior-bosco-origin__image img { width: 100%; height: 100%; object-fit: cover; }
.pg-site .pg-interior-bosco-values { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pg-space-5) var(--pg-space-4); padding-block: clamp(3rem, 6.25vw, 9rem); }
.pg-site .pg-interior-bosco-values h2 { margin-bottom: var(--pg-space-2); font-family: var(--pg-interior-display); font-size: clamp(1.5rem, 2.1875vw, 3rem); font-style: italic; font-weight: 300; text-transform: uppercase; }
.pg-site .pg-interior-bosco-values p { font-size: var(--pg-text-base); line-height: 1.25; }
.pg-site .pg-interior-bosco-collection { display: grid; grid-template-columns: 55.390625% 44.609375%; margin-bottom: clamp(4rem, 9.375vw, 14rem); }
.pg-site .pg-interior-bosco-collection__image { aspect-ratio: 709 / 499; }
.pg-site .pg-interior-bosco-collection__image img { width: 100%; height: 100%; object-fit: cover; }
.pg-site .pg-interior-bosco-collection__copy { display: grid; align-content: center; gap: var(--pg-space-2); padding: var(--pg-space-5) var(--pg-interior-gutter); }
.pg-site .pg-interior-bosco-collection__copy h2 { font-family: var(--pg-font-body); font-size: var(--pg-text-base); font-weight: 700; text-transform: uppercase; }
.pg-site .pg-interior-bosco-collection__copy p { font-size: var(--pg-text-base); line-height: 1.25; }

@media (max-width: 44rem) {
    .pg-site .pg-interior-hero { min-height: 78svh; padding-block: 8rem 4rem; }
    .pg-site .pg-interior-hero .pg-interior-heading { width: 100%; font-size: clamp(2.5rem, 9vw, 4rem); }
    .pg-site .pg-interior-quote { padding: var(--pg-space-6) var(--pg-interior-gutter); font-size: clamp(1.75rem, 7vw, 2.5rem); }
    .pg-site .pg-interior-quote__portrait,
    .pg-site .pg-interior--certificazioni .pg-interior-quote__portrait { width: 7rem; flex-shrink: 0; }
    .pg-site .pg-interior-split { grid-template-columns: minmax(0, 1fr); gap: var(--pg-space-4); }
    .pg-site .pg-interior-split__copy,
    .pg-site .pg-interior-split--reverse .pg-interior-split__copy { grid-column: auto; grid-row: auto; padding-inline: 0; }
    .pg-site .pg-interior-split--reverse .pg-interior-split__image { grid-column: auto; grid-row: auto; }
    .pg-site .pg-interior-related { grid-template-columns: minmax(0, 1fr); }
    .pg-site .pg-interior-related__card { min-height: 90vw; padding: var(--pg-space-4); }
    .pg-site .pg-interior-catalogue { min-height: 20rem; }
    .pg-site .pg-interior-catalogue__image img { object-fit: contain; }
    .pg-site .pg-interior-certificate { grid-template-columns: minmax(0, 1fr); gap: var(--pg-space-3); }
    .pg-site .pg-interior-processes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pg-site .pg-interior-choices__grid,
    .pg-site .pg-interior-bosco-origin,
    .pg-site .pg-interior-bosco-values,
    .pg-site .pg-interior-bosco-collection { grid-template-columns: minmax(0, 1fr); }
    .pg-site .pg-interior-bosco-origin__copy,
    .pg-site .pg-interior-bosco-collection__copy { padding-block: var(--pg-space-6); }
}

@media (max-width: 26rem) {
    .pg-site .pg-interior-processes__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Internal Figma header: 144px mark at x40; the home retains its centred mark. */
body.pg-site.pg-editorial .pg-shell-header { padding-top: 2.34375vw; }
body.pg-site.pg-editorial .pg-shell-header--overlay { padding-top: 0; }
body.pg-site.pg-editorial .pg-shell-header__inner { min-height: 7.5vw; padding-block: 0; }
body.pg-site.pg-editorial .pg-shell-header__inner > .pg-shell-brand { grid-column: 1; justify-self: start; }
body.pg-site.pg-editorial .pg-shell-header .pg-shell-brand__image { width: 144px; }
@media (max-width: 44rem) {
    body.pg-site.pg-editorial .pg-shell-header { padding-top: 16px; }
    body.pg-site.pg-editorial .pg-shell-header--overlay { padding-top: 0; }
    body.pg-site.pg-editorial .pg-shell-header__inner { min-height: 80px; }
}

.pg-site .pg-interior-bosco-values__leaf { position: absolute; z-index: -1; top: 0; left: 0; width: 33.59375vw; pointer-events: none; }
.pg-site .pg-interior-bosco-values__leaf img { width: 100%; height: auto; }

.pg-site .pg-interior-sample__icon { display: flex; align-items: end; height: clamp(3rem, 5vw, 6rem); margin-top: var(--pg-space-3); }
.pg-site .pg-interior-sample__icon img { width: auto; height: auto; max-width: clamp(4rem, 6.5625vw, 8rem); max-height: 100%; }

/* Leave clear space below the decorative canopy. */
.pg-site .pg-interior-bosco-values { padding-top: clamp(3rem, 15.15625vw, 20rem); }
