:root {
  --nessing-paper: #fffefa;
  --nessing-ivory: #f6f2eb;
  --nessing-ink: #302a25;
  --nessing-muted: #766d64;
  --nessing-gold: #907044;
  --nessing-line: #e9e2d8;
  --bs-primary: #806341;
  --bs-primary-rgb: 128, 99, 65;
  --bs-link-color: #655037;
  --bs-link-hover-color: #302a25;
  --bs-body-color: #302a25;
  --bs-body-bg: #fffefa;
}
html { scroll-behavior: smooth; }
body { background: var(--nessing-paper); color: var(--nessing-ink); font-family: "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
a:hover { color: var(--nessing-gold); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid #806341; outline-offset: 4px; }
h1, h2, h3, h4 { color: var(--nessing-ink); }
.nessing-announcement { text-align: center; background: #eee8de; color: #514539; padding: 10px 20px; font-size: 11px; line-height: 1.5; letter-spacing: 1.35px; }
.nessing-announcement span { margin: 0 14px; color: var(--nessing-gold); }
#header { background: var(--nessing-paper); box-shadow: none; border-bottom: 1px solid var(--nessing-line); }
.header-top { background: var(--nessing-paper); color: var(--nessing-muted); font-size: 12px; border-bottom: 1px solid #f0ebe4; }
.header-top a, .header-top .header-block { color: var(--nessing-muted); }
.header-bottom { background: var(--nessing-paper); padding-top: 16px; padding-bottom: 16px; }
.nessing-wordmark { display: inline-flex; flex-direction: column; text-align: center; text-decoration: none; color: var(--nessing-ink); padding: 4px 18px 4px 0; }
.nessing-wordmark > span { font: 35px/1 Georgia, "Times New Roman", serif; letter-spacing: 4px; }
.nessing-wordmark__dot { color: var(--nessing-gold); }
.nessing-wordmark small { margin-top: 9px; font-size: 7px; letter-spacing: 2.25px; font-weight: 500; }
.header-bottom .menu a, .header-bottom .main-menu a { font-weight: 500; font-size: 12px; }
.header-bottom .dropdown-item { text-transform: none; }
.header-bottom .ps-mainmenu__tree-link { font-size: 13px; padding: 14px 7px; font-weight: 500; }
.header-bottom .ps-mainmenu__tree-link:hover, .header-bottom .ps-mainmenu__tree-link:focus { color: #806341; }
@media (min-width: 1200px) {
  .header-bottom__logo { max-width: 220px; }
  .header-bottom__row > .order-2 { width: 225px; }
  .header-bottom__row > .order-2 .ps-searchbar { width: 100%; }
  .header-bottom__row > .order-2 > * { width: 100%; max-width: 100%; min-width: 0; }
  .header-bottom .ps-searchbar__form, .header-bottom .ps-searchbar__input { width: 100%; max-width: 100%; min-width: 0; }
  .ps-mainmenu--desktop .ps-mainmenu__tree-link { white-space: nowrap; }
}
.header-bottom input[type=search], .header-bottom input[name=s] { border: 1px solid var(--nessing-line); border-radius: 0; background: #fffefa; font-size: 12px; }
.breadcrumb { font-size: 12px; color: var(--nessing-muted); }
#wrapper { background: var(--nessing-paper); }
body#index #wrapper { padding-top: 0; }
body#index .page-content--home { margin-bottom: 0; }
.nessing-eyebrow { display: block; font-size: 10px; letter-spacing: 2.2px; line-height: 1.6; font-weight: 600; text-transform: uppercase; color: var(--nessing-gold); }
.nessing-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 530px; background: var(--nessing-ivory); margin-top: 28px; }
.nessing-hero__copy { padding: 70px 38px 48px 52px; align-self: center; }
.nessing-hero h1 { margin: 20px 0 24px; font: 52px/1.08 Georgia, "Times New Roman", serif; letter-spacing: -1.9px; }
.nessing-hero h1 em, .nessing-gift h2 em { font-weight: 400; color: #89704f; }
.nessing-hero__copy > p { color: var(--nessing-muted); font-size: 14px; line-height: 1.9; max-width: 365px; margin-bottom: 28px; }
.nessing-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.nessing-button { display: inline-flex; justify-content: center; align-items: center; gap: 30px; background: var(--nessing-ink); color: #fffefa; padding: 16px 24px; border: 1px solid var(--nessing-ink); text-decoration: none; font-size: 12px; font-weight: 500; letter-spacing: .3px; transition: background .18s ease; }
.nessing-button:hover { background: #514333; color: #fff; border-color: #514333; }
.nessing-button span { font-size: 19px; line-height: 1; }
.nessing-text-link { font-size: 12px; text-decoration: none; color: var(--nessing-ink); white-space: nowrap; border-bottom: 1px solid #bdad97; padding-bottom: 5px; }
.nessing-text-link span { display: inline-block; margin-left: 12px; }
.nessing-hero__signature { margin-top: 44px; color: #7d7368; font-size: 11px; }
.nessing-hero__signature > span { color: var(--nessing-gold); margin-right: 8px; font-size: 19px; vertical-align: middle; }
.nessing-hero__visual { position: relative; display: flex; align-items: center; justify-content: center; background: #fff; margin: 18px 18px 18px 0; overflow: hidden; text-decoration: none; }
.nessing-hero__visual > img { width: 100%; max-height: 475px; height: auto; object-fit: contain; padding: 34px 25px 56px; transition: transform .6s ease; }
.nessing-hero__visual:hover > img { transform: scale(1.035); }
.nessing-hero__edition { position: absolute; top: 24px; left: 26px; z-index: 1; font-size: 9px; letter-spacing: 2.3px; color: #8b7b68; }
.nessing-hero__caption { position: absolute; bottom: 20px; left: 26px; right: 24px; display: flex; align-items: center; justify-content: space-between; font-size: 10px; color: var(--nessing-muted); line-height: 1.8; }
.nessing-hero__caption strong { font-weight: 400; font-size: 13px; color: var(--nessing-ink); }
.nessing-round-arrow { border: 1px solid var(--nessing-line); width: 36px; height: 36px; border-radius: 50%; text-align: center; line-height: 33px; font-size: 20px; color: var(--nessing-ink); }
.nessing-values { display: flex; align-items: center; justify-content: center; gap: 48px; border-bottom: 1px solid var(--nessing-line); padding: 23px 12px; font-size: 11px; color: var(--nessing-muted); letter-spacing: .3px; }
.nessing-values > span:nth-child(even) { color: #a78c65; }
.nessing-collections, .nessing-selection { padding-top: 72px; }
.nessing-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 28px; }
.nessing-section-heading h2 { font: 36px/1.2 Georgia, "Times New Roman", serif; letter-spacing: -.8px; margin: 9px 0 0; }
.nessing-collections__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.nessing-collection { display: block; text-decoration: none; }
.nessing-collection__image { aspect-ratio: 1.12; background: #fff; border: 1px solid var(--nessing-line); overflow: hidden; }
.nessing-collection__image img { width: 100%; height: 100%; object-fit: contain; padding: 22px; transition: transform .45s ease; }
.nessing-collection:hover img { transform: scale(1.045); }
.nessing-collection__label { display: flex; justify-content: space-between; align-items: center; padding: 17px 1px 0; }
.nessing-collection__label h3 { font: 25px/1.2 Georgia, "Times New Roman", serif; margin: 0; }
.nessing-collection__label > span { font-size: 22px; color: var(--nessing-gold); }
.nessing-selection .featured-products > h2, .nessing-selection .featured-products > .h2, .nessing-selection .featured-products__title { display: none; }
.nessing-selection .products-section-title { display: none; }
.nessing-selection .section-title { display: none; }
.product-miniature { border: 0; box-shadow: none; }
.product-miniature .thumbnail-container { background: transparent; box-shadow: none; border: none; }
.product-miniature .product-thumbnail { background: #fff; border: 1px solid var(--nessing-line); overflow: hidden; }
.product-miniature .product-thumbnail img { transition: transform .4s ease; }
.product-miniature:hover .product-thumbnail img { transform: scale(1.035); }
.product-miniature .product-description { background: transparent; padding: 14px 0; }
.product-miniature .product-title, .product-miniature .product-title a { font-size: 13px; line-height: 1.6; font-weight: 400; text-transform: none; color: var(--nessing-ink); }
.product-miniature .product-price-and-shipping, .product-miniature .price { color: #6e583e; font-weight: 600; font-size: 13px; }
.product-miniature .highlighted-informations { box-shadow: none; }
.btn-primary { background-color: #3b3025; border-color: #3b3025; border-radius: 0; color: #fff !important; }
.btn-primary:hover, .btn-primary:focus { background-color: #66503a; border-color: #66503a; color: #fff !important; }
.btn-outline-primary { color: #6e583e; border-color: #a58b68; border-radius: 0; }
.btn-outline-primary:hover, .btn-outline-primary:focus { color: #fff; background-color: #3b3025; border-color: #3b3025; }
.form-control, .form-select, .card { border-radius: 0; }
.form-control:focus, .form-select:focus { border-color: #907044; box-shadow: 0 0 0 .15rem rgba(144,112,68,.16); }
.nessing-gift { margin: 64px auto 80px; display: grid; grid-template-columns: 1fr 1fr; background: #eee8dd; }
.nessing-gift__image { background: #fff; margin: 20px; min-height: 340px; }
.nessing-gift__image img { width: 100%; height: 100%; max-height: 400px; object-fit: contain; padding: 25px; }
.nessing-gift__copy { align-self: center; padding: 35px 45px; }
.nessing-gift h2 { font: 46px/1.1 Georgia, "Times New Roman", serif; letter-spacing: -1px; margin: 15px 0 20px; }
.nessing-gift p { font-size: 14px; line-height: 1.9; color: #6e6255; max-width: 345px; margin-bottom: 26px; }
#footer { background: #f2ede5; color: #5c5146; border-top: 1px solid #e5dccf; padding-top: 30px; }
#footer .footer-container, #footer .footer-bottom { background: #f2ede5; box-shadow: none; }
#footer .footer__main { background: #f2ede5; color: #5c5146; --bs-body-color: #5c5146; --bs-heading-color: #302a25; --bs-secondary-color: #766d64; }
#footer .footer-block__title, #footer .footer-block__content, #footer .ps-contactinfo { color: #5c5146; }
#footer .h3, #footer h3, #footer h4, #footer .footer-block__title { font-size: 12px; letter-spacing: 1px; font-weight: 600; }
#footer a { color: #665a4d; font-size: 12px; }
@media (min-width: 1400px) { .nessing-hero h1 { font-size: 60px; } .nessing-hero__copy { padding-left: 60px; } }
@media (max-width: 1199px) { .nessing-hero__copy { padding: 40px 30px; } .nessing-hero h1 { font-size: 45px; } .nessing-hero__actions { gap: 18px; } .nessing-values { gap: 25px; } }
@media (max-width: 767px) {
  .nessing-announcement { padding: 9px 12px; font-size: 9px; letter-spacing: .7px; }
  .nessing-announcement span { margin: 0 6px; }
  .header-bottom { padding: 13px 0; }
  .nessing-wordmark { padding-right: 0; }
  .nessing-wordmark > span { font-size: 28px; letter-spacing: 3px; }
  .nessing-wordmark small { font-size: 6px; letter-spacing: 1.3px; margin-top: 6px; }
  .nessing-hero { grid-template-columns: 1fr; min-height: auto; margin-top: 12px; }
  .nessing-hero__copy { padding: 32px 25px 27px; }
  .nessing-eyebrow { font-size: 9px; letter-spacing: 1.5px; }
  .nessing-hero h1 { font-size: 41px; line-height: 1.08; letter-spacing: -1.3px; margin: 16px 0 18px; }
  .nessing-hero__copy > p { font-size: 13px; line-height: 1.75; margin-bottom: 20px; }
  .nessing-hero__actions { gap: 18px; }
  .nessing-button { padding: 14px 18px; font-size: 11px; gap: 22px; }
  .nessing-text-link { font-size: 11px; }
  .nessing-hero__signature { display: none; }
  .nessing-hero__visual { margin: 0 12px 12px; max-height: 320px; min-height: 280px; }
  .nessing-hero__visual > img { max-height: 320px; width: auto; max-width: 100%; padding: 24px 20px 40px; }
  .nessing-hero__edition { top: 16px; left: 18px; font-size: 8px; }
  .nessing-hero__caption { bottom: 12px; left: 18px; right: 18px; }
  .nessing-values { padding: 17px 6px; gap: 14px; font-size: 9px; text-align: center; }
  .nessing-values > span:last-child, .nessing-values > span:nth-child(4) { display: none; }
  .nessing-collections, .nessing-selection { padding-top: 42px; }
  .nessing-section-heading { align-items: flex-start; gap: 14px; margin-bottom: 20px; flex-wrap: wrap; }
  .nessing-section-heading h2 { font-size: 29px; }
  .nessing-collections__grid { gap: 12px; grid-template-columns: 1fr 1fr; }
  .nessing-collection:last-child { grid-column: 1 / -1; }
  .nessing-collection:last-child .nessing-collection__image { aspect-ratio: 1.9; }
  .nessing-collection__image { aspect-ratio: .9; }
  .nessing-collection__image img { padding: 12px; }
  .nessing-collection__label { padding-top: 12px; }
  .nessing-collection__label h3 { font-size: 22px; }
  .product-miniature .product-title, .product-miniature .product-title a { font-size: 12px; }
  .nessing-gift { grid-template-columns: 1fr; margin: 38px 0 44px; }
  .nessing-gift__image { min-height: auto; max-height: 250px; margin: 12px; }
  .nessing-gift__image img { height: 250px; padding: 15px; }
  .nessing-gift__copy { padding: 25px 25px 35px; }
  .nessing-gift h2 { font-size: 40px; }
  #footer { padding-top: 20px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

/* Atelier navigation: category pages own the subcategory tree. */
.nessing-topbar { display: block; }
.nessing-topbar__contact { margin-left: auto; white-space: nowrap; }
.nessing-topbar .ps-contactinfo__phone { display: inline-block; padding: 8px 0; }
.ps-mainmenu--desktop .ps-mainmenu__tree-link { display: block; padding: 14px 10px; }
.ps-mainmenu__tree-link:focus-visible, .ps-contactinfo__phone:focus-visible { outline: 2px solid #715731; outline-offset: 3px; }
@media (max-width: 767px) { .nessing-topbar .ps-contactinfo__phone { font-size: 12px; padding: 7px 0; } }
