/* One storefront spacing scale. Media masks, pin spacers and aspect ratios
   retain their geometry; these rules own visible content padding and gaps. */
html body:not(.wp-admin) {
    --vincens-space: 10px;
    --vincens-text-edge: 2px;
    --vincens-section-gap: 10px;
    --vincens-section-space: 10px;
    --vincens-heading-space: 10px;
    --vincens-gallery-gap: 10px;
}

/* Shared shells no longer add viewport-dependent side gutters. */
html body:not(.wp-admin) :is(.vincens-shell, .vincens-content-shell, .vincens-review-showcase__inner, .vincens-wedding-page__shell) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    padding: 10px !important;
    margin-inline: auto;
}
html body:not(.wp-admin) :is(.vincens-content-page, .vincens-couple-archive, .vincens-couple-article) {
    padding: 10px !important;
}
html body:not(.wp-admin) :is(.vincens-content-page, .vincens-wedding-page) .vincens-content-shell { padding: 0 !important; }

/* Section and card copy, including archives and forms. */
html body:not(.wp-admin) :is(
    .vincens-brand-story, .vincens-brand-story__panel,
    .vincens-celebrity-reviews, .vincens-celebrity-review__content,
    .vincens-couple-stories, .vincens-couple-stories__content,
    .vincens-store-policies, .vincens-store-policy,
    .vincens-featured-products__header, .vincens-featured-products__collection,
    .vincens-featured-products__footer, .vincens-featured-product__copy,
    .vincens-home-appointment__copy, .vincens-inspiration-heading,
    .vincens-collection-more, .vincens-content-card__body,
    .vincens-page-faq, .vincens-page-cta, .vincens-bespoke-category-cta,
    .vincens-catalogue-categories, .vincens-catalogue-controls,
    .vincens-catalogue-filters, .vincens-catalogue-more, .vincens-catalogue-newsletter,
    .vincens-category-index__nav, .vincens-category-index__label,
    .vincens-contact-info, .vincens-contact-form-wrap,
    .vc-contact-channel, .vc-contact-branches summary, .vc-contact-branch-list li,
    .vincens-form-errors, .vincens-form-success, .vincens-form-product,
    .vincens-wedding-page__foreword, .vincens-wedding-page__stories,
    .vincens-wedding-card__body, .vincens-couple-archive__card-body,
    .vincens-couple-article__copy, .vincens-couple-article blockquote,
    .vincens-inspiration__copy, .vincens-inspiration__related,
    .vincens-product-info, .vincens-product-panel, .vincens-product-related,
    .vincens-detail-copy, .vincens-bespoke__principle, .vincens-bespoke__story-copy,
    .vincens-bespoke__section-heading, .vincens-bespoke__step,
    .vincens-bespoke__gallery, .vincens-bespoke__cta,
    .vincens-fabric-page, .vincens-fabric-detail__copy,
    .vincens-season-index__hero-copy, .vincens-season-index__featured-copy,
    .vincens-season-index__archive, .vincens-season-index__card-copy,
    .vincens-season-index__closing, .vincens-season-index__empty,
    .vincens-season-index__edit, .vincens-featured-index__shell,
    .vincens-product-color-row, .vincens-product-size-row,
    .vincens-product-size-guide__content, .vincens-product-related > h2,
    .vincens-bespoke__principles, .vincens-bespoke__signature,
    .vincens-bespoke__signature-item, .vincens-season-index__archive-heading,
    .vincens-hero__content
) { padding: 10px !important; }

/* Grids and rails keep their existing column counts and responsive breakpoints. */
html body:not(.wp-admin) :is(
    .vincens-content-grid, .vincens-service-grid,
    .vincens-brand-story__grid, .vincens-customer-intro,
    .vincens-review-showcase__top, .vincens-review-showcase__controls,
    .vincens-couple-stories__inner, .vincens-couple-stories__strip,
    .vincens-couple-stories__thumbnails, .vincens-store-policies__grid,
    .vincens-store-policies__note, .vincens-featured-products__layout,
    .vincens-featured-products__grid, .vincens-home-appointment__layout,
    .vincens-category-mosaic, .vincens-category-index__grid,
    .vincens-catalogue-controls, .vincens-catalogue-filters, .vincens-catalogue-sort,
    .vincens-catalogue-active, .vincens-newsletter-fields,
    .vincens-product-layout, .vincens-product-color-row, .vincens-product-options,
    .vincens-product-actions, .vincens-product-tablist, .vincens-product-detail-photos,
    .vincens-contact-layout, .vincens-form-fields, .vc-contact-channels,
    .vincens-wedding-page__grid, .vincens-wedding-page__pagination ul,
    .vincens-couple-archive__grid, .vincens-couple-article__gallery > div,
    .vincens-inspiration__layout, .vincens-inspiration__related-grid,
    .vincens-bespoke__principles-grid, .vincens-bespoke__signature,
    .vincens-bespoke__signature-item, .vincens-bespoke__process-stage,
    .vincens-bespoke__process-list, .vincens-bespoke__step,
    .vincens-bespoke__gallery-grid, .vincens-bespoke__cta,
    .vincens-fabric-page__grid, .vincens-fabric-detail__copy dl > div,
    .vincens-season-index__grid, .vincens-featured-index__grid,
    .vincens-product-size-row, .vincens-product-thumbnails,
    .vincens-season-index__card-meta, .vincens-hero__content
) { gap: 10px !important; }
html body:not(.wp-admin) .vincens-home-rail { --vincens-rail-gap: 10px !important; }
html body:not(.wp-admin) .vincens-home-rail__track { padding-block: 10px !important; gap: 10px !important; }
html body:not(.wp-admin) :is(.vincens-content-heading, .vincens-brand-story__header,
    .vincens-store-policies__header, .vincens-wedding-page__section-heading,
    .vincens-couple-archive__header, .vincens-couple-article__header,
    .vincens-featured-index__header, .vincens-fabric-page__breadcrumb,
    .vincens-fabric-page__header, .vincens-fabric-page__intro) { margin-block: 0 10px !important; }
html body:not(.wp-admin) :is(.vincens-catalogue-active, .vincens-catalogue-more,
    .vincens-product-tabs, .vincens-couple-article__cover) { margin-block: 10px !important; }

/* Text clusters use one margin between siblings, rather than stacked margins. */
html body:not(.wp-admin) :is(
    .vincens-entry-content, .vincens-content-heading, .vincens-content-card__body,
    .vincens-brand-story__panel, .vincens-couple-stories__content,
    .vincens-store-policy, .vincens-featured-product__copy,
    .vincens-home-appointment__copy, .vincens-product-summary,
    .vincens-product-panel, .vincens-contact-info, .vincens-wedding-card__body,
    .vincens-couple-article__copy, .vincens-inspiration__copy,
    .vincens-bespoke__hero-copy, .vincens-bespoke__principle,
    .vincens-bespoke__story-copy, .vincens-bespoke__step,
    .vincens-bespoke__section-heading, .vincens-bespoke__cta,
    .vincens-fabric-detail__copy, .vincens-season-index__hero-copy,
    .vincens-season-index__featured-copy, .vincens-season-index__card-copy,
    .vincens-season-index__closing
) > :is(h1, h2, h3, h4, p, blockquote, ul, ol) { margin-block: 0 !important; }
html body:not(.wp-admin) :is(
    .vincens-entry-content, .vincens-content-heading, .vincens-content-card__body,
    .vincens-brand-story__panel, .vincens-couple-stories__content,
    .vincens-store-policy, .vincens-featured-product__copy,
    .vincens-home-appointment__copy, .vincens-product-summary,
    .vincens-product-panel, .vincens-contact-info, .vincens-wedding-card__body,
    .vincens-couple-article__copy, .vincens-inspiration__copy,
    .vincens-bespoke__hero-copy, .vincens-bespoke__principle,
    .vincens-bespoke__story-copy, .vincens-bespoke__step,
    .vincens-bespoke__section-heading, .vincens-bespoke__cta,
    .vincens-fabric-detail__copy, .vincens-season-index__hero-copy,
    .vincens-season-index__featured-copy, .vincens-season-index__card-copy,
    .vincens-season-index__closing
) > :is(h1, h2, h3, h4, p, blockquote, ul, ol) + * { margin-block-start: 10px !important; }
html body:not(.wp-admin) :is(.vincens-review-showcase__eyebrow, .vincens-review-showcase__mark,
    .vincens-review-showcase__text, .vincens-review-showcase__demo-disclosure) { margin: 0 0 10px !important; }
html body:not(.wp-admin) .vincens-review-showcase__byline { gap: 10px !important; }
html body:not(.wp-admin) .vincens-review-showcase__controls { margin-top: 10px !important; }
html body:not(.wp-admin) :is(.vincens-product-price-contact, .vincens-product-reference-note,
    .vincens-product-color-notice, .vincens-product-availability, .vincens-home-section-eyebrow,
    .vincens-featured-products__intro) { margin-block: 0 10px !important; }
html body:not(.wp-admin) .vincens-bespoke__hero-copy { left: 10px; }
html body:not(.wp-admin) .vincens-bespoke__signature { width: calc(100% - 20px); }
html body:not(.wp-admin) .vincens-product-thumbnails { top: 10px; right: 10px; }
html body.home #vincens-testimonials { margin-block: 0 !important; }

/* Header, navigation and footer share the same edge spacing. */
html body:not(.wp-admin) :is(.vincens-header__inner, .vincens-topbar__inner,
    .vincens-search-dialog, .vincens-mobile-menu__inner) { padding: 10px !important; }
html body:not(.wp-admin) :is(.vincens-menu, .vincens-primary-nav, .vincens-topbar__right,
    .vincens-header__inner, .vincens-search-form, .vincens-mobile-menu__nav,
    .vincens-mobile-menu__utilities) { gap: 10px !important; }
html body:not(.wp-admin) #vincens-footer { margin-top: 10px !important; padding: 10px !important; }
html body:not(.wp-admin) #vincens-footer :is(.vincens-shell, .vincens-footer__grid) { padding: 0 !important; }
html body:not(.wp-admin) #vincens-footer :is(.vincens-footer__grid, .vincens-footer__legal,
    .vincens-footer__connect-desktop, .vincens-footer-socials) { gap: 10px !important; }
html body:not(.wp-admin) #vincens-footer :is(.vincens-footer__contact, .vincens-footer__accordion-content,
    .vincens-footer__bottom, .vincens-footer__mobile-brand, .vincens-footer__mobile-legal,
    .vincens-footer__mobile-copyright) { padding: 10px !important; }
html body:not(.wp-admin) #vincens-footer :is(p, h2, .vincens-footer-menu) { margin-block: 0 10px !important; }
html body:not(.wp-admin) #vincens-footer .vincens-footer-menu li + li { margin-top: 10px !important; }

/* Seasonal content. Do not pad image surfaces or GSAP's generated pin spacer. */
html body:not(.wp-admin) .vincens-collection :is(.stmt, .ch, .tr, .cta, .pr) { padding: 10px !important; }
html body:not(.wp-admin) .vincens-collection :is(.ch, .imgs, .stats, .dots, .top, .chips, .grid, .tr) { gap: 10px !important; }
html body:not(.wp-admin) .vincens-collection :is(.ch + .ch, .ch p, .ch h2, .cta p, .cta h2,
    .pr .top, .hz .hd, .idea, .idea .n, .idea h3, .idea p, .card small, .card h3) { margin-block: 0 10px !important; }
html body:not(.wp-admin) .vincens-collection :is(.stats, .dots) { margin-block: 10px !important; }
html body:not(.wp-admin) .vincens-collection .hero .cn { left: 10px; right: 10px; }
html body:not(.wp-admin) .vincens-collection .hero p { margin: 10px 0 0 !important; }
html body:not(.wp-admin) .vincens-collection .imgs .ph:nth-child(2) { margin-top: 10px; }
html body:not(.wp-admin) .vincens-collection .pal .mini { left: 10px; bottom: 10px; }
html body:not(.wp-admin) .vincens-collection.has-motion .tr { padding: 10px !important; }

/* About's horizontal panels retain their pin heights and animation masks. */
html body:not(.wp-admin) .vincens-about-studio :is(.panel, .panel.hero) { padding: 10px !important; gap: 10px !important; }
html body:not(.wp-admin) .vincens-about-studio :is(.hl, .pill, .sw, .stats, .stats--many,
    .steps, .journey-photos, .jr, .chapter-strip, .about-site-links, .about-site-links .sub-menu) { gap: 10px !important; }
html body:not(.wp-admin) .vincens-about-studio :is(.pl-title p, .tx p, .tx small,
    .stats, .sw figcaption, .jr .ph, .jr h3, .contact .addr) { margin-block: 0 10px !important; }
html body:not(.wp-admin) .vincens-about-studio :is(.menu, .pill) { padding: 10px !important; }
html body:not(.wp-admin) .vincens-about-studio .steps li { padding-top: 10px !important; }

/* Tailoring story keeps each pinned scene's viewport; only its content spacing changes. */
html body:not(.wp-admin) .vincens-story :is(.intro, .scene, .sec, .fab, .jn, .tes, .marq, .cta .box, .edit-link) { padding: 10px !important; }
html body:not(.wp-admin) .vincens-story :is(.scene, .cards, .tags, .fab, .sws div, .jn) { gap: 10px !important; }
html body:not(.wp-admin) .vincens-story :is(.cap h2, .cap p, .tags, .jn li h3,
    .jn li p, .tes p, .cta p) { margin-block: 0 10px !important; }
html body:not(.wp-admin) .vincens-story .jn li { padding-bottom: 10px !important; }
html body:not(.wp-admin) .vincens-story :is(.card .meta, .sws div) { padding: 10px !important; }
html body:not(.wp-admin) .vincens-story .hero h1 { padding-inline: 10px !important; }

/* Buttons and form controls retain their minimum target size. Icon circles and
   custom navigation switches are sized controls, not content padding boxes. */
html body:not(.wp-admin) :is(.vincens-button, .vincens-btn, .vincens-collection .btn,
    .vincens-collection .chip, .vincens-story .btn, .vincens-catalog-card__consult) { padding: 10px !important; gap: 10px !important; }
html body:not(.wp-admin) :is(.vincens-form-fields, .vincens-contact-form-wrap, .vincens-newsletter-fields)
    :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) { padding: 10px !important; }

/* Mobile rails use their containing section's gutter, without a second bleed. */
@media (max-width: 850px) {
    html body:not(.wp-admin) :is(.vincens-season-index__grid, .vincens-bespoke__gallery-grid) {
        width: 100%;
        margin-inline: 0 !important;
    }
}

/* Homepage: one outer gutter and a 4px gap between sections, even when the
   administrator changes their order. Structural wrappers add no second gutter. */
html body.home main.vincens-editorial-home {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px !important;
}
html body.home main.vincens-editorial-home > section {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}
/* Keep the image mosaic's horizontal and vertical seams equally narrow. */
html body.home main.vincens-editorial-home .vincens-category-mosaic {
    gap: 4px !important;
}
/* The opening campaign image reaches the canvas edges without an outer gutter. */
html body.home main.vincens-editorial-home > .vincens-hero {
    width: calc(100% + 20px);
    margin-inline: -10px !important;
}
html body.home main.vincens-editorial-home > .vincens-hero:first-child { margin-top: -10px !important; }
html body.home main.vincens-editorial-home + #vincens-footer { margin-top: 0 !important; }
html body.home main.vincens-editorial-home :is(
    .vincens-brand-story__inner, .vincens-review-showcase__inner,
    .vincens-couple-showcase__inner, .vincens-store-policies__inner,
    .vincens-featured-products__collection, .vincens-featured-products__header,
    .vincens-featured-products__footer
) { width: 100%; max-width: none; padding: 0 !important; margin-inline: 0; }

/* Headings, descriptions and actions use a single gap between siblings. */
html body.home main.vincens-editorial-home :is(
    .vincens-couple-showcase__content, .vincens-couple-showcase__panel,
    .vincens-couple-showcase__others, .vincens-fabric-brand__copy,
    .vincens-featured-products__header, .vincens-store-policy,
    .vincens-store-policy__content
) > * { margin-block: 0 !important; }
html body.home main.vincens-editorial-home :is(
    .vincens-couple-showcase__content, .vincens-couple-showcase__panel,
    .vincens-couple-showcase__others, .vincens-fabric-brand__copy,
    .vincens-featured-products__header, .vincens-store-policy,
    .vincens-store-policy__content
) > * + * { margin-block-start: 10px !important; }
html body.home main.vincens-editorial-home :is(
    .vincens-brand-story blockquote, .vincens-couple-showcase__panel blockquote
) { padding-left: 10px; }
html body.home main.vincens-editorial-home :is(
    .vincens-home-appointment__button, .vincens-brand-story__cta,
    .vincens-featured-products__more, .vincens-featured-product__detail,
    .vincens-couple-showcase__read, .vincens-couple-showcase__archive
) { padding: 10px !important; gap: 10px !important; }

/* Current review and couple components replace the legacy section selectors. */
html body.home main.vincens-editorial-home .vincens-review-showcase__row {
    --review-gap: 10px;
    gap: 10px;
    margin-top: 10px;
}
html body.home main.vincens-editorial-home .vincens-review-showcase__card { padding-bottom: 10px; }
html body.home main.vincens-editorial-home .vincens-review-showcase__caption {
    gap: 10px;
    margin-top: 0;
    padding-top: 10px;
}
html body.home main.vincens-editorial-home :is(
    .vincens-couple-showcase__inner, .vincens-couple-showcase__thumbs,
    .vincens-fabric-brand, .vincens-fabric-brand__gallery,
    .vincens-fabrics__actions, .vincens-fabrics__links, .vincens-fabrics__dots
) { gap: 10px !important; }
html body.home main.vincens-editorial-home .vincens-couple-showcase__content { padding: 10px; }
html body.home main.vincens-editorial-home .vincens-couple-showcase__others { padding-top: 0; }
html body.home main.vincens-editorial-home .vincens-couple-showcase__thumb {
    flex-basis: calc((100% - 20px) / 3);
    padding-bottom: 10px;
}
html body.home main.vincens-editorial-home .vincens-couple-showcase__thumb img { margin-bottom: 10px; }

/* Keep the fabric image frames together; compact the copy and CTA. */
html body.home main.vincens-editorial-home .vincens-fabric-brand__copy { min-height: 0; padding: 10px !important; }
html body.home main.vincens-editorial-home .vincens-fabrics__actions { left: 10px !important; bottom: 10px !important; }

/* Product rails and policy notes no longer stack padding from several wrappers. */
html body.home main.vincens-editorial-home .vincens-featured-products__collection {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
html body.home main.vincens-editorial-home .vincens-featured-products__grid {
    margin-inline: 0 !important;
    padding-block: 0 !important;
}
html body.home main.vincens-editorial-home .vincens-featured-product { padding: 10px !important; }
html body.home main.vincens-editorial-home .vincens-featured-product__copy { padding: 0 !important; margin-top: 10px; }
html body.home main.vincens-editorial-home .vincens-featured-product__colors { margin-block: 10px 0 !important; }
/* Keep featured-card actions aligned when descriptions have different lengths.
   Flex gaps preserve the minimum spacing while the action uses spare height. */
html body.home main.vincens-editorial-home #vincens-featured-products .vincens-featured-product__copy { row-gap: 10px; }
html body.home main.vincens-editorial-home #vincens-featured-products .vincens-featured-product__copy > * { margin-block: 0 !important; }
html body.home main.vincens-editorial-home #vincens-featured-products .vincens-featured-product__detail { margin-block-start: auto !important; }
html body.home main.vincens-editorial-home .vincens-store-policy__link { padding-top: 0; }
html body.home main.vincens-editorial-home .vincens-store-policies__note { margin-top: 0; padding-top: 10px; }
html body.home main.vincens-editorial-home .vincens-store-policies__note p span { margin-right: 10px; }

@media (min-width: 761px) {
    html body.home main.vincens-editorial-home .vincens-couple-showcase__inner {
        grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
    }
}
@media (min-width: 981px) {
    html body.home main.vincens-editorial-home .vincens-fabric-brand {
        grid-template-columns: minmax(0, 50fr) minmax(0, 50fr) !important;
    }
}

/* Keep the mobile fabric CTA centered and large enough to tap without arrows. */
@media (max-width: 680px) {
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__copy > .vincens-fabrics__actions {
        box-sizing: border-box;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center !important;
        gap: 0 !important;
        width: 100%;
        min-height: 48px;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__copy > .vincens-fabrics__actions > .vincens-fabrics__arrow {
        position: relative;
        top: -4px;
        flex: 0 0 28px;
        width: 28px !important;
        height: 32px !important;
        padding: 6px !important;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__copy > .vincens-fabrics__actions > .vincens-fabrics__arrow svg {
        position: relative;
        top: -4px;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__copy > .vincens-fabrics__actions > .vincens-fabrics__archive-link {
        box-sizing: border-box;
        position: static;
        flex: 0 0 auto;
        width: auto !important;
        min-width: 0;
        max-width: 100%;
        min-height: 48px !important;
        padding: 12px 20px !important;
        border: 1px solid var(--fabric-accent) !important;
        border-radius: 2px;
        font-size: clamp(14px, 4vw, 16px) !important;
        line-height: 1.2 !important;
        letter-spacing: .02em;
        white-space: nowrap;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabrics__arrow[hidden] { display: none !important; }
}
@media (max-width: 980px) {
    html body.home main.vincens-editorial-home .vincens-fabrics__actions { padding: 10px !important; }
}
@media (max-width: 767px) {
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__gallery { gap: 0 !important; }
    html body.home main.vincens-editorial-home > .vincens-brand-story:has(#vincens-fabrics) { margin-block-end: -4px !important; }
}
@media (max-width: 760px) {
    html body.home main.vincens-editorial-home .vincens-couple-showcase__thumb {
        flex-basis: calc((100% - 10px) / 2);
    }
}

/* Public pages reach both browser edges. Keep vertical spacing and card insets. */
html body:not(.wp-admin) {
    width: min(100%, var(--vincens-canvas-width, 1920px));
    max-width: var(--vincens-canvas-width, 1920px);
    margin-inline: 0;
    padding-inline: 0 !important;
}
html body:not(.wp-admin) > main {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}
html body:not(.wp-admin) > header[role="banner"] {
    width: 100% !important;
    max-width: none !important;
    left: 0 !important;
    right: 0 !important;
    margin-inline: 0 !important;
}
html body:not(.wp-admin) :is(
    .vincens-shell, .vincens-content-shell, .vincens-wedding-page__shell,
    .vincens-review-showcase__inner, .vincens-header__inner,
    .vincens-featured-index__shell, .vincens-fabric-page,
    .vincens-couple-archive__inner, .vincens-couple-article__inner
) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}
html body:not(.wp-admin) :is(
    .vincens-content-page, .vincens-couple-archive, .vincens-couple-article,
    .vincens-product-related, .vincens-reference-index,
    .vincens-inspiration__details, #vincens-footer,
    .vincens-footer__bottom, .vincens-footer__mobile-brand,
    .vincens-footer__mobile-legal, .vincens-footer__mobile-copyright,
    .vincens-topbar__inner
) { padding-inline: 0 !important; }
html body:not(.wp-admin) main.vincens-fabric-page,
html body:not(.wp-admin) .vincens-featured-index .vincens-featured-index__shell { padding-inline: 0 !important; }
html body:not(.wp-admin) > #vincens-footer {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}
html body:not(.wp-admin) .vincens-detail:not(.type-vincens_product) :is(.vincens-detail-copy, .vincens-detail-image) {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-inline: 0;
}

/* Remove the homepage hero's former compensation for its 10px outer gutter. */
html body.home main.vincens-editorial-home { padding-inline: 0 !important; }
html body.home main.vincens-editorial-home > .vincens-hero {
    width: 100%;
    margin-inline: 0 !important;
}

/* Animated tracks keep their widths, transforms and pin spacers. */
html body.vincens-about-view:not(.wp-admin) .vincens-about-studio { --about-vw: 100vw; }
html body.vincens-about-view:not(.wp-admin) .vincens-about-studio #track > :is(.panel, .panel.hero) { padding-inline: 0 !important; }
html body.vincens-story-view:not(.wp-admin) main.vincens-story :is(.intro, .scene, .sec, .fab, .jn, .edit-link) { padding-inline: 0 !important; }
html body.vincens-bespoke-view:not(.wp-admin) main.vincens-design { --bs-canvas-width: 100vw; }
html body:not(.wp-admin) .vincens-design :is(.sec, .bs-pan, .bs-hs, .bs-cta, .bs-hero, .bs-track) { padding-inline: 0 !important; }
html body.vincens-seasonal-view:not(.wp-admin) main.vincens-collection { --collection-width: 100vw; }
html body:not(.wp-admin) .vincens-collection :is(.stmt, .ch, .tr, .cta, .pr),
html body:not(.wp-admin) .vincens-collection.has-motion .tr { padding-inline: 0 !important; }
html body:not(.wp-admin) .vincens-season-index :is(.sec, .bc-hero, .mc-wrap, .bc-cta) { padding-inline: 0 !important; }
html body:not(.wp-admin) .collection-page :is(.collection-container, .collection-gallery) {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: 0 !important;
}
@media (max-width: 899px) {
    html body.vincens-about-view:not(.wp-admin) .vincens-about-studio .sw {
        width: 100%;
        margin-inline: 0 !important;
        padding-inline: 0 !important;
        scroll-padding-inline: 0;
    }
}

/* Give edge-to-edge layouts a minimum text inset without narrowing hero media
   or changing the width of animated tracks. Existing larger copy insets stay. */
html body:not(.wp-admin) > #vincens-footer {
    padding-inline: var(--vincens-text-edge) !important;
}
html body:not(.wp-admin) :is(
    .vincens-content-heading, .vincens-couple-archive__header,
    .vincens-couple-archive__empty, .vincens-catalogue-categories,
    .vincens-category-index__nav,
    .vincens-couple-article__header, .vincens-featured-index__header,
    .vincens-fabric-page__header, .vincens-fabric-page__intro,
    .vincens-fabric-page__breadcrumb, .vincens-fabric-page__books > h2,
    .vincens-review-showcase__caption, .vincens-content-page .comments-area
) {
    padding-inline: var(--vincens-text-edge) !important;
}
html body:not(.wp-admin) .vincens-about-studio :is(.pl-title, .tx, .sw figcaption, .step, .stat, .addr) {
    padding-inline: var(--vincens-text-edge) !important;
}
html body.vincens-story-view:not(.wp-admin) main.vincens-story :is(.fab, .jn, .cap) {
    padding-inline: var(--vincens-text-edge) !important;
}
html body:not(.wp-admin) .vincens-design :is(.bs-intro, .bs-pan, .bs-an, .bs-prods, .bs-cta, .bs-pr, .bs-step > div) {
    padding-inline: var(--vincens-text-edge) !important;
}
html body:not(.wp-admin) .vincens-season-index .bc-pil {
    padding-inline: var(--vincens-text-edge) !important;
}
html body:not(.wp-admin) .vincens-collection :is(.ch > div:has(> .num), .tr > .hd, .idea, .pr .top, .card > small, .card > h3) {
    padding-inline: var(--vincens-text-edge) !important;
}

/* Tablet footer uses the compact single-column contact layout after desktop links are hidden. */
@media (max-width: 899px) {
    html body.home main.vincens-editorial-home + #vincens-footer > .vincens-footer__grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Keep the home fabric copy centered with the collage anchored to the right. */
@media (min-width: 981px) {
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__copy {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        align-self: stretch;
        text-align: center;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand h3 {
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        text-align: center;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__intro {
        width: min(100%, 560px);
        max-width: 560px;
        margin: 10px auto 0 !important;
        text-align: center;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabrics__actions {
        position: static !important;
        inset: auto !important;
        justify-content: center;
        align-self: center;
        width: 100%;
        margin: -8px auto 0 !important;
        text-align: center;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__visual {
        grid-column: 2;
        grid-row: 1 / span 2;
        justify-self: end;
        margin-inline: 0;
    }
}

/* Keep the homepage fabric copy and collage side by side on desktop. */
@media (min-width: 981px) {
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand {
        grid-template-columns: minmax(0, 50fr) minmax(0, 50fr) !important;
        grid-template-rows: minmax(0, 1fr) auto;
        min-height: max(clamp(500px, 39vw, 750px), var(--fabric-slide-height, 0px));
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__copy {
        grid-column: 1;
        grid-row: 1;
        justify-self: stretch;
        width: auto;
        max-width: none;
        margin: 0;
        padding: clamp(32px, 5vw, 64px) clamp(24px, 3.5vw, 52px) !important;
        text-align: center;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand h3 {
        width: 100%;
        max-width: 100%;
        text-align: center;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__intro {
        width: min(100%, 560px);
        max-width: 560px;
        margin-inline: auto !important;
        text-align: center;
    }
    html body.home main.vincens-editorial-home #vincens-fabrics .vincens-fabric-brand__visual {
        grid-column: 2;
        grid-row: 1 / span 2;
        justify-self: end;
        align-self: stretch;
        width: max-content;
        max-width: 100%;
        height: clamp(500px, 39vw, 750px);
        margin: 0;
    }
}
