/* ==========================================================================
   LUXE — Responsive Media Queries
   Organized cleanly from large to small breakpoints
   ========================================================================== */
/* =========================================================
   LARGE DESKTOP / 4K
   Prevent excessive scaling
   ========================================================= */

@media (min-width: 1920px) {
  .hero-framed-wrapper {
    min-height: 1162px;
  }
  .product-detail-layout {
    grid-template-columns: 45.972222vw minmax(0, 1fr);
  }
}

@media screen and (max-width: 1200px) {
  .sort-select-wrapper::after{
    top:40%;
  }
}
/* --------------------------------------------------------------------------
   Breakpoint: <= 991.98px (Tablet & Mobile Nav Transition)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 991.98px) {
  .container-luxe {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .section-padding-luxe {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .site-header-luxe {
    height: 70px;
    border-bottom: 1px solid var(--color-border);
    transition: .3s all;
  }
  .site-header-luxe[data-app-open],
  .site-header-luxe.header-nav-active {
    border-color: transparent;
    position: relative;
    z-index: 999;
  }

  .desktop-nav {
    display: none;
  }

  .mobile-nav-toggle {
    display: flex;
    z-index: 3;
  }

  /* ==== Mobile menu starts ====  */
  .shop-page .mobile-drawer-nav a[href^="shop"],
  .shop-page .mobile-drawer-nav a[href^="/shop"],
  .collections-page .mobile-drawer-nav a[href^="collections"],
  .collections-page .mobile-drawer-nav a[href^="/collections"],
  .about-page .mobile-drawer-nav a[href^="about"],
  .about-page .mobile-drawer-nav a[href^="/about"],
  .sustainability-page .mobile-drawer-nav a[href^="sustainability"],
  .sustainability-page .mobile-drawer-nav a[href^="/sustainability"],
  .mobile-drawer-nav a:hover, .mobile-drawer-nav a.active {
    background: none;
    color: #1a1c1c !important;
    position: relative;
  }
  .shop-page .mobile-drawer-nav a[href^="shop"]::after,
  .shop-page .mobile-drawer-nav a[href^="/shop"]::after,
  .collections-page .mobile-drawer-nav a[href^="collections"]::after,
  .collections-page .mobile-drawer-nav a[href^="/collections"]::after,
  .about-page .mobile-drawer-nav a[href^="about"]::after,
  .about-page .mobile-drawer-nav a[href^="/about"]::after,
  .sustainability-page .mobile-drawer-nav a[href^="sustainability"]::after,
  .sustainability-page .mobile-drawer-nav a[href^="/sustainability"]::after,
  .mobile-drawer-nav a.active::after {
    content: "";
    position: absolute;
    bottom: -0vw;
    left: 0;
    width: 100%;
    height: 0.04167vw;
    background: #181e1a;
  } 
  .mobile-drawer-nav a:hover::after {
    width: 100%;
  }
  
  .nav-burger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    z-index: 3;
  }

  .nav-burger-lines {
    position: relative;
    display: block;
    width: 22px;
    height: 14px;
  }

  .nav-burger-lines span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--sr-black);
    border-radius: 2px;
    transition:
      top .4s cubic-bezier(.65, 0, .35, 1),
      width .4s cubic-bezier(.65, 0, .35, 1),
      transform .4s cubic-bezier(.65, 0, .35, 1),
      opacity .25s ease;
  }

  .nav-burger-lines span:nth-child(1) { top: 0; }
  .nav-burger-lines span:nth-child(2) { top: 6px; }
  .nav-burger-lines span:nth-child(3) { top: 12px; width: 100%; }

  /* open state → X */
  .nav-burger[data-app-open] .nav-burger-lines span:nth-child(1) ,
  .nav-burger.is-active .nav-burger-lines span:nth-child(1) {
    top: 6px;
    transform: rotate(45deg);
  }
  .nav-burger[data-app-open] .nav-burger-lines span:nth-child(2) ,
  .nav-burger.is-active .nav-burger-lines span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
  }
  .nav-burger[data-app-open] .nav-burger-lines span:nth-child(3) ,
  .nav-burger.is-active .nav-burger-lines span:nth-child(3) {
    top: 6px;
    width: 100%;
    transform: rotate(-45deg);
  }

  /* ---- Drawer becomes an in-flow accordion panel that pushes content down ---- */
  .mobile-drawer-overlay { display: none !important; }

  .mobile-drawer {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    transform: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    box-shadow: none !important;
    background: var(--color-light, #fafafa);
    border-bottom: 1px solid transparent;
    overflow: hidden;
    margin-top: -52px;

    /* 0fr → 1fr animates to the panel's real content height */
    display: grid;
    grid-template-rows: 0fr;
    transition: margin 400ms cubic-bezier(0.22, 1, 0.36, 1);
      padding: 0;
  }

  .mobile-drawer[data-app-open] ,
  .mobile-drawer.is-expanded {
    grid-template-rows: 1fr;
    /* express-store sets this inline from its own script */
    margin-top: 0;
    border-bottom-color: var(--color-border, #e5e5e5);
    position: relative !important;
    z-index: 9;
  }

  /* inner wrapper needed for the grid-rows technique */
  .mobile-drawer > * { min-height: 0; }

  /* the drawer's own LUXE + close row isn't used in this layout */
  .mobile-drawer-header { display: none !important; }

  .mobile-drawer-nav {
    list-style: none;
    margin: 0;
    padding: 24px 0 28px;
    padding-inline: 16px;
    overflow: hidden;
  }

  .mobile-drawer-nav li { margin: 0; }

  .mobile-drawer-nav li a {
    display: block;
    padding: 0.75rem 0;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity .4s ease, transform .4s ease, color .25s ease;
  }

  .mobile-drawer[data-app-open] .mobile-drawer-nav li a ,
  .mobile-drawer.is-expanded .mobile-drawer-nav li a {
    opacity: 1;
    transform: translateY(0);
  }

  /* staggered reveal */
  .mobile-drawer[data-app-open] .mobile-drawer-nav li:nth-child(1) a ,
  .mobile-drawer.is-expanded .mobile-drawer-nav li:nth-child(1) a { transition-delay: .14s; }
  .mobile-drawer[data-app-open] .mobile-drawer-nav li:nth-child(2) a ,
  .mobile-drawer.is-expanded .mobile-drawer-nav li:nth-child(2) a { transition-delay: .20s; }
  .mobile-drawer[data-app-open] .mobile-drawer-nav li:nth-child(3) a ,
  .mobile-drawer.is-expanded .mobile-drawer-nav li:nth-child(3) a { transition-delay: .26s; }
  .mobile-drawer[data-app-open] .mobile-drawer-nav li:nth-child(4) a ,
  .mobile-drawer.is-expanded .mobile-drawer-nav li:nth-child(4) a { transition-delay: .32s; }
  .mobile-drawer[data-app-open] .mobile-drawer-nav li:nth-child(5) a ,
  .mobile-drawer.is-expanded .mobile-drawer-nav li:nth-child(5) a { transition-delay: .38s; }
  .mobile-drawer,
  .mobile-drawer-nav,
  .mobile-drawer-nav li,
  .mobile-drawer-nav li a {
    pointer-events: auto;
  }
  /* ==== Mobile menu ends ====  */

  .site-header-luxe .brand-luxe {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-size: 26px;
    line-height: 32px;
    z-index: 2;
  }

  .site-header-luxe .brand-luxe-img {
    height: 40px;
  }

  .header-actions-luxe {
    gap: 0.85rem;
    z-index: 3;
  }

  .icon-action-btn {
    width: 24px;
    height: 24px;
  }

  .icon-action-btn img {
    width: 18px;
    height: 18px;
  }

  .icon-badge {
    width: 16px;
    height: 16px;
    font-size: 0.65rem;
    top: -4px;
    right: -4px;
  }

  /* Mini Cart Drawer Responsive - 991.98px
     Every size below was vw-based off a 1440px reference, so on a ~390px
     phone the drawer itself (width: 29.166667vw) collapsed to ~114px and
     every piece of text inside shrank to a few px — unreadable. Fixed px
     from here down, matching the rest of this file's mobile convention. */
  .minicart-drawer {
    width: 85vw;
    max-width: 360px;
  }

  .minicart-header {
    padding: 16px;
  }

  .minicart-header .mobile-drawer-close img {
    width: 18px;
    height: 18px;
  }

  .minicart-title {
    font-size: 18px;
  }

  .minicart-count {
    font-size: 13px;
  }

  .minicart-shipping-banner {
    padding: 10px 16px;
  }

  .shipping-banner-text {
    font-size: 10px;
    letter-spacing: 0.3px;
    margin-bottom: 6px;
  }

  .shipping-progress-bar {
    height: 3px;
  }

  .minicart-body {
    padding: 16px;
    gap: 16px;
  }

  .minicart-item {
    gap: 12px;
    padding-bottom: 16px;
  }

  .minicart-item-img {
    width: 64px;
    height: 84px;
  }

  .minicart-item-info {
    gap: 4px;
  }

  .minicart-item-title {
    font-size: 14px;
  }

  .minicart-item-meta {
    font-size: 12px;
  }

  .minicart-item-price {
    font-size: 14px;
  }

  .minicart-qty-wrap {
    height: 26px;
  }

  .minicart-qty-btn {
    width: 22px;
    font-size: 13px;
  }

  .minicart-qty-val {
    font-size: 12px;
    padding: 0 8px;
  }

  .minicart-remove-link {
    font-size: 11px;
    text-underline-offset: 2px;
  }

  .minicart-footer {
    padding: 16px;
  }

  .minicart-subtotal-row {
    font-size: 15px;
    margin-bottom: 6px;
  }

  .minicart-footer-note {
    font-size: 11px;
    margin-bottom: 16px;
  }

  .btn-minicart-checkout {
    height: 46px;
    font-size: 11px;
    letter-spacing: 1px;
  }

  .btn-minicart-viewcart {
    height: 42px;
    font-size: 11px;
    letter-spacing: 1px;
  }

  .hero-section {
    padding-top: 1.5rem;
    padding-bottom: 3.5rem;
  }

  .hero-framed-wrapper {
    display: flex;
    height: auto;
    min-height: 440px;
    padding: 3rem 2rem;
    align-items: flex-end;
  }

  .hero-framed-content {
    position: relative;
    top: auto;
    left: auto;
    max-width: 100%;
  }

  .hero-framed-title {
    font-size: 42px;
    line-height: 50px;
    letter-spacing: -0.5px;
    margin-bottom: 1rem;
  }

  .hero-framed-subtitle {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    max-width: 480px;
    margin-bottom: 1.5rem;
  }

  .btn-hero-white {
    width: auto;
    min-width: 200px;
    height: 44px;
    padding: 0 1.75rem;
    font-size: 12px;
    line-height: 44px;
    letter-spacing: 1.2px;
    border-width: 1px;
  }

  .featured-section {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .featured-header-row {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 1rem !important;
    margin-bottom: 2rem !important;
  }

  .featured-section-title {
    font-size: 28px;
    line-height: 36px;
  }

  .link-view-all {
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
  }

  .product-grid-3col {
    grid-template-columns: repeat(2, 1fr);
    gap: 36px 20px;
  }

  .product-card-info {
    margin-top: 1rem !important;
  }

  .product-title-luxe,
  .product-title-luxe a {
    font-size: 15px;
    line-height: 22px;
  }

  .product-price-luxe {
    font-size: 15px;
    line-height: 22px;
  }

  .product-subtext-luxe {
    font-size: 12px;
    line-height: 14px;
    letter-spacing: 0.8px;
    margin-top: 0.25rem !important;
  }

  .philosophy-section.section-padding-luxe {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .philosophy-card-box {
    padding: 3.5rem 2.5rem;
  }

  .philosophy-label {
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
    margin-bottom: 1.25rem;
  }

  .philosophy-quote {
    font-size: 26px;
    line-height: 36px;
    max-width: 100%;
    margin-bottom: 1.75rem;
  }

  .link-discover {
    font-size: 12px;
    letter-spacing: 1.2px;
    gap: 0.5rem !important;
  }

  .link-discover img {
    width: 14px;
    height: 14px;
  }

  .philosophy-img-box {
    height: auto;
    min-height: 380px;
    padding: 2.5rem;
  }

  /* Shop Page Responsive - 991.98px */
  .shop-hero-luxe {
    padding-top: 3rem;
    padding-bottom: 2rem;
  }

  .shop-page-title {
    font-size: 36px;
    line-height: 44px;
  }

  .shop-page-subtitle {
    font-size: 15px;
    line-height: 22px;
    max-width: 100%;
  }

  .shop-filter-bar {
    padding-top: 1.25rem;
    padding-bottom: 1.5rem;
    margin-bottom: 2.5rem;
  }

  .filter-pills-list {
    gap: 8px !important;
  }

  .btn-filter-pill {
    font-size: 13px;
    height: 38px;
    line-height: 1;
    letter-spacing: 0.2px;
    padding: 0 16px;
  }

  .sort-label-luxe,
  .form-select-luxe {
    font-size: 13px;
  }

  /* Search Results page — chip/count text was still raw vw with no floor. */
  .search-chip {
    height: 34px;
    padding: 0 12px 0 16px;
    font-size: 13px;
  }

  .search-chip-remove {
    font-size: 18px;
  }

  .search-count {
    font-size: 13px;
  }

  /* .search-meta-section .search-chip (2 classes, in style.css) beats the
     plain .search-chip override above by specificity regardless of file
     order, so the chip text was still raw vw (~3px) on mobile — same
     specificity-conflict pattern as the signature-card captions earlier.
     Matching specificity here so the fix actually applies. */
  .search-meta-section .search-chip {
    height: 34px;
    padding: 0 12px 0 16px;
    font-size: 13px;
  }

  /* Same issue for the product grid gap and the title/price stack spacing
     on the search-results page — both set by more-specific
     .search-results-section selectors in style.css. */
  .search-results-section .product-grid-3col {
    gap: 32px;
  }

  .search-results-section .product-title-luxe {
    margin-bottom: 6px !important;
  }

  .signature-grid-luxe {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .signature-featured-wide,
  .signature-featured-single {
    grid-column: span 1;
  }

  .signature-img-box {
    height: 380px;
  }

  .optics-img-box {
    min-height: 300px;
    height: 320px;
  }

  .optics-card-box {
    padding: 3rem 2rem;
  }

  .newsletter-section-luxe {
    padding: 4rem 1.5rem;
  }

  .newsletter-form-luxe {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
  }

  .newsletter-field-luxe {
    max-width: 100%;
  }

  .btn-newsletter-subscribe {
    width: 100%;
    height: 46px;
  }

  /* Signature (featured) cards — badge/title/price/caption were still raw
     vw with no px floor (a more specific style.css selector, e.g.
     .signature-section .product-subtext-luxe, beats the plain
     .product-subtext-luxe override above by specificity), so this text
     rendered unreadably small below desktop widths. */
  .badge-signature-luxe {
    font-size: 11px;
    line-height: 14px;
    padding: 4px 10px;
    top: 12px;
    left: 12px;
  }

  .signature-title-luxe,
  .signature-title-luxe a {
    font-size: 20px;
    line-height: 28px;
  }

  .signature-price-luxe {
    font-size: 16px;
    line-height: 24px;
  }

  .signature-section .product-subtext-luxe {
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.5px;
    margin-top: 0.25rem !important;
  }

  .signature-section .product-card-info,
  .shop-products-section .product-card-info {
    margin-top: 1rem !important;
  }

  .shop-products-section .product-grid-3col {
    gap: 32px 20px;
  }

  /* Pagination — width/height/font-size had no mobile floor at all, so the
     page links shrank to ~12x11px with 3px text below desktop widths. */
  .page-link-luxe {
    width: 36px;
    height: 36px;
    padding: 0;
    font-size: 12px;
  }

  .pagination {
    gap: 8px;
  }

  .shop-pagination-section .container-luxe {
    flex-direction: column;
    gap: 0.75rem;
  }

  .pagination-count-luxe {
    position: static;
    right: auto;
    font-size: 12px;
    text-align: center;
  }

  /* "Sort by" dropdown — width was a raw 6.333333vw with no floor (~25px
     on a phone), so the "Popular" text collided with the arrow icon.
     width:auto isn't the fix either: a native <select> auto-sizes to its
     WIDEST option ("Price: High to Low"), not the selected one, so
     "Popular" ended up right-aligned inside a much wider box — and
     text-align:right (inherited from the desktop rule) then pushed that
     blank leftover space to sit right before the text, reading as a gap
     between "Sort by" and "Popular". Left-aligning it removes the gap
     regardless of the box's width; the width is just sized to fit the
     selected text plus the arrow, not the longest possible option. */
  .form-select-luxe {
    /* width: 120px; */
    width: auto; 
    text-align: left;
    padding-left: 4px;
    padding-right: 20px;
  }

  /* Optics banner text */
  .optics-label {
    font-size: 11px;
    line-height: 14px;
    letter-spacing: 1.5px;
    margin-bottom: 0.75rem;
  }

  .optics-desc {
    max-width: 100%;
  }

  .form-select-luxe {
    /* width: 120px; */
    width: auto; 
    text-align: left;
    padding-left: 4px;
    padding-right: 20px;
    height: 16px;
  }

  .newsletter-content-luxe {
    max-width: 100%;
  }
  .newsletter-desc-break {
    display: none;
  }
  .newsletter-title-luxe {
    font-size: 28px;
    line-height: 34px;
    margin-bottom: 0.75rem;
  }

  .newsletter-desc-luxe {
    font-size: 15px;
    line-height: 22px;
    max-width: 100%;
    margin-bottom: 1.75rem;
  }

  .newsletter-field-luxe {
    gap: 0.5rem;
  }

  .newsletter-field-luxe span {
    font-size: 11px;
    line-height: 11px;
    letter-spacing: 1px;
  }

  .newsletter-input-luxe {
    height: 44px;
    font-size: 14px;
    letter-spacing: 0;
    padding-bottom: 8px;
  }

  .btn-newsletter-subscribe {
    font-size: 11px;
    line-height: 11px;
    letter-spacing: 1px;
  }

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

  .site-footer-luxe .row.gy-5 {
    row-gap: 2.5rem !important;
    --bs-gutter-x: 1.5rem;
  }

  .site-footer-luxe .brand-luxe {
    font-size: 26px;
    line-height: 32px;
    margin-bottom: 1.25rem !important;
    margin-top: 0 !important;
  }

  .site-footer-luxe .brand-luxe-img {
    height: 24px;
  }

  .footer-subtext-luxe {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 0.8px;
  }

  .footer-nav-columns {
    justify-content: flex-start;
    gap: 4rem;
  }

  .footer-nav-title {
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1px;
    margin-bottom: 1.25rem;
  }

  .footer-nav-list li {
    margin-bottom: 0.75rem;
  }

  .footer-nav-list a {
    font-size: 15px;
    line-height: 22px;
  }

  /* Collections page — every desktop rule here is raw vw with no floor
     (hero column, title/description, filter label, load-more button), so
     this text was near-invisible below desktop widths, same pattern as
     every other page fixed this session. Scoped to collections-specific
     classes only, so shop.html/search-results.html are unaffected. */
  .collections-hero-section {
    padding-top: 24px;
    padding-bottom: 48px;
  }

  .collections-hero-content {
    max-width: 100%;
    margin-top: 24px;
  }

  .collections-hero-title {
    font-size: 34px;
    line-height: 40px;
    letter-spacing: -0.5px;
    margin-bottom: 16px;
  }

  .collections-hero-desc {
    font-size: 15px;
    line-height: 22px;
    margin-bottom: 20px;
  }

  /* Mobile design shows the hero photo above the text — instead of
     beside it like on desktop. `order` reorders visually without
     touching the HTML. The image keeps the same left/right inset as the
     rest of the page's content (it sits inside .container-luxe like
     everything else); it is NOT full-bleed/edge-to-edge. */
  .collections-hero-row .col-lg-7 {
    order: -1;
  }

  .collections-hero-img-box {
    height: 420px;
    padding-left: 0;
  }

  .collections-filter-label {
    display: none;
  }

  .collections-products-section .product-grid-3col {
    gap: 32px 20px;
  }

  .btn-load-more {
    height: 44px;
    padding: 0 28px;
    font-size: 12px;
  }

  /* The "EXPLORE COLLECTION" button reuses the shared .btn-discover-more
     class (also used on shop.html's optics banner), which forces
     width:100% at the 575.98px breakpoint below — correct there, but
     this design keeps the button auto-width at every size. Higher
     specificity here wins regardless of which breakpoint block it's in. */
  .collections-hero-content .btn-discover-more {
    width: auto;
  }

  /* About page — every rule below is raw vw with no floor (same pattern as
     every other page fixed this session), so headings/body copy/icons were
     unreadably small and several boxes had desktop-only fixed dimensions
     meant for a two-column side-by-side layout that don't apply once the
     columns stack below 992px. Scoped to about-* classes only. */
  .about-kicker,
  .about-read-more-link,
  .about-quote-attribution {
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 1px;
  }

  .about-hero-content {
    max-width: 100%;
    padding-top: 0;
    padding-right: 0;
  }

  .about-hero-title {
    font-size: 34px;
    line-height: 40px;
    letter-spacing: -0.5px;
    margin-bottom: 16px;
  }

  .about-hero-desc {
    font-size: 15px;
    line-height: 22px;
  }

  .about-hero-img-box {
    height: 320px;
    padding-left: 0;
    margin-top: 32px;
  }

  .about-philosophy-img-box {
    height: 320px;
    padding-left: 0;
    padding-right: 0;
  }

  .about-philosophy-content {
    padding-left: 0;
    margin-top: 32px;
  }

  .about-philosophy-title {
    font-size: 26px;
    line-height: 32px;
    margin-bottom: 16px;
  }

  .about-philosophy-text {
    font-size: 15px;
    line-height: 22px;
    margin-bottom: 16px;
  }

  .about-section-title {
    font-size: 28px;
    line-height: 34px;
    padding-bottom: 16px;
    margin-bottom: 32px;
  }

  .about-section-title::after {
    width: 40px;
  }

  .material-craft-img-box {
    height: 260px;
  }

  .material-craft-badge {
    font-size: 11px;
    top: 12px;
    left: 12px;
  }

  .ethical-sourcing-card {
    padding: 24px !important;
  }

  .ethical-sourcing-title {
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 12px;
  }

  .ethical-sourcing-desc {
    font-size: 15px;
    line-height: 22px;
    margin-bottom: 16px;
  }

  .heritage-card {
    padding: 40px 24px;
  }

  .heritage-icon img {
    min-width: 25px;
    min-height: 25px;
    width: 100%;
    height: 100%;
  }

  .heritage-label {
    font-size: 11px;
    margin-bottom: 8px;
  }

  .heritage-year {
    font-size: 20px;
  }

  .about-quote-mark {
    width: 33px;
    margin-bottom: 20px;
  }

  .about-quote-text {
    font-size: 26px;
    line-height: 34px;
    letter-spacing: 0;
    max-width: 100%;
    margin-bottom: 16px;
  }

  .about-journal-title {
    font-size: 26px;
    line-height: 32px;
  }

  .about-journal-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .about-journal-img-box {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
  }

  .about-journal-card-title {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 8px;
  }

  .about-journal-card-desc {
    font-size: 14px;
    line-height: 20px;
  }
  .product-detail-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .product-gallery-stage {
    height: auto;
    aspect-ratio: 3 / 4;
  }

  .product-summary-panel {
    width: 100%;
  }

  /* Product detail page — everything below is raw vw with no floor (same
     pattern as every other page fixed this session), so this text was
     unreadably small below desktop widths. */
  .product-detail-page {
    padding-top: 32px;
    padding-bottom: 48px;
  }

  .product-gallery-panel {
    min-width: 0;
  }

  .gallery-arrow {
    width: 36px;
    height: 36px;
  }

  .gallery-arrow-prev {
    left: 12px;
  }

  .gallery-arrow-next {
    right: 12px;
  }

  .product-gallery-thumb-nav {
    gap: 8px;
    margin-top: 12px;
  }

  /* Exactly 4 thumbnails on this page — let them fill the row evenly
     instead of staying a fixed 66px (leaving dead space on the right) or
     relying on the horizontal-scroll fallback meant for future overflow. */
  .product-thumb {
    flex: 1 1 0;
    width: auto;
    height: 96px;
  }

  .thumb-nav-arrow {
    width: 20px;
    height: 20px;
  }

  .product-breadcrumb {
    font-size: 11px;
    margin-bottom: 16px;
  }

  .product-detail-title {
    font-size: 26px;
    line-height: 32px;
    margin-bottom: 14px;
  }

  .product-detail-price {
    font-size: 16px;
    margin-bottom: 16px;
  }

  .product-detail-copy {
    font-size: 15px;
    line-height: 22px;
    max-width: 100%;
    margin-bottom: 24px;
  }

  .product-option-group {
    margin-bottom: 28px;
  }

  .product-option-label {
    font-size: 11px;
    margin-bottom: 14px;
  }

  .product-color-options {
    gap: 10px;
  }

  .color-option {
    width: 24px;
    height: 24px;
  }

  .btn-luxe-dark {
    height: 46px;
    padding: 0 20px;
    font-size: 12px;
  }

  .product-buy-btn {
    margin-bottom: 24px;
  }

  .spec-row {
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 16px;
    padding: 20px 0;
  }

  .spec-label {
    font-size: 11px;
  }

  .spec-value {
    font-size: 14px;
    line-height: 20px;
  }

  .product-more-info {
    margin-top: 40px;
    padding-top: 24px;
  }

  .product-more-info h2 {
    font-size: 20px;
    padding-bottom: 12px;
    margin-bottom: 16px;
  }

  .product-more-info p {
    font-size: 15px;
    line-height: 22px;
    max-width: 100%;
  }
  .sustain-sourcing-section {
        padding-top: 48px;
        padding-bottom: 64px;
    }

    .sustain-sourcing-row {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .sustain-sourcing-img-box {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        margin-bottom: 24px;
    }

    .sustain-sourcing-box {
        padding-left: 0;
    }

    .sustain-sourcing-title {
        font-size: 24px;
        line-height: 32px;
        margin-bottom: 16px;
    }

    .sustain-sourcing-desc {
        font-size: 16px;
        line-height: 24px;
        max-width: 600px;
    }

    .sustain-principles {
        border-left: none;
        border-top: 1px solid var(--color-border);
        padding-left: 0;
        padding-top: 40px;
        margin-left: 0;
        height: auto;
    }

    .sustain-principles .about-kicker {
        margin-bottom: 32px;
    }

    .sustain-principle-item {
        margin-bottom: 40px;
    }

    .sustain-principle-title {
        font-size: 20px;
        line-height: 28px;
        margin-bottom: 12px;
    }

    .sustain-principles p {
        font-size: 16px;
        line-height: 24px;
        max-width: 100%;
    }

  /* Hero and Anti-Disposable Philosophy sections had no mobile rules at
     all yet — same raw-vw-with-no-floor pattern as everything else this
     session, plus the desktop-only side-by-side offsets (hero-content's
     padding-top, hero-img-box's padding-left) don't apply once the
     columns stack. */
  .sustain-hero-section {
    padding-top: 32px;
    padding-bottom: 48px;
  }

  .sustain-hero-content {
    max-width: 100%;
    padding-top: 0;
    padding-right: 0;
  }

  .sustain-hero-content .about-kicker {
    margin-bottom: 12px;
  }

  .sustain-hero-title {
    font-size: 30px;
    line-height: 36px;
    margin-bottom: 16px;
  }

  .sustain-hero-desc {
    font-size: 15px;
    line-height: 22px;
  }

  .sustain-hero-img-box {
    height: 320px;
    padding-left: 0;
    margin-top: 24px;
  }

  .sustain-philosophy-section {
    padding-top: 40px;
    padding-bottom: 48px;
  }

  .sustain-philosophy-header {
    max-width: 100%;
    margin-bottom: 32px;
  }

  .sustain-philosophy-header .about-kicker {
    margin-bottom: 12px;
  }

  .sustain-philosophy-title {
    font-size: 28px;
    line-height: 34px;
    padding-bottom: 16px;
    margin-bottom: 24px;
  }

  .sustain-philosophy-title::after {
    width: 40px;
  }

  .sustain-philosophy-desc {
    font-size: 15px;
    line-height: 22px;
  }

  .sustain-material-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .sustain-material-img-box {
    height: 320px;
  }

  .sustain-material-item figcaption {
    font-size: 11px;
  }

  /* Cart Page Responsive - 991.98px */
  .cart-page {
    padding-top: 32px;
    padding-bottom: 48px;
  }

  .cart-page-title {
    font-size: 34px;
    line-height: 40px;
    margin-bottom: 32px;
  }

  .cart-table-luxe {
    margin-top: 0;
  }

  .cart-table-luxe thead {
    display: none;
  }

  .cart-table-luxe,
  .cart-table-luxe tbody {
    display: block;
    width: 100%;
  }

  .cart-table-luxe tbody tr.cart-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 24px 0;
    border-bottom: 1px solid var(--color-border);
  }

  .cart-table-luxe tbody tr.cart-row:last-child {
    border-bottom: none;
  }

  .cart-table-luxe tbody td {
    display: block;
    width: auto;
    padding: 0;
    border-bottom: none;

  }

  .cart-table-luxe tbody td:first-child {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 16px;
  }

  .cart-table-luxe tbody td.cart-col-qty {
    width: auto;
    padding: 0;
  }

  .cart-table-luxe tbody td.cart-row-total {
    width: auto;
    margin-left: auto;
    font-size: 18px;
    line-height: 24px;
  }

  .cart-item-flex {
    gap: 16px;
  }

  .cart-item-img {
    width: 88px;
    height: 115px;
    min-width: 88px;
    max-width: 88px;
    min-height: 115px;
    max-height: 115px;
    flex: 0 0 88px;
  }

  .cart-item-info {
    height: 115px;
  }

  .cart-item-flex h3 {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 4px;
  }

  .cart-item-flex p {
    font-size: 15px;
    line-height: 22px;
    margin-bottom: 4px;
  }

  .cart-item-info .cart-remove-btn {
    font-size: 12px;
    line-height: 12px;
  }

  .qty-counter {
    height: 36px;
  }

  .qty-btn {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }

  .qty-input {
    width: 36px;
    height: 36px;
    font-size: 15px;
  }

  .cart-page .col-lg-4 {
    margin-top: 32px;
  }

  .order-summary-box {
    padding: 24px 20px;
  }

  .order-summary-box h2 {
    font-size: 26px;
    line-height: 32px;
    margin-bottom: 20px;
  }

  .summary-row {
    font-size: 15px;
    margin-bottom: 12px;
  }

  .summary-total-row {
    font-size: 22px;
    line-height: 28px;
    padding-top: 16px;
    margin-top: 16px;
    margin-bottom: 20px;
  }

  .order-summary-box .product-buy-btn {
    margin-bottom: 16px;
  }

  .order-summary-box > p {
    font-size: 13px;
    line-height: 19px;
  }

  /* Checkout Page Responsive - 991.98px */
  .checkout-header {
    padding: 16px 0;
  }

  .checkout-header .brand-luxe-img {
    height: 24px;
  }

  .checkout-secure-badge {
    gap: 6px;
    font-size: 10px;
  }

  .checkout-lock-icon {
    width: 8px;
    height: 11px;
  }

  .checkout-page {
    padding-top: 24px;
    padding-bottom: 48px;
  }

  .checkout-breadcrumb {
    gap: 6px;
    font-size: 11px;
    margin-bottom: 24px;
    flex-wrap: wrap;
  }

  .checkout-breadcrumb-sep {
    font-size: 9px;
  }

 .checkout-layout {
    grid-template-columns: 1fr;
    gap: 20px;
}

  .checkout-section-title {
    font-size: 24px;
    line-height: 30px;
    margin-bottom: 20px;
  }

  .checkout-section-title-spaced {
    margin-top: 32px;
  }

  .checkout-field {
    margin-bottom: 20px;
  }

  .checkout-field label {
    font-size: 10px;
    margin-bottom: 6px;
  }

  .checkout-field input,
  .checkout-select-wrap select {
    font-size: 15px;
    padding-bottom: 8px;
  }

  .checkout-field-row,
  .checkout-field-row-3 {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 20px;
  }

  .checkout-select-wrap::after {
    width: 6px;
    height: 6px;
    border-right-width: 1.5px;
    border-bottom-width: 1.5px;
  }

  .checkout-checkbox {
    font-size: 14px;
    gap: 8px;
    margin-bottom: 32px;
  }

  .checkout-checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
  }

  .checkout-actions {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    margin-top: 32px;
  }

  .checkout-continue-btn {
    order: 1;
    width: 100%;
  }

  .checkout-back-link {
    order: 2;
    justify-content: center;
    font-size: 14px;
    gap: 6px;
  }

  .checkout-back-arrow {
    width: 10px;
    height: 10px;
  }

  .checkout-summary-box {
    padding: 24px 20px;
  }

  .checkout-summary-box h2 {
    font-size: 22px;
    margin-bottom: 20px;
  }

  .checkout-summary-items {
    gap: 20px;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .checkout-summary-item {
    display: grid;
    grid-template-columns: 64px 1fr;
    grid-template-areas:
      "image info"
      "image price";
    column-gap: 12px;
    row-gap: 10px;
  }

  .checkout-summary-item-img-wrap {
    grid-area: image;
    width: 64px;
    height: 64px;
  }

  .checkout-summary-item-qty {
    width: 16px;
    height: 16px;
    top: -6px;
    right: -6px;
    font-size: 9px;
  }

  .checkout-summary-item-info {
    grid-area: info;
  }

  .checkout-summary-item-info h3 {
    font-size: 14px;
    line-height: 20px;
  }

  .checkout-summary-item-info p {
    font-size: 11px;
    line-height: 16px;
    margin: 0;
  }

  .checkout-summary-item-price {
    grid-area: price;
    align-self: start;
    text-align: left;
    font-size: 14px;
    margin-top: 2px;
  }

  .checkout-promo-row {
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    flex-wrap: nowrap;
  }

  .checkout-promo-row input {
    font-size: 13px;
    padding-bottom: 8px;
  }

  .checkout-apply-btn {
    width: auto;
    padding: 0 14px;
    height: 32px;
    font-size: 10px;
  }

  .checkout-totals {
    gap: 16px;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .checkout-totals-row {
    font-size: 14px;
    line-height: 20px;
  }

  .checkout-totals-muted {
    font-size: 12px;
    line-height: 18px;
  }

  .checkout-upsell {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }

  .checkout-upsell-header {
    gap: 8px;
    margin-bottom: 16px;
  }

  .checkout-upsell-label {
    font-size: 10px;
  }

  .checkout-upsell-note {
    font-size: 12px;
  }

  .checkout-upsell-item img {
    width: 44px;
    height: 44px;
  }

  .checkout-upsell-info h4 {
    font-size: 13px;
    line-height: 18px;
    margin-bottom: 4px;
  }

  .checkout-upsell-info p {
    font-size: 12px;
    line-height: 16px;
    margin: 0;
  }

  .checkout-upsell-add {
    padding: 0 12px;
    height: 28px;
    font-size: 9px;
  }

  .checkout-total-row > span:first-child {
    font-size: 16px;
  }

  .checkout-currency {
    font-size: 12px;
  }

  .checkout-total-amount {
    font-size: 24px;
  }

  .checkout-footer-wrapper {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
  }

  .checkout-footer-wrapper p {
    font-size: 11px;
    text-align: center;
  }

  .checkout-footer-links {
    gap: 20px;
  }

  .checkout-footer-links a {
    font-size: 13px;
  }

  /* Billing Page Responsive - 991.98px */
  .checkout-review-block {
    margin-bottom: 24px;
  }

  .billing-page .checkout-review-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding-bottom: 16px;
    margin-bottom: 16px;
  }

  .checkout-review-row > span:first-child {
    font-size: 13px;
  }

  .checkout-review-row > span:last-child {
    font-size: 15px;
    line-height: 22px;
    text-align: left;
  }

  .billing-page .checkout-section-title-spaced {
    margin: 0 0 20px;
    margin-top: 32px;
  }

  .checkout-radio-control {
    width: 18px;
    height: 18px;
  }

  .checkout-radio-row {
    padding: 16px 0;
    gap: 12px;
  }

  .billing-page .checkout-radio-row.checkout-payment-row {
    padding: 16px 0;
  }

  .checkout-radio-info {
    gap: 4px;
  }

  .checkout-radio-title {
    font-size: 15px;
    line-height: 20px;
  }

  .checkout-radio-sub {
    font-size: 12px;
    line-height: 16px;
  }

  .checkout-radio-price {
    font-size: 14px;
    line-height: 20px;
  }

  .checkout-payment-logo-img {
    height: 18px;
  }

  .checkout-payment-logo-img-afterpay {
    height: 16px;
  }

  .checkout-card-form {
    padding-left: 0;
    padding-top: 8px;
  }

  .billing-page .checkout-field-row {
    margin-bottom: 20px;
  }

  .checkout-field-label-row {
    margin-bottom: 8px;
  }

  .checkout-whats-this {
    font-size: 10px;
  }

  .checkout-field-error {
    font-size: 11px;
    line-height: 15px;
    margin-top: 6px;
  }

  /* The validator's own injected message, sized to match .checkout-field-error above.
     Its desktop rule in style.css is 0.833333vw -- a viewport-relative size that reads as
     16px on a 1920px screen but collapses to under 4px on a 440px phone, which is what made
     the message illegible. Fixed px here, because below this breakpoint the layout is no
     longer fluid. !important is needed twice over: the validator writes font-size inline on
     the element, and the desktop rule is itself !important. */
  .error-message-inline {
    font-size: 11px !important;
    line-height: 15px !important;
    margin-top: 6px !important;
  }

  /* The empty-cart message, in fixed px because its desktop rule is in vw. Larger than a
     field's own 11px error for the same reason it is centred: it speaks about the order,
     not about the input beside it. */
  body .error-msg {
    font-size: 15px;
    line-height: 20px;
    margin-bottom: 20px;
  }

  .checkout-promo-error {
    margin-top: 8px;
    margin-bottom: 16px;
  }

  .billing-page .checkout-actions {
    margin-top: 32px;
  }

  /* ===== Merged from privacy/shipping-returns/thank-you/upsell page CSS ===== */

  /* --- PRIVACY PAGE (privacy.css) --- */
  .privacy-intro {
    padding-top: 3rem;
    padding-bottom: 4rem;
  }

  .privacy-kicker {
    margin-bottom: 1rem;
    font-size: 9px;
    line-height: 11px;
    letter-spacing: 0.7px;
  }

  .privacy-page-title {
    font-size: 42px;
    line-height: 50px;
    letter-spacing: -0.6px;
  }

  .privacy-intro-aside {
    padding-top: 3.4rem;
  }

  .privacy-intro-statement {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 12px;
  }

  .privacy-updated {
    font-size: 8px;
    line-height: 10px;
    letter-spacing: 0.7px;
  }

  .privacy-content {
    padding-bottom: 4rem;
  }

  .privacy-toc-column {
    position: static;
    top: auto;
  }

  .privacy-toc {
    position: static;
  }

  .privacy-toc-title {
    font-size: 16px;
    line-height: 11px;
    letter-spacing: 0.7px;
  }

  .privacy-toc-rule {
    margin-top: 10px;
    margin-bottom: 12px;
  }

  .privacy-toc nav a {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 9px;
  }

  .privacy-article-section {
    margin-bottom: 3.75rem;
    scroll-margin-top: 90px;
  }

  .privacy-article-section h2 {
    font-size: 28px;
    line-height: 36px;
  }

  .privacy-heading-rule {
    margin-top: 10px;
    margin-bottom: 22px;
  }

  .privacy-article-section p {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 20px;
  }

  .privacy-article-section h3 {
    margin-top: 22px;
    margin-bottom: 6px;
    font-size: 16px;
    line-height: 24px;
  }

  .privacy-inquiries {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
  }

  .privacy-inquiries-label {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.7px;
  }

  .privacy-email {
    font-size: 23px;
    line-height: 28px;
    margin-bottom: 8px;
  }

  .privacy-inquiries p {
    font-size: 16px;
    line-height: 24px;
  }

  /* --- SHIPPING & RETURNS PAGE (shipping-returns-responsive.css) --- */
  /* PAGE WIDTH */
  .shipping_return .container-luxe,
  .shipping-policy-section .container-luxe,
  .returnexchange_process .container-luxe,
  .guidelines .container-luxe,
  .further_assistance .container-luxe,
  .site-footer-luxe .container-luxe {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* HEADER — existing HTML structure preserved */

  /* TOP INTRO */
  .shipping_return {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  .shipping_return .top_content {
    width: 100%;
  }

  .shipping_return .top_content h6 {
    font-family: var(--sr-font-inter);
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
    margin: 0 0 10px;
  }

  .shipping_return .top_content h1 {
    font-family: var(--sr-font-playfair);
    font-size: 40px;
    line-height: 48px;
    letter-spacing: -0.4px;
    margin: 0 0 9px;
    margin: 24px 0;
  }

  .shipping_return .top_content p {
    max-width: 100%;
    font-family: var(--sr-font-inter);
    font-size: 18px;
    line-height: 27px;
    letter-spacing: 0;
    margin: 0;
    letter-spacing: 0.18px;
  }

  /* SHIPPING POLICY — image above content */
  .shipping-policy-section.section-padding-luxe {
    padding-top: 0;
    padding-bottom: 34px;
  }

  .shipping-policy-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-left: 0;
    margin-right: 0;
  }

  .shipping-policy-row > .shipping-policy-left,
  .shipping-policy-row > .shipping-policy-right {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .shipping-policy-row > .shipping-policy-right {
    margin-left: 0;
  }

  .shipping-policy-image {
    width: 100%;
    margin: 0 0 0;
  }

  .shipping-policy-left img {
    width: 100%;
    height: auto;
    display: block;
    border: 0 !important;
  }

  .shipping-policy-right .shipping-policy-content {
    padding-top: 0;
    width: 100%;
  }

  .shipping-policy-title {
    font-family: var(--sr-font-playfair);
    font-size: 32px;
    line-height: 42px;
    letter-spacing: 0px;
    margin: 44px 0 32px;
  }

  .shipping-policy-block {
    margin: 0 0 32px;
  }

  .shipping-policy-block:last-child {
    margin-bottom: 0;
  }

  .shipping-policy-label {
    font-family: var(--sr-font-inter);
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
    margin: 0 0 6px;
  }

  .shipping-policy-text {
    font-family: var(--sr-font-inter);
    font-size: 16px;
    line-height: 25.6px;
    letter-spacing: 0;
    margin: 0;
  }

  /* RETURNS & EXCHANGES */
  .returnexchange_process {
    padding-top: 34px;
    padding-bottom: 34px;
    background: var(--sr-light-bg);
  }

  .returns-exchanges-row {
    margin-left: 0;
    margin-right: 0;
  }

  .returns-exchanges-row h3 {
    position: relative;
    font-family: var(--sr-font-playfair);
    font-size: 32px;
    line-height: 42px;
    letter-spacing: -0.3px;
    padding: 0 0 8px;
    margin: 0;
  }

  .returns-exchanges-row h3:before {
    width: 46px;
    height: 1px;
    bottom: 0;
  }

  .returns-exchanges-row-content {
    padding-top: 25px;
    margin-left: 0;
    margin-right: 0;
  }

  .returns-exchanges-column {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin: 0 0 24px;
  }

  .returns-exchanges-column:last-child {
    margin-bottom: 0;
  }

  .returns-exchanges-card {
    width: 100%;
    min-height: 0;
    height: auto;
    padding: 40px;
    background: var(--sr-card-bg);
  }

  .returns-exchanges-number {
    font-family: var(--sr-font-playfair);
    font-size: 32px;
    line-height: 41.6px;
    padding-bottom: 64.45px;
  }

  h4.returns-exchanges-card-title {
    font-family: var(--sr-font-playfair);
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0;
    padding-bottom: 14.97px;
    margin: 0;
  }

  p.returns-exchanges-card-text {
    font-family: var(--sr-font-inter);
    font-size: 16px;
    line-height: 25.6px;
    margin: 0;
  }

  /* SPECIFIC GUIDELINES */
  .guidelines.section-padding-luxe {
    padding-top: 34px;
    padding-bottom: 0;
  }

  .guidelines > .container-luxe > .specific-guidelines > .container {
    width: 100%;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .specific-guidelines-heading-row,
  .specific-guidelines-content-row {
    margin-left: 0;
    margin-right: 0;
  }

  h3.specific-guidelines-heading {
    font-family: var(--sr-font-playfair);
    font-size: 32px;
    line-height: 42px;
    letter-spacing: 0;
    /* text-align: left; */
    margin: 0;
  }

  .specific-guidelines-content-row {
    margin-top: 22px;
  }

  .specific-guidelines-content-inside {
    padding-left: 0;
    padding-right: 0;
  }

  .specific-guidelines-item {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .accordion-button,
  .specific-guidelines-button {
    padding: 0;
    font-family: var(--sr-font-inter);
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
    text-align: left;
    color: var(--sr-dark);
  }

  .accordion-button::after {
    margin-left: auto;
    font-size: 14px;
    line-height: 1;
  }

  .specific-guidelines-body {
    font-family: var(--sr-font-inter);
    font-size: 16px;
    line-height: 24px;
    padding-top: 16px;
    color: var(--sr-text);
  }

  /* FURTHER ASSISTANCE */
  .further_assistance.section-padding-luxe {
    margin-top: 0;
    padding-top: 42px;
    padding-bottom: 32px;
    background: var(--sr-black);
  }

  .further_assistance .container-luxe {
    padding-left: 20px;
    padding-right: 20px;
  }

  h3.assistance-title {
    font-family: var(--sr-font-playfair);
    font-size: 32px;
    line-height: 42px;
    letter-spacing: 0;
    padding: 0 0 24px;
    margin: 0;
    color: var(--sr-white);
  }

  p.assistance-description {
    max-width: 280px;
    font-family: var(--sr-font-inter);
    font-size: 16px;
    line-height: 25.6px;
    margin: 0 auto 40px;
    color: var(--sr-assist-text);
  }

  .assistance-actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }

  .assistance-btn-primary,
  .assistance-btn-secondary {
    width: 100%;
    max-width: none;
    height: 38px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--sr-font-inter);
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.7px;
    text-align: center;
  }

  .assistance-btn-secondary {
    color: var(--sr-white);
  }

  /* --- THANK YOU PAGE (thank-you.css) --- */
  .thank-you-page .site-header-luxe {
    height: 70px;
  }

  .thank-you-page .site-header-luxe .brand-luxe {
    font-size: 26px;
  }


  .thank-you-section.section-padding-luxe {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .thank-you-content {
    max-width: 100%;
  }

  .thank-you-brand {
    font-size: 24px;
    margin-bottom: 2.5rem;
  }

  .thank-you-title {
    font-size: 42px;
    line-height: 48px;
    margin-bottom: 1.25rem;
  }

  .thank-you-description {
    max-width: 100%;
    font-size: 15px;
    line-height: 22px;
    margin-bottom: 2rem;
  }

  .thank-you-order {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .thank-you-order-label {
    font-size: 11px;
    letter-spacing: 1px;
  }

  .thank-you-order-number {
    font-size: 15px;
  }

  .thank-you-btn {
    height: 44px;
    font-size: 11px;
    letter-spacing: 1px;
  }

  .thank-you-footer-row {
    min-height: 64px;
  }

  .thank-you-copyright {
    font-size: 10px;
    letter-spacing: 0.8px;
  }

  .thank-you-footer-links {
    gap: 1.5rem;
  }

  .thank-you-footer-links a {
    font-size: 13px;
  }

  /* --- UPSELL PAGE (upsell-responsive.css) --- */
  .upsell-header-nav {
    display: none;
  }

  .upsell-product-image-column {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
  }

  .upsell-product-content {
    max-width: none;
    padding-top: 4rem;
  }

  .upsell-product-description {
    max-width: none;
  }

  .upsell-product-title {
    font-size: 2.5rem;
  }

  .upsell-product-description,
  .upsell-limited-description,
  .upsell-feature-description {
    font-size: 1rem;
  }

  .upsell-eyebrow,
  .upsell-limited-label,
  .upsell-feature-label,
  .upsell-btn {
    font-size: 0.75rem;
  }

  .upsell-current-price {
    font-size: 2rem;
  }

  .upsell-old-price {
    font-size: 0.875rem;
  }

  .upsell-discount-badge {
    font-size: 0.65rem;
  }

}

@media screen and (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
  .mobile-drawer,
  .mobile-drawer-nav li a,
  .nav-burger-lines span { transition-duration: .01ms !important; }
}

/* --------------------------------------------------------------------------
   Breakpoint: <= 767.98px (Mobile Landscape / Large Phones)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 767.98px) {
  .container-luxe {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .section-padding-luxe {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .hero-section {
    padding-top: 1rem;
    padding-bottom: 3rem;
  }

  .hero-framed-wrapper {
    padding: 2.5rem 1.5rem;
    min-height: 560px;
  }

  .hero-framed-title {
    font-size: 34px;
    line-height: 42px;
  }

  .hero-framed-subtitle {
    font-size: 15px;
    line-height: 22px;
  }

  .featured-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .featured-section-title {
    font-size: 26px;
    line-height: 34px;
  }

  .product-grid-3col {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .philosophy-section.section-padding-luxe {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .philosophy-card-box {
    padding: 3rem 1.25rem;
  }

  .philosophy-quote {
    font-size: 22px;
    line-height: 30px;
  }

  .philosophy-img-box {
    padding: 1.5rem;
    min-height: 320px;
  }

  /* Shop Page Responsive - 767.98px */
  .shop-hero-luxe {
    padding-top: 2.5rem;
    padding-bottom: 1.5rem;
  }

  .shop-page-title {
    font-size: 30px;
    line-height: 38px;
  }
  .shop-page-title.mb-3.shop-page-title {
    margin-bottom: 24px !important;
  }

  .signature-img-box {
    height: 300px;
  }

  .optics-img-box {
    min-height: auto;
    height: auto;
  }
  .btn-discover-more {
    font-size: 11px;
    line-height: normal;
    letter-spacing: 1px;
  }
  .collections-filter-section {
    padding-bottom: 4.6vw;
  }

  .optics-card-box {
    padding: 2.5rem 1.5rem;
  }

  .optics-title {
    font-size: 28px;
    line-height: 56px;
  }

  .footer-nav-columns {
    gap: 2.5rem;
  }

  .collections-hero-img-box {
    height: 360px;
  }

  /* About page — 4 columns already dropped to 2 at 991.98px; single
     column below this, matching the mobile design. Image stays full-width
     (matching the title/description below it) — an earlier max-width +
     centering here made the image narrower than the text, throwing off
     the left-edge alignment between the two. */
  .about-journal-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  /* "VIEW ALL STORIES" stacks below the heading instead of squeezing
     into the same row as "Behind the Seams". */
  .about-journal-header {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 12px;
    margin-bottom: 32px;
  }
  .about-hero-section,
  .about-philosophy-section,
  .about-material-craft-section,
  .about-journal-section {
    padding-bottom: 10.5vw;
  }
  .about-philosophy-section,
  .about-material-craft-section,
  .about-journal-section,
  .sustain-hero-section {
    padding-top: 10.5vw;
  }
  .about-philosophy-title {
    line-height: 40px;
  }
  .ethical-sourcing-card {
    padding: 40px 24px !important;
  }
  .heritage-label {
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
    padding-top: 26px;
  }
  .heritage-year {
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0;
    padding-top: 12px;
  }
  .about-quote-section {
    padding: 21vw 0;
  }
  .about-read-more-link {
    line-height: 32px;
  }
  .about-journal-card-title {
    font-size: 21px;
    line-height: 48px;
  }

  .sustain-material-img-box {
    margin-bottom: 3vw;
  }

  .cart-item-flex h3 {
    font-size: 16px;
  }
  .cart-item-img {
    width: 101px;
    min-width: 101px;
    max-width: 101px;
  }

  .checkout-field input, .checkout-select-wrap select {
    padding: 12px 0; 
  }

  .checkout-actions {
    gap: 28px;
  }
  .checkout-summary-box {
    padding-inline: 0;
    padding-top: 40px;
  }
  .checkout-totals-row {
    font-size: 16px;
    line-height: 24px;
  }
  .checkout-summary-items {
    gap: 24px;
    padding-bottom: 32px;
    margin-bottom: 32px;
  }
  .checkout-summary-box h2 {
    font-size: 24px;
    line-height: 34px;
    margin-bottom: 32px;
  }
  .checkout-summary-item {
    column-gap: 20px;
  }
  .checkout-promo-row input {
    padding-bottom: 12px;
    font-size: 16px;
  }
  .checkout-apply-btn {
    height: 54px;
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
    padding-inline: 24px;
  }
  .checkout-promo-row,
  .checkout-totals {
    margin-bottom: 32px;
    padding-bottom: 32px;
  }
  .checkout-upsell-header {
    margin-bottom: 24px;
  }
  .checkout-upsell-label {
    font-size: 12px;
    line-height: 12px;
    font-weight: 600;
    letter-spacing: 1.2px;
  }
  .checkout-upsell-item + .checkout-upsell-item {
    margin-top: 16px;
  }
  .checkout-upsell-add {
    height: 38px;
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
    padding-inline: 12px;
  }
  .checkout-upsell-item {
    gap: 16px;
  }
  .checkout-upsell {
    margin-bottom: 32px;
    padding-bottom: 32px;
  }
  .checkout-page {
    padding-bottom: 60px;
  }
  .checkout-total-row > span:first-child {
    line-height: 24px;
  }
  .checkout-currency {
    letter-spacing: 1.2px;
  }
  .checkout-total-amount {
    font-size: 32px;
    line-height: 42px;
  }
  .checkout-total-value {
    align-items: baseline;
  }

  .checkout-card-form {
    padding-top: 24px;
  }
  .checkout-payment-logo-img {
    height: 24px;
  }
  .checkout-page-body .checkout-radio-list:nth-of-type(3) .checkout-radio-row.checkout-payment-row:nth-of-type(2) .checkout-payment-logo-img {
    height: 28px;
  }
  .checkout-confirm-btn {
    gap: 10px;
  }
  .checkout-spinner {
    width: 12px;
    height: 12px;
  }

  .checkout-footer {
    padding: 32px 0;
  }
  .checkout-footer-wrapper p {
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
    font-weight: 600;
    color: var(--color-dark-subtle);
  }
  .checkout-footer-wrapper {
    gap: 32px;
  }
  .checkout-footer-links a {
    font-size: 16px;
    line-height: 24px;
  }

  /* ===== Merged from privacy/contact/shipping-returns/thank-you/upsell page CSS ===== */

  /* --- PRIVACY PAGE (privacy.css) --- */
  .privacy-intro {
    padding-top: 2.5rem;
    padding-bottom: 3rem;
  }

  .privacy-intro-row {
    display: flex;
    flex-direction: column;
  }

  .privacy-intro-main,
  .privacy-intro-aside {
    width: 100%;
    max-width: 100%;
  }

  .privacy-intro-aside {
    padding-top: 1.75rem;
    margin-left: 0;
  }

  .privacy-page-title {
    font-size: 36px;
    line-height: 42px;
  }

  .privacy-desktop-break {
    display: none;
  }

  .privacy-content {
    padding-bottom: 3rem;
  }

  .privacy-content-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .privacy-toc-column,
  .privacy-article {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }

  .privacy-toc-column {
    position: static;
    top: auto;
  }

  .privacy-toc {
    position: static;
    padding-bottom: 2.75rem;
    border-bottom: 1px solid var(--color-border);
  }

  .privacy-toc nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
    row-gap: 8px;
  }

  .privacy-toc nav a {
    margin-bottom: 0;
    font-size: 11px;
    line-height: 16px;
  }

  .privacy-article {
    padding-top: 3rem;
  }

  .privacy-article-section {
    margin-bottom: 3rem;
    scroll-margin-top: 80px;
  }

  .privacy-article-section h2 {
    font-size: 25px;
    line-height: 32px;
  }

  .privacy-heading-rule {
    margin-top: 9px;
    margin-bottom: 18px;
  }

  .privacy-article-section p {
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 18px;
  }

  .privacy-article-section h3 {
    margin-top: 20px;
    margin-bottom: 6px;
    font-size: 9px;
    line-height: 12px;
  }

  .privacy-inquiries {
    margin-top: 2.25rem;
    padding-top: 1.35rem;
  }

  /* --- PRIVACY PAGE (privacy-responsive.css) --- */
  .privacy-page main {
    overflow: hidden;
  }

  .privacy-page .container-luxe {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* ---------- INTRO ---------- */

  .privacy-intro {
    padding-top: 3rem;
    padding-bottom: 2.75rem;
  }

  .privacy-intro-row {
    display: block;
    margin-top: 0;
  }

  .privacy-intro-main,
  .privacy-intro-aside {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .privacy-kicker {
    margin-bottom: 24px;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    line-height: 12px;
    font-weight: 600;
    letter-spacing: 1.2px;
  }

  .privacy-page-title {
    margin: 0;
    font-family: "Playfair Display", serif;
    font-size: 40px;
    line-height: 48px;
    font-weight: 400;
    letter-spacing: -0.025rem;
  }

  .privacy-title-break {
    display: block;
  }

  .privacy-intro-aside {
    padding-top: 1.5rem;
  }

  .privacy-intro-statement {
    margin: 0 0 0.625rem;
    font-family: "Inter", sans-serif;
    font-size: 18px;
    line-height: 27px;
    font-weight: 400;
    font-style: italic;
    letter-spacing: 0.18px;
  }

  .privacy-desktop-break {
    display: none;
  }

  .privacy-updated {
    font-family: "Inter", sans-serif;
    font-size: 10px;
    line-height: 15px;
    font-weight: 500;
    letter-spacing: 1px;
  }

  /* ---------- CONTENT ---------- */

  .privacy-content {
    padding-top: 0;
    padding-bottom: 2.5rem;
    overflow: visible !important;
  }

  .privacy-content-row {
    display: block;
    margin: 0;
  }

  /* Hidden on mobile exactly as shown in the reference. */
  .privacy-toc-column {
    display: none;
  }

  .privacy-article {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }

  /* ---------- ARTICLE ---------- */

  .privacy-article-section {
    margin-bottom: 2.5rem;
    scroll-margin-top: 5rem;
  }

  .privacy-article-section:last-child {
    margin-bottom: 0;
  }

  .privacy-article-section h2 {
    margin: 0;
    font-weight: 200;
    font-weight: 200;
    line-height: 2.6125rem;
    font-weight: 400;
    letter-spacing: 0;
    font-size: 32px;
    line-height: 42px;
  }

  .privacy-heading-rule {
    width: 100%;
    height: 1px;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
    background: var(--color-border);
  }

  .privacy-article-section p {
    margin: 0 0 1rem;
    font-family: "Inter", sans-serif;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 400;
    letter-spacing: 0;
    color: var(--color-dark-subtle);
  }

  .privacy-article-section p:last-child {
    margin-bottom: 0;
  }

  .privacy-article-section h3 {
    margin: 1rem 0 0.3rem;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 24px;
    font-weight: 700;
    letter-spacing: 0;
  }

  /* ---------- INQUIRIES ---------- */

  .privacy-inquiries {
    margin-top: 1.875rem;
    padding-top: 1.125rem;
    border-top: 1px solid var(--color-dark-subtle);
  }

  .privacy-inquiries-label {
    display: block;
    margin-bottom: 0.625rem;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    line-height: 12px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
  }

  .privacy-email {
    display: inline-block;
    margin-bottom: 16px;
    font-family: "Playfair Display", serif;
    font-size: 24px;
    line-height: 32px;
    font-weight: 400;
    text-decoration: none;
  }

  .privacy-inquiries p {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-muted);
  }

  /* --- CONTACT PAGE (contact-responsive.css) --- */
  .contact-page-main {
    width: 100%;
    overflow: hidden;
  }

  /* ---------- INTRO ---------- */

  .contact-intro {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }

  .contact-intro-row {
    min-height: 0;
  }

  .contact-intro-copy {
    padding-top: 0;
    margin-bottom: 2rem;
  }

  .contact-eyebrow,
  .contact-detail-label {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 1.2px;
  }

  .contact-title {
    margin: 1.5rem 0;
    font-size: 40px;
    line-height: 28px;
    letter-spacing: -0.04rem;
  }

  .contact-intro-description {
    max-width: 100%;
    font-size: 18px;
    line-height: 27px;
  }

  .contact-intro-image-column {
    display: block;
  }

  .contact-intro-image {
    width: 100%;
    aspect-ratio: 0.83 / 1;
  }

  /* ---------- CONTACT DETAILS ---------- */

  .contact-enquiry {
    padding-top: 0;
    padding-bottom: 3rem;
  }

  .contact-details-column {
    padding-right: 0;
    margin-bottom: 3rem;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
  }

  .contact-details {
    height: auto;
    padding-right: 0;
    padding-bottom: 2.5rem;
    border-right: 0;
    border-bottom: 1px solid var(--color-border, #d8d8d5);
  }

  .contact-detail-group {
    margin-bottom: 2.5rem;
  }

  .contact-detail-group:last-child {
    margin-bottom: 0;
  }

  .contact-email,
  .contact-phone {
    font-size: 24px;
    line-height: 32px;
  }

  .contact-email {
    margin-top: 0.85rem;
  }

  .contact-phone {
    margin-top: 0.45rem;
  }

  .contact-appointment .contact-detail-label,
  .contact-studios .contact-detail-label {
    margin-bottom: 0.75rem;
  }

  .contact-appointment p,
  .contact-studios p {
    max-width: 100%;
    font-size: 16px;
    line-height: 24px;
  }

  .contact-book-btn {
    min-width: 8.8rem;
    height: 2.75rem;
    margin-top: 1rem;
    padding: 0 1.25rem;
    font-size: 12px;
    line-height: 0.75rem;
    letter-spacing: 0.075rem;
    min-width: 100%;
  }

  /* ---------- FORM ---------- */

  .contact-form-column {
    /* padding-left: 0; */
    /* padding-right: calc(var(--bs-gutter-x) * .5); */
    /* padding-left: calc(var(--bs-gutter-x) * .5); */
  }

  .contact-form {
    margin-top: 1.5rem;
  }

  .contact-form-row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
  }

  .contact-field {
    margin-bottom: 1.5rem;
  }

  .contact-field label {
    margin-bottom: 0.65rem;
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
  }

  .contact-field input,
  .contact-field textarea {
    font-size: 16px;
    line-height: 24px;
  }

  .contact-field input {
    height: 2.1rem;
  }

  .contact-field textarea {
    height: 6.5rem;
    padding-top: 0.15rem;
  }

  .contact-message-field {
    margin-top: 0;
  }

  .contact-submit-column {
    justify-content: flex-start;
    margin-top: 0;
  }

  .contact-submit-btn {
    min-width: 9.5rem;
    height: 2.75rem;
    padding: 0 1.25rem;
    font-size: 12px;
    line-height: 0.75rem;
    letter-spacing: 0.075rem;
    width: 100%;
  }

  /* ---------- EDITORIAL IMAGE ---------- */

  .contact-editorial-image {
    height: 56vw;
    min-height: 15rem;
  }

  .contact-editorial-quote {
    left: 1rem;
    right: 1rem;
    bottom: 1.5rem;
    max-width: 20rem;
    font-size: 24px;
    line-height: 32px;
  }

  .contact-appointment p,
  .contact-studios p,
  .contact-studios ul li {
    font-size: 16px;
    line-height: 24px;
    max-width: 100%;
  }

  /* --- SHIPPING & RETURNS PAGE (shipping-returns-responsive.css) --- */
  .site-header-luxe {
    height: 68px;
  }

  .shipping_return {
    padding-top: 48px;
    padding-bottom: 64px;
  }

  .shipping-policy-section.section-padding-luxe {
    padding-bottom: 84px;
  }

  .returnexchange_process {
    padding-top: 64px;
    padding-bottom: 64pxpx;
  }

  .guidelines.section-padding-luxe {
    padding-top: 32px;
  }

  .further_assistance.section-padding-luxe {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .site-footer-luxe.section-padding-luxe {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  /* --- THANK YOU PAGE (thank-you.css) --- */
  .thank-you-section.section-padding-luxe {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .thank-you-image-holder {
    aspect-ratio: 0.76;
  }

  .thank-you-content {
    max-width: 100%;
    padding-top: 1rem;
  }

  .thank-you-brand {
    font-size: 24px;
    margin-bottom: 1.75rem;
  }

  .thank-you-title {
    font-size: 36px;
    line-height: 42px;
    margin-bottom: 1rem;
  }

  .thank-you-description {
    font-size: 14px;
    line-height: 21px;
    margin-bottom: 1.75rem;
  }

  .thank-you-order {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .thank-you-btn {
    height: 44px;
  }

  .thank-you-footer-row {
    min-height: auto;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .thank-you-footer-links {
    justify-content: flex-start;
    margin-top: 1rem;
    gap: 1.25rem;
  }

  /* --- THANK YOU PAGE (thank-you-responsive.css) --- */
  /* ------------------------------------------------------------------------
     PAGE / CONTAINER
     ------------------------------------------------------------------------ */

  .thank-you-page {
    width: 100%;
    overflow-x: hidden;
  }

  .thank-you-page .container-luxe {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* ------------------------------------------------------------------------
     HEADER
     ------------------------------------------------------------------------ */

  .thank-you-page .site-header-luxe {
    height: 83px;
    min-height: 83px;
  }

  .thank-you-page .site-header-luxe .container-luxe {
    padding-left: 20px;
    padding-right: 20px;
  }

  .thank-you-page .header-luxe-wrapper {
    height: 100%;
  }

  .thank-you-page .site-header-luxe .brand-luxe {
    position: static;
    left: auto;
    transform: none;
    font-size: 30px;
    line-height: 1;
    z-index: auto;
  }

  /* ------------------------------------------------------------------------
     MAIN THANK YOU SECTION
     ------------------------------------------------------------------------ */

  .thank-you-page .thank-you-section.section-padding-luxe {
    padding-top: 48px;
    padding-bottom: 120px;
  }

  .thank-you-page .thank-you-row {
    --bs-gutter-y: 0;
  }

  .thank-you-page .thank-you-image-column {
    display: block;
    align-self: auto;
    padding-left: 0;
    padding-right: 0;
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .thank-you-page .thank-you-image-holder {
    width: 100%;
    height: auto;
    aspect-ratio: 350 / 614;
    overflow: hidden;
  }

  .thank-you-page .thank-you-image {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center center;
  }

  /* ------------------------------------------------------------------------
     CONTENT
     ------------------------------------------------------------------------ */

  .thank-you-page .thank-you-content-column {
    display: block;
    align-items: initial;
    /* padding-left: 1.5rem; */
    /* padding-right: 1.5rem; */
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .thank-you-page .thank-you-content {
    width: 100%;
    max-width: none;
    padding-top: 72px;
  }

  .thank-you-page .thank-you-brand {
    display: block;
    margin-bottom: 64px;
    font-size: 32px;
    line-height: 41.6px;
    letter-spacing: -1.6px;
  }

  .thank-you-page .thank-you-title {
    margin: 0 0 16px;
    font-size: 40px;
    line-height: 48px;
    letter-spacing: -0.4px;
  }

  .thank-you-page .thank-you-description {
    max-width: 100%;
    margin: 0 0 44px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
  }

  /* ------------------------------------------------------------------------
     ORDER REFERENCE
     ------------------------------------------------------------------------ */

  .thank-you-page .thank-you-order {
    padding-top: 30px;
    padding-bottom: 48px;
    border-top: 1px solid var(--thankyou-border);
  }

  .thank-you-page .thank-you-order-label {
    display: block;
    margin-bottom: 7px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 1.2px;
  }

  .thank-you-page .thank-you-order-number {
    display: block;
    font-size: 18px;
    line-height: 1.7;
    font-weight: 600;
  }

  /* ------------------------------------------------------------------------
     CTA
     ------------------------------------------------------------------------ */

  .thank-you-page .thank-you-actions {
    width: 100%;
  }

  .thank-you-page .thank-you-btn {
    width: 100%;
    height: 44px;
    min-height: 44px;
    padding: 0 12px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 1px;
  }

  /* ------------------------------------------------------------------------
     FOOTER
     ------------------------------------------------------------------------ */

  .thank-you-page .thank-you-footer {
    border-top: 1px solid var(--thankyou-border);
  }

  .thank-you-page .thank-you-footer-row {
    min-height: 133px;
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .thank-you-page .thank-you-copyright {
    margin: 0;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 1.2px;
    text-align: center;
  }

  .thank-you-page .thank-you-footer-links {
    justify-content: center;
    gap: 24px;
    margin-top: 30px;
  }

  .thank-you-page .thank-you-footer-links a {
    font-size: 16px;
    line-height: 24px;
    white-space: nowrap;
  }

  /* --- UPSELL PAGE (upsell-responsive.css) --- */
  /* ------------------------------------------------------------------------
     PAGE / CONTAINER
     ------------------------------------------------------------------------ */

  .upsell-page {
    width: 100%;
    overflow-x: hidden;
  }

  .upsell-page .container-luxe {
    padding-left: 13px;
    padding-right: 13px;
  }

  /* ------------------------------------------------------------------------
     HEADER
     ------------------------------------------------------------------------ */

  .upsell-page .site-header-luxe {
    height: 83px;
    min-height: 83px;
  }

  .upsell-page .site-header-luxe .container-luxe {
    padding-left: 13px;
    padding-right: 13px;
  }

  .upsell-page .header-luxe-wrapper {
    height: 100%;
  }

  .upsell-page .site-header-luxe .brand-luxe {
    position: static;
    left: auto;
    transform: none;

    font-size: 19px;
    line-height: 1;
    z-index: auto;
  }

  /* ------------------------------------------------------------------------
     OPPORTUNITY BAR
     ------------------------------------------------------------------------ */

  .upsell-page .upsell-opportunity-bar {
    height: 57px;
    min-height: 57px;
    padding: 0;
    display: flex;
    align-items: center;
  }

  .upsell-page .upsell-opportunity-text {
    margin: 0;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 1.2px;
  }

  /* ------------------------------------------------------------------------
     MAIN PRODUCT SECTION
     ------------------------------------------------------------------------ */

  .upsell-page .upsell-product-section {
    padding-top: 48px;
    padding-bottom: 0;
  }

  .upsell-page .upsell-product-row {
    --bs-gutter-y: 0;
  }

  .upsell-page .upsell-product-image-column {
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }

  .upsell-page .upsell-product-image-holder {
    width: 100%;
  }

  .upsell-page .upsell-product-main-image {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .upsell-page .upsell-product-content-column {
    display: block;
    padding-top: 0;
  }

  .upsell-page .upsell-product-content {
    width: 100%;
    max-width: none;
    padding-top: 48px;
  }

  /* ------------------------------------------------------------------------
     PRODUCT TYPOGRAPHY
     ------------------------------------------------------------------------ */

  .upsell-page .upsell-eyebrow {
    margin-bottom: 18px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 1.2px;
  }

  .upsell-page .upsell-product-title {
    margin-bottom: 16px;
    max-width: 100%;
    font-size: 32px;
    line-height: 42px;
    letter-spacing: 0;
  }

  .upsell-page .upsell-product-description {
    max-width: 100%;
    margin-bottom: 32px;
    font-size: 16px;
    line-height: 24px;
  }

  /* ------------------------------------------------------------------------
     PRICE
     ------------------------------------------------------------------------ */

  .upsell-page .upsell-price-row {
    padding-top: 16px;
    padding-bottom: 16px;
    min-height: 48px;
  }

  .upsell-page .upsell-price-group {
    gap: 13px;
    align-items: center;
  }

  .upsell-page .upsell-current-price {
    font-size: 32px;
    line-height: 42px;
  }

  .upsell-page .upsell-old-price {
    font-size: 15px;
    line-height: 25px;
  }

  .upsell-page .upsell-discount-badge {
    padding: 4px 6px;
    font-size: 11px;
    line-height: 15px;
    font-weight: 700;
    letter-spacing: 0.5px;
    white-space: nowrap;
  }

  /* ------------------------------------------------------------------------
     LIMITED OPPORTUNITY
     ------------------------------------------------------------------------ */

  .upsell-page .upsell-limited-box {
    margin-top: 20px;
    padding: 20px;
  }

  .upsell-page .upsell-limited-heading {
    gap: 8px;
    margin-bottom: 12px;
  }

  .upsell-page .upsell-clock-icon {
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    border-width: 1px;
  }

  .upsell-page .upsell-clock-icon::before {
    width: 1px;
    height: 4px;
  }

  .upsell-page .upsell-clock-icon::after {
    width: 4px;
    height: 1px;
  }

  .upsell-page .upsell-limited-label {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 1.2px;
  }

  .upsell-page .upsell-limited-description {
    margin: 0;
    padding-left: 22px;
    font-size: 15px;
    line-height: 25.6px;
  }

  /* ------------------------------------------------------------------------
     CTA BUTTONS
     ------------------------------------------------------------------------ */

  .upsell-page .upsell-actions {
    gap: 16px;
    margin-top: 48px;
  }

  .upsell-page .upsell-btn {
    width: 100%;
    min-height: 44px;
    height: 44px;
    padding: 0 12px;
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 0.7px;
  }

  /* ------------------------------------------------------------------------
     LOADER
     ------------------------------------------------------------------------ */

  .upsell-page .upsell-loader-holder {
    padding-top: 13px;
  }

  .upsell-page .upsell-loader {
    width: 12px;
    height: 12px;
    border-width: 1.5px;
  }

  /* ------------------------------------------------------------------------
     FEATURES
     ------------------------------------------------------------------------ */

  .upsell-page .upsell-features-section {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  /*
     The desktop stylesheet uses a very small VW gutter here.
     Restore Bootstrap's normal 24px gutter on mobile so the image width
     matches the 224px reference width inside the 249px screenshot.
  */
  .upsell-page .upsell-features-row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
  }

  .upsell-page .upsell-feature-column {
    width: 100%;
    margin-top: 0;
  }

  .upsell-page .upsell-feature-column + .upsell-feature-column {
    margin-top: 29px;
  }

  .upsell-page .upsell-feature-card {
    width: 100%;
    height: auto;
  }

  .upsell-page .upsell-feature-image-holder {
    width: 100%;
    margin-bottom: 16px;
  }

  .upsell-page .upsell-feature-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
  }

  .upsell-page .upsell-feature-label {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 1.2px;
  }

  .upsell-page .upsell-feature-description {
    max-width: 100%;
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
  }

  /* ------------------------------------------------------------------------
     FOOTER
     ------------------------------------------------------------------------ */

  .upsell-page .upsell-footer {
    border-top: 1px solid var(--upsell-border);
  }

  .upsell-page .upsell-footer-row {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .upsell-page .upsell-copyright {
    margin: 0;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 1.2px;
    text-align: center;
  }

  .upsell-page .upsell-footer-links {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }

  .upsell-page .upsell-footer-links a {
    margin-left: 0;
    font-size: 16px;
    line-height: 24px;
    white-space: nowrap;
  }

  /* --- UPSELL PAGE (upsell-responsive.css) --- */
  .upsell-opportunity-bar {
    padding-block: 1rem;
  }

  .upsell-opportunity-text {
    font-size: 0.7rem;
    line-height: 1;
  }

  .upsell-product-content {
    padding-top: 2.5rem;
  }

  .upsell-product-title {
    font-size: 2rem;
  }

  .upsell-price-row {
    padding-block: 1.5rem;
  }

  .upsell-limited-box {
    margin-top: 2rem;
    padding: 1.5rem;
  }

  .upsell-limited-description {
    padding-left: 0;
    margin-top: 1rem;
  }

  .upsell-actions {
    margin-top: 2rem;
    gap: 0.75rem;
  }

  .upsell-btn {
    min-height: 48px;
  }

  .upsell-features-section {
    padding-top: 3rem;
    padding-bottom: 4rem;
  }

  .upsell-feature-column + .upsell-feature-column {
    margin-top: 3rem;
  }

  .upsell-feature-label {
    margin-top: 1rem;
    margin-bottom: 0.75rem;
  }

  .upsell-footer-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;

    padding-block: 2rem;
  }

  .upsell-footer-links {
    flex-wrap: wrap;
    gap: 1.5rem;
  }

  .upsell-copyright,
  .upsell-footer-links a {
    font-size: 0.75rem;
  }

  .sustain-sourcing-title {
    font-size: 32px;
    line-height: 42px;
  }

  .material-craft-badge {
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.2px;
    font-weight: 600;
    top: auto;
    bottom: 32px;
    left: 32px;
  }

}

/* --------------------------------------------------------------------------
   Breakpoint: <= 575.98px (Mobile Portrait / Small Screens)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 575.98px) {
  .site-header-luxe {
    height: 64px;
  }

  .site-header-luxe .brand-luxe {
    font-size: 22px;
  }

  .hero-framed-wrapper {
    padding: 2rem 1.25rem;
    min-height: 560px;
  }

  .hero-framed-title {
    font-size: 28px;
    line-height: 36px;
    margin-bottom: 0.85rem;
  }

  .hero-framed-subtitle {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 1.25rem;
  }

  .btn-hero-white {
    width: 100%;
    height: 42px;
    line-height: 42px;
    font-size: 11px;
    letter-spacing: 1px;
  }

  .featured-header-row {
    margin-bottom: 1.75rem !important;
  }

  .featured-section-title {
    font-size: 22px;
    line-height: 28px;
  }

  .link-view-all {
    font-size: 11px;
  }

  /* Shop Page Responsive - 575.98px */
  .shop-page-title {
    font-size: 26px;
    line-height: 34px;
  }

  .shop-page-subtitle {
    font-size: 14px;
    line-height: 20px;
  }

  .filter-pills-list {
    gap: 0.5rem !important;
  }

  .collections-filter-section {
    padding-bottom: 4.6vw;
  } 

  .btn-filter-pill {
    font-size: 13px;
    padding: 6px 14px;
    height: auto;
  }

  .signature-img-box {
    height: 240px;
  }

  .optics-img-box {
    height: auto;
    min-height: auto;
  }

  .optics-card-box {
    padding: 2rem 0;
  }

  .optics-desc {
    font-size: 13px;
    line-height: 19px;
    margin-bottom: 1.5rem;
  }

  .btn-discover-more {
    width: 100%;
    text-align: center;
    padding: 17px;
    font-size: 11px;
    letter-spacing: 1px;
  }

  .pagination-count-luxe {
    position: static;
    margin-top: 1rem;
    text-align: center;
  }

  .philosophy-card-box {
    padding: 3rem 1.25rem;
  }

  .philosophy-label {
    margin-bottom: 1rem;
  }

  .philosophy-quote {
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 1.5rem;
  }

  .philosophy-img-box {
    padding: 1.25rem;
    min-height: 260px;
  }

  .footer-nav-columns {
    flex-direction: column;
    gap: 2rem;
  }

  .footer-subtext-luxe {
    font-size: 11px;
    line-height: 16px;
  }

  /* Collections page — a bit shorter still on small phones. */
  .collections-hero-img-box {
    height: 320px;
  }

  .collections-hero-title {
    font-size: 28px;
    line-height: 34px;
  }
  .product-detail-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .product-gallery-stage {
    height: auto;
    aspect-ratio: 3 / 4;
  }

  .product-summary-panel {
    width: 100%;
  }
  .sustain-sourcing-section {
        padding-top: 40px;
        padding-bottom: 48px;
    }

    .sustain-sourcing-row {
        gap: 40px;
    }

    .sustain-sourcing-img-box {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        margin-bottom: 20px;
    }

    .sustain-sourcing-title {
        font-size: 24px;
        line-height: 32px;
    }

    .sustain-sourcing-desc {
        font-size: 16px;
        line-height: 24px;
        max-width: 100%;
    }

    .sustain-principles {
        padding-top: 32px;
    }

    .sustain-principles .about-kicker {
        margin-bottom: 28px;
    }

    .sustain-principle-item {
        margin-bottom: 32px;
    }

    .sustain-principle-title {
        font-size: 20px;
        line-height: 28px;
        margin-bottom: 10px;
    }

    .sustain-principles p {
        font-size: 16px;
        line-height: 24px;
        max-width: 100%;
    }

  /* ===== Merged from privacy/thank-you page CSS ===== */

  /* --- PRIVACY PAGE (privacy.css) --- */
  .privacy-intro {
    padding-top: 24px;
    padding-bottom: 32px;
  }

  .privacy-kicker {
    font-size: 8px;
    line-height: 10px;
    letter-spacing: 0.65px;
    margin-bottom: 12px;
  }

  .privacy-page-title {
    font-size: 30px;
    line-height: 36px;
    letter-spacing: -0.4px;
  }

  .privacy-intro-aside {
    padding-top: 24px;
  }

  .privacy-intro-statement {
    font-size: 12px;
    line-height: 17px;
  }

  .privacy-updated {
    font-size: 7px;
    line-height: 9px;
    letter-spacing: 0.6px;
  }

  .privacy-content {
    padding-bottom: 32px;
  }

  .privacy-toc {
    padding-bottom: 24px;
  }

  .privacy-toc-title {
    font-size: 8px;
    line-height: 10px;
  }

  .privacy-toc nav {
    grid-template-columns: 1fr;
    row-gap: 7px;
  }

  .privacy-toc nav a {
    font-size: 11px;
    line-height: 16px;
  }

  .privacy-article {
    padding-top: 28px;
  }

  .privacy-article-section {
    margin-bottom: 40px;
  }

  .privacy-article-section h2 {
    font-size: 23px;
    line-height: 29px;
  }

  .privacy-heading-rule {
    margin-top: 8px;
    margin-bottom: 17px;
  }

  .privacy-article-section p {
    font-size: 11px;
    line-height: 16px;
    margin-bottom: 16px;
  }

  .privacy-article-section h3 {
    margin-top: 18px;
    margin-bottom: 5px;
    font-size: 8px;
    line-height: 10px;
  }

  .privacy-inquiries {
    margin-top: 30px;
    padding-top: 18px;
  }

  .privacy-inquiries-label {
    font-size: 8px;
    line-height: 10px;
  }

  .privacy-email {
    font-size: 21px;
    line-height: 26px;
  }

  .privacy-inquiries p {
    font-size: 11px;
    line-height: 16px;
  }

  /* --- PRIVACY PAGE (privacy-responsive.css) --- */
  .privacy-page .container-luxe {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .privacy-intro {
    padding-top: 3rem;
    padding-bottom: 2.5rem;
  }

  .privacy-kicker {
    font-size: 0.5rem;
    line-height: 0.625rem;
    letter-spacing: 0.0406rem;
    margin-bottom: 0.75rem;
  }

  .privacy-page-title {
    font-size: 1.875rem;
    line-height: 2.25rem;
    letter-spacing: -0.025rem;
  }

  .privacy-intro-aside {
    padding-top: 1.5rem;
  }

  .privacy-intro-statement {
    font-size: 0.75rem;
    line-height: 1.0625rem;
    margin-bottom: 0.625rem;
  }

  .privacy-updated {
    font-size: 0.4375rem;
    line-height: 0.5625rem;
    letter-spacing: 0.0375rem;
  }

  .privacy-content {
    padding-top: 0;
    padding-bottom: 2.25rem;
  }

  .privacy-article-section {
    margin-bottom: 2.5rem;
  }

  .privacy-article-section h2 {
    font-size: 1.4375rem;
    line-height: 1.8125rem;
  }

  .privacy-heading-rule {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
  }

  .privacy-article-section p {
    font-size: 0.6875rem;
    line-height: 1rem;
    margin-bottom: 1rem;
  }

  .privacy-article-section h3 {
    margin-top: 1rem;
    margin-bottom: 0.3rem;
    font-size: 0.5rem;
    line-height: 0.625rem;
  }

  .privacy-inquiries {
    margin-top: 1.875rem;
    padding-top: 1.125rem;
  }

  .privacy-inquiries-label {
    font-size: 0.5rem;
    line-height: 0.625rem;
    letter-spacing: 0.0375rem;
    margin-bottom: 0.625rem;
  }

  .privacy-email {
    font-size: 1.3125rem;
    line-height: 1.625rem;
    margin-bottom: 0.5rem;
  }

  .privacy-inquiries p {
    font-size: 0.6875rem;
    line-height: 1rem;
  }

  /* --- THANK YOU PAGE (thank-you.css) --- */
  .thank-you-page .site-header-luxe {
    height: 64px;
  }

  .thank-you-page .site-header-luxe .brand-luxe {
    font-size: 24px;
  }

  .thank-you-page .container-luxe {
    padding-left: 20px;
    padding-right: 20px;
  }

  .thank-you-section.section-padding-luxe {
    padding-top: 24px;
    padding-bottom: 30px;
  }

  .thank-you-image-holder {
    aspect-ratio: 0.76;
  }

  .thank-you-content {
    padding-top: 4px;
  }

  .thank-you-brand {
    font-size: 22px;
    margin-bottom: 28px;
  }

  .thank-you-title {
    font-size: 32px;
    line-height: 38px;
    letter-spacing: -0.5px;
    margin-bottom: 14px;
  }

  .thank-you-description {
    font-size: 13px;
    line-height: 19px;
    margin-bottom: 24px;
  }

  .thank-you-order {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .thank-you-order-label {
    font-size: 9px;
    letter-spacing: 0.8px;
    margin-bottom: 7px;
  }

  .thank-you-order-number {
    font-size: 14px;
  }

  .thank-you-btn {
    height: 42px;
    font-size: 9px;
    letter-spacing: 0.8px;
  }

  .thank-you-footer-row {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .thank-you-copyright {
    font-size: 9px;
    line-height: 14px;
  }

  .thank-you-footer-links {
    gap: 18px;
  }

  .thank-you-footer-links a {
    font-size: 12px;
  }

}

/* ==========================================================================
   Extra breakpoints merged from privacy/contact/thank-you/upsell page CSS
   (758px min-width sticky/desktop behavior, ~360px small-phone overrides)
   ========================================================================== */

@media screen and (min-width: 768px) {
  /* --- PRIVACY PAGE (privacy.css) --- */
  .privacy-toc-column {
    position: -webkit-sticky;
    position: sticky;
    top: 8vw;
    height: fit-content;
    z-index: 2;
  }

  .privacy-toc {
    position: static;
  }
  /* --- THANK YOU PAGE (thank-you-responsive.css) --- */
  /* Restore desktop shared container */
  .thank-you-page .container-luxe {
    padding-left: 9.5vw;
    padding-right: 9.5vw;
  }

  /* Restore desktop header */
  .thank-you-page .site-header-luxe {
    height: 6.57222vw;
    min-height: 0;
  }

  .thank-you-page .site-header-luxe .brand-luxe {
    position: static;
    left: auto;
    transform: none;
    font-size: 2.222222vw;
    line-height: 3.645833vw;
    z-index: auto;
  }

  /* Restore desktop two-column composition */
  .thank-you-page .thank-you-section.section-padding-luxe {
    padding-top: 5vw;
    padding-bottom: 4.3vw;
  }

  .thank-you-page .thank-you-image-column {
    display: flex;
    align-self: stretch;
  }

  .thank-you-page .thank-you-image-holder {
    width: 100%;
    overflow: hidden;
  }

  .thank-you-page .thank-you-image {
    width: 100%;
    height: 100%;
    aspect-ratio: 0.76;
    object-fit: cover;
    object-position: center center;
  }

  .thank-you-page .thank-you-content-column {
    display: flex;
    align-items: center;
  }

  .thank-you-page .thank-you-content {
    width: 100%;
    max-width: 29vw;
    padding-top: 0;
  }

  /* Restore desktop typography */
  .thank-you-page .thank-you-brand {
    font-size: 2.2456vw;
    line-height: 1;
    margin-bottom: 5.5vw;
  }

  .thank-you-page .thank-you-title {
    font-size: 4.4912vw;
    line-height: 5.0526vw;
    letter-spacing: -0.0898vw;
    margin-bottom: 1.75vw;
  }

  .thank-you-page .thank-you-description {
    max-width: 27vw;
    font-size: 1.1228vw;
    line-height: 1.6842vw;
    margin-bottom: 3.55vw;
  }

  .thank-you-page .thank-you-order {
    padding-top: 2.15vw;
    padding-bottom: 3vw;
  }

  .thank-you-page .thank-you-order-label {
    font-size: 0.8421vw;
    line-height: 1;
    letter-spacing: 0.0842vw;
    margin-bottom: 0.4vw;
  }

  .thank-you-page .thank-you-order-number {
    font-size: 1.1228vw;
    line-height: 1.4;
  }

  .thank-you-page .thank-you-btn {
    height: 3.05vw;
    font-size: 0.8421vw;
    line-height: 1;
    letter-spacing: 0.0842vw;
  }

  /* Restore desktop footer */
  .thank-you-page .thank-you-footer-row {
    min-height: 6.1vw;
  }

  .thank-you-page .thank-you-copyright {
    font-size: 0.75vw;
    line-height: 1;
    letter-spacing: 0.08vw;
    text-align: left;
  }

  .thank-you-page .thank-you-footer-links {
    justify-content: flex-end;
    gap: 2.3vw;
    margin-top: 0;
  }

  .thank-you-page .thank-you-footer-links a {
    font-size: 1vw;
    line-height: 1;
  }
  /* --- UPSELL PAGE (upsell-responsive.css) --- */
  /* Restore desktop global container */
  .upsell-page .container-luxe {
    padding-left: 9.5vw;
    padding-right: 9.5vw;
  }

  /* Restore desktop header sizing/positioning */
  .upsell-page .site-header-luxe {
    height: 6.57222vw;
  }

  .upsell-page .site-header-luxe .brand-luxe {
    position: static;
    left: auto;
    transform: none;
    font-size: 2.222222vw;
    line-height: 3.645833vw;
    z-index: auto;
  }

  /* Restore desktop product content sizing */
  .upsell-page .upsell-product-content {
    max-width: 29vw;
    padding-top: 5.614vw;
  }

  .upsell-page .upsell-product-title {
    font-size: 2.2456vw;
    line-height: 2.9474vw;
  }

  .upsell-page .upsell-product-description {
    max-width: 27vw;
    font-size: 1.1228vw;
    line-height: 1.6842vw;
  }

  .upsell-page .upsell-eyebrow,
  .upsell-page .upsell-limited-label,
  .upsell-page .upsell-feature-label,
  .upsell-page .upsell-btn {
    font-size: var(--upsell-fs-12);
    line-height: var(--upsell-lh-12);
  }

  .upsell-page .upsell-current-price {
    font-size: 2.5vw;
  }

  .upsell-page .upsell-old-price {
    font-size: 1vw;
  }

  .upsell-page .upsell-discount-badge {
    font-size: 0.65vw;
  }

  .upsell-page .upsell-limited-description {
    font-size: 1.1vw;
    padding-left: 2.3vw;
  }

  .upsell-page .upsell-btn {
    min-height: 3.6vw;
  }

  .upsell-page .upsell-feature-description {
    font-size: 1.15vw;
    line-height: 1.55;
  }

  .upsell-page .upsell-features-row {
    --bs-gutter-x: 2vw;
  }

  /* Desktop feature section remains three columns from 768px */
  .upsell-page .upsell-feature-column {
    margin-top: 0;
  }

  .upsell-page .upsell-footer-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0;
  }

  .upsell-page .upsell-footer-links {
    flex-wrap: nowrap;
  }
}

@media screen and (max-width: 359.98px) {
  /* --- PRIVACY PAGE (privacy-responsive.css) --- */
  /* .privacy-page .container-luxe {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }

  .privacy-page-title {
    font-size: 1.75rem;
    line-height: 2.1rem;
  }

  .privacy-article-section h2 {
    font-size: 1.35rem;
    line-height: 1.7rem;
  }

  .privacy-article-section p {
    font-size: 0.66rem;
    line-height: 0.95rem;
  } */
}

@media (min-width: 768px) {
  /* --- CONTACT PAGE (contact.css) --- */
  .contact-intro-row {
    flex-wrap: nowrap;
  }

  .contact-details-column,
  .contact-form-column {
    display: block;
  }
}

@media screen and (max-width: 360px) {
  /* --- THANK YOU PAGE (thank-you-responsive.css) --- */
  .thank-you-page .container-luxe {
    padding-left: 16px;
    padding-right: 16px;
  }

  .thank-you-page .site-header-luxe .container-luxe {
    padding-left: 16px;
    padding-right: 16px;
  }

  .thank-you-page .site-header-luxe .brand-luxe {
    font-size: 27px;
  }

  .thank-you-page .thank-you-brand {
    font-size: 29px;
    margin-bottom: 56px;
  }

  .thank-you-page .thank-you-title {
    font-size: 38px;
    line-height: 46px;
  }

  .thank-you-page .thank-you-description {
    font-size: 15px;
    line-height: 22px;
  }

  .thank-you-page .thank-you-footer-links {
    gap: 18px;
  }

  .thank-you-page .thank-you-footer-links a {
    font-size: 14px;
  }
  /* --- UPSELL PAGE (upsell-responsive.css) --- */

  .upsell-page .upsell-product-title {
    /* font-size: 20px;
    line-height: 25px; */
  }

  .upsell-page .upsell-product-description,
  .upsell-page .upsell-limited-description,
  .upsell-page .upsell-feature-description {
    /* font-size: 10px;
    line-height: 15px; */
  }

  .upsell-page .upsell-footer-links {
    gap: 16px;
  }
}


