:root {
  --np-container: 1200px;
  --np-logo-width: 180px;
  --np-accent: #2563eb;
  --np-body-color: #334155;
  --np-body-bg: #fff;
  --np-header-bg: #fff;
  --np-header-text: #172033;
  --np-footer-bg: #0f172a;
  --np-footer-text: #cbd5e1;
  --np-body-font: Inter, system-ui, sans-serif;
  --np-heading-font: "Plus Jakarta Sans", system-ui, sans-serif;
  --np-body-size: 16px;
  --np-border: #e2e8f0;
  --np-muted: #64748b;
  --np-radius: 14px;
  --np-shadow: 0 12px 35px rgba(15, 23, 42, .08);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--np-body-bg); color: var(--np-body-color); font: var(--np-body-weight, 400) var(--np-body-size)/1.7 var(--np-body-font); overflow-wrap: break-word; }
body.np-menu-active { overflow: hidden; }
body.admin-bar .site-header.is-sticky { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
iframe { max-width: 100%; }
a { color: var(--np-accent); text-decoration: none; transition: color .2s ease, opacity .2s ease; }
a:hover { opacity: .82; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .65em; color: var(--np-header-text); font-family: var(--np-heading-font); font-weight: var(--np-heading-weight, 600); line-height: 1.2; letter-spacing: -.025em; }
h1 { font-size: clamp(2rem, 5vw, var(--np-h1, 64px)); }
h2 { font-size: clamp(1.55rem, 4vw, var(--np-h2, 48px)); }
h3 { font-size: clamp(1.25rem, 3vw, var(--np-h3, 32px)); }
h4 { font-size: var(--np-h4, 24px); }
h5 { font-size: var(--np-h5, 20px); }
h6 { font-size: var(--np-h6, 16px); }
p { margin: 0 0 1.3em; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
input[type="text"], input[type="email"], input[type="url"], input[type="search"], input[type="password"], input[type="number"], textarea, select { width: 100%; min-height: 46px; padding: 10px 14px; color: var(--np-body-color); background: #fff; border: 1px solid var(--np-border); border-radius: var(--np-radius); }
input:focus, textarea:focus, select:focus, button:focus-visible, a:focus-visible { outline: 3px solid color-mix(in srgb, var(--np-accent) 35%, transparent); outline-offset: 2px; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px; border: 1px solid var(--np-border); text-align: left; }
blockquote { margin: 2em 0; padding: .5em 0 .5em 1.5em; border-left: 4px solid var(--np-accent); font-size: 1.1em; }

.np-container { width: min(calc(100% - 40px), var(--np-container)); margin-inline: auto; }
.np-layout-wide { --np-container: var(--np-layout-width); }
.np-layout-narrow { --np-container: 960px; }
.np-layout-full { --np-container: 100%; }
.np-layout-full .np-container { width: 100%; max-width: none; padding-inline: clamp(20px, 4vw, 72px); }
.np-layout-boxed { padding: 28px; background: color-mix(in srgb, var(--np-body-color) 12%, #eef0e9); }
.np-layout-boxed .site { width: 100%; max-width: var(--np-layout-width); min-height: 100vh; margin-inline: auto; overflow: clip; background: var(--np-body-bg); box-shadow: 0 18px 70px rgba(15, 23, 42, .16); }
.np-layout-boxed .alignfull, .np-layout-boxed .alignwide { width: 100%; max-width: 100% !important; margin-left: 0; transform: none; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 5px; left: 5px; display: block; width: auto; height: auto; padding: 15px 23px; clip: auto !important; background: #fff; color: #111; font-weight: 700; }
.skip-link:focus { position: fixed !important; }
.np-button, button[type="submit"], input[type="submit"], .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; border: 1px solid var(--np-accent); border-radius: var(--np-radius); background: var(--np-accent); color: var(--np-secondary); font: var(--np-button-weight, 700) var(--np-button-size, 11px)/1.2 var(--np-button-font); }
.np-button:hover, button[type="submit"]:hover, input[type="submit"]:hover { color: #fff; opacity: .88; }
.np-button-square .np-button, .np-button-square button[type="submit"], .np-button-square input[type="submit"], .np-button-square .wp-block-button__link { border-radius: 0; }
.np-button-rounded .np-button, .np-button-rounded button[type="submit"], .np-button-rounded input[type="submit"], .np-button-rounded .wp-block-button__link { border-radius: max(8px, var(--np-radius)); }
.np-button-pill .np-button, .np-button-pill button[type="submit"], .np-button-pill input[type="submit"], .np-button-pill .wp-block-button__link { border-radius: 999px; }
.np-button-outline .np-button, .np-button-outline button[type="submit"], .np-button-outline input[type="submit"], .np-button-outline .wp-block-button__link { background: transparent; color: var(--np-accent); }
.np-button-outline .np-button:hover, .np-button-outline button[type="submit"]:hover, .np-button-outline input[type="submit"]:hover, .np-button-outline .wp-block-button__link:hover { background: var(--np-accent); color: var(--np-secondary); opacity: 1; }

/* Header */
.site-header { position: relative; z-index: 90; width: 100%; background: var(--np-header-bg); color: var(--np-header-text); border-bottom: 1px solid color-mix(in srgb, var(--np-header-text) 10%, transparent); }
.site-header.is-sticky { position: sticky; top: 0; }
.site-header.is-transparent { position: absolute; background: transparent; border-color: transparent; }
.site-header.is-sticky.is-transparent { position: sticky; }
.site-header.is-transparent.is-scrolled { background: var(--np-header-bg); border-color: color-mix(in srgb, var(--np-header-text) 10%, transparent); box-shadow: 0 8px 28px rgba(15, 23, 42, .08); }
.header-inner { min-height: var(--np-header-height, 76px); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.custom-logo-link { display: block; }
.custom-logo { width: var(--np-logo-width); max-height: 64px; object-fit: contain; }
.site-title { color: var(--np-header-text); font: 800 1.45rem/1 var(--np-heading-font); letter-spacing: -.04em; }
.site-description { margin: 5px 0 0; color: var(--np-header-text); font-size: .72rem; opacity: .65; }
.main-navigation { justify-self: center; }
.main-navigation ul { display: flex; align-items: center; gap: 28px; margin: 0; padding: 0; list-style: none; }
.main-navigation li { position: relative; }
.main-navigation a { display: block; padding-block: 27px; color: var(--np-header-text); font: var(--np-menu-weight, 600) var(--np-menu-size, 14px)/1.2 var(--np-menu-font); }
.main-navigation .current-menu-item > a, .main-navigation a:hover { color: var(--np-accent); opacity: 1; }
.main-navigation ul ul { position: absolute; top: calc(100% - 8px); left: -16px; min-width: 220px; display: block; padding: 8px; visibility: hidden; opacity: 0; transform: translateY(6px); background: var(--np-header-bg); border: 1px solid var(--np-border); border-radius: var(--np-radius); box-shadow: var(--np-shadow); transition: .2s ease; }
.main-navigation ul ul a { padding: 10px 12px; }
.main-navigation li:hover > ul, .main-navigation li:focus-within > ul { visibility: visible; opacity: 1; transform: none; }
.logo-center .header-inner { grid-template-columns: 1fr auto 1fr; }
.logo-center .site-branding { grid-column: 2; }
.logo-center .main-navigation { grid-column: 1; grid-row: 1; justify-self: start; }
.logo-center .header-actions { grid-column: 3; justify-self: end; }
.logo-right .site-branding { grid-column: 3; grid-row: 1; }
.logo-right .main-navigation { grid-column: 2; grid-row: 1; }
.logo-right .header-actions { grid-column: 1; grid-row: 1; justify-self: start; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.header-icon { position: relative; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; background: transparent; border: 0; color: var(--np-header-text); }
.header-icon svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.np-cart-count { position: absolute; top: 0; right: 0; min-width: 17px; height: 17px; display: grid; place-items: center; padding: 0 4px; background: var(--np-accent); color: #fff; border-radius: 20px; font-size: 10px; font-weight: 700; }
.header-cta { white-space: nowrap; }
.header-search { padding: 18px 0; background: var(--np-header-bg); border-top: 1px solid var(--np-border); }
.header-search .search-form { max-width: 720px; margin: auto; }
.search-form { display: flex; gap: 8px; }
.search-form label { flex: 1; }
.header-action-label { display: none; }
.announcement-bar { display: flex; min-height: 36px; align-items: center; justify-content: center; padding: 8px 20px; background: #11130f; color: #f7f8f2; font-size: 10px; font-weight: 700; letter-spacing: .24em; text-align: center; }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 10px; background: transparent; border: 0; }
.menu-toggle > span:not(.screen-reader-text) { display: block; width: 24px; height: 2px; margin: 5px auto; background: var(--np-header-text); transition: .2s; }

/* Main layout */
.site-main { padding-block: clamp(44px, 7vw, 88px); }
.full-width-main { padding-block: 0; }
.page-header { max-width: 850px; margin-bottom: 44px; }
.archive-description { color: var(--np-muted); }
.content-layout { display: grid; gap: clamp(32px, 5vw, 64px); align-items: start; }
.layout-sidebar-right { grid-template-columns: minmax(0, 1fr) var(--np-sidebar-width, 300px); }
.layout-sidebar-left { grid-template-columns: var(--np-sidebar-width, 300px) minmax(0, 1fr); }
.layout-sidebar-left .widget-area { grid-column: 1; grid-row: 1; }
.layout-full { grid-template-columns: minmax(0, 1fr); }
.post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.post-grid.columns-1 { grid-template-columns: 1fr; }
.post-grid.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.post-grid.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.post-grid.blog-list { grid-template-columns: 1fr; }
.blog-list .post-card { display: grid; grid-template-columns: minmax(220px, 34%) minmax(0, 1fr); }
.blog-list .post-thumbnail { height: 100%; aspect-ratio: auto; }
.post-card { overflow: hidden; background: #fff; border: 1px solid var(--np-border); border-radius: var(--np-radius); transition: transform .2s ease, box-shadow .2s ease; }
.post-card:hover { transform: translateY(-3px); box-shadow: var(--np-shadow); }
.post-thumbnail { display: block; aspect-ratio: 16/9; overflow: hidden; }
.post-thumbnail img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.post-card:hover .post-thumbnail img { transform: scale(1.025); }
.post-card-content { padding: 26px; }
.entry-meta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 12px; color: var(--np-muted); font-size: .82rem; }
.post-card .entry-title { margin-bottom: 14px; font-size: 1.45rem; }
.post-card .entry-title a { color: inherit; }
.entry-summary { color: var(--np-muted); }
.read-more { font-weight: 700; font-size: .92rem; }
.entry-single { max-width: var(--np-single-width, 850px); }
.layout-full .entry-single { margin-inline: auto; }
.entry-single .entry-header { margin-bottom: 32px; }
.single-thumbnail { margin: 0 0 42px; }
.single-thumbnail img { width: 100%; border-radius: var(--np-radius); }
.entry-content > * { max-width: 100%; }
.entry-content::after { display: table; clear: both; content: ""; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content pre { overflow-x: auto; padding: 20px; background: #0f172a; color: #e2e8f0; border-radius: 10px; }
.entry-footer { margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--np-border); }
.tag-links a { display: inline-block; margin: 3px; padding: 5px 11px; background: color-mix(in srgb, var(--np-accent) 8%, white); border-radius: 20px; font-size: .82rem; }
.widget-area { position: sticky; top: 110px; }
.widget { margin-bottom: 28px; padding: 24px; border: 1px solid var(--np-border); border-radius: var(--np-radius); }
.widget-title { font-size: 1.12rem; }
.widget ul { margin: 0; padding: 0; list-style: none; }
.widget li { padding: 7px 0; border-bottom: 1px solid var(--np-border); }
.widget li:last-child { border: 0; }
.pagination { margin-top: 44px; }
.np-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin: -20px 0 38px; color: var(--np-muted); font-size: .78rem; }
.np-breadcrumb a { color: var(--np-body-color); }
.np-breadcrumb .separator { opacity: .55; }
.post-navigation-single { max-width: var(--np-single-width, 850px); margin-top: 50px; padding-top: 28px; border-top: 1px solid var(--np-border); }
.post-navigation-single .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.post-navigation-single .nav-next { text-align: right; }
.post-navigation-single a { color: var(--np-header-text); font-family: var(--np-heading-font); font-size: 1.05rem; }
.post-navigation-single a span { display: block; margin-bottom: 5px; color: var(--np-muted); font-family: var(--np-body-font); font-size: .68rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nav-links { display: flex; flex-wrap: wrap; gap: 7px; }
.page-numbers { min-width: 42px; min-height: 42px; display: grid; place-items: center; padding: 6px 10px; border: 1px solid var(--np-border); border-radius: 8px; }
.page-numbers.current { background: var(--np-accent); color: #fff; border-color: var(--np-accent); }
.error-404 { max-width: 720px; text-align: center; }
.error-404 .error-code { margin: 0; color: var(--np-accent); font: 800 clamp(5rem, 18vw, 10rem)/.9 var(--np-heading-font); opacity: .18; }
.error-404 .search-form { margin: 28px 0; }
.no-results { padding: 50px; text-align: center; border: 1px dashed var(--np-border); border-radius: var(--np-radius); }

/* Comments */
.comments-area { max-width: var(--np-single-width, 850px); margin-top: 64px; padding-top: 40px; border-top: 1px solid var(--np-border); }
.layout-full .comments-area, .layout-full .post-navigation-single { margin-right: auto; margin-left: auto; }
.comment-list { padding: 0; list-style: none; }
.comment-list .children { list-style: none; }
.comment-body { margin: 22px 0; padding: 22px; background: color-mix(in srgb, var(--np-accent) 3%, white); border-radius: 12px; }
.comment-author img { float: left; margin-right: 12px; border-radius: 50%; }

/* Footer */
.site-footer { background: var(--np-footer-bg); color: var(--np-footer-text); }
.site-footer a, .site-footer h2, .site-footer h3 { color: inherit; }
.footer-brand { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; padding-top: 58px; }
.footer-brand > div { max-width: 600px; }
.footer-brand p { margin: 18px 0 0; }
.footer-brand address { max-width: 380px; font-style: normal; text-align: right; white-space: pre-line; }
.footer-logo { width: min(var(--np-logo-width), 220px); max-height: 76px; object-fit: contain; object-position: left center; }
.footer-brand + .footer-widgets { padding-top: 35px; }
.footer-widgets { display: grid; gap: 36px; padding-block: 70px 42px; }
.footer-widgets.columns-1 { grid-template-columns: 1fr; }
.footer-widgets.columns-2 { grid-template-columns: repeat(2, 1fr); }
.footer-widgets.columns-3 { grid-template-columns: repeat(3, 1fr); }
.footer-widgets.columns-4 { grid-template-columns: repeat(4, 1fr); }
.site-footer .widget { padding: 0; border: 0; }
.site-footer .widget li { border-color: color-mix(in srgb, var(--np-footer-text) 15%, transparent); }
.footer-bottom { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 20px; border-top: 1px solid color-mix(in srgb, var(--np-footer-text) 18%, transparent); font-size: .88rem; }
.footer-align-left .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: flex-start; }
.footer-align-center .footer-bottom { align-items: center; flex-direction: column; justify-content: center; text-align: center; }
.footer-align-center .footer-navigation ul, .footer-align-center .social-links { justify-content: center; }
.footer-bottom p { margin: 0; }
.footer-navigation ul, .social-links { display: flex; flex-wrap: wrap; gap: 18px; margin: 0; padding: 0; list-style: none; }
.back-to-top { position: fixed; right: 22px; bottom: 22px; z-index: 80; width: 44px; height: 44px; padding: 0; border-radius: 50%; box-shadow: var(--np-shadow); }

/* WordPress alignments */
.alignleft { float: left; margin: .5em 1.5em 1em 0; }
.alignright { float: right; margin: .5em 0 1em 1.5em; }
.aligncenter { display: block; margin-inline: auto; }
.alignwide { width: min(1100px, 100vw - 40px); max-width: none !important; margin-left: 50%; transform: translateX(-50%); }
.alignfull { width: 100vw; max-width: none !important; margin-left: 50%; transform: translateX(-50%); }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { color: var(--np-muted); font-size: .85rem; }
.sticky { position: relative; }
.bypostauthor { display: block; }

/* Editorial collector homepage */
.np-editorial-active { --np-accent: #c8ff36; --np-body-bg: #f4f4ee; --np-body-color: #34372f; --np-header-bg: #f8f8f3; --np-header-text: #12140f; --np-footer-bg: #f8f8f3; --np-footer-text: #12140f; }
.np-editorial-active .site-header { border-bottom-color: #d8d9d1; }
.np-editorial-active .header-inner { min-height: var(--np-header-height, 96px); }
.np-editorial-active .site-title { font-size: 1.75rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.np-editorial-active .site-description { text-align: center; font-size: .56rem; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; }
.np-editorial-active .main-navigation { justify-self: start; }
.np-editorial-active .main-navigation ul { gap: 36px; }
.np-editorial-active .main-navigation a { padding-block: 38px; font-family: var(--np-menu-font); font-size: var(--np-menu-size, 11px); font-weight: var(--np-menu-weight, 700); letter-spacing: .16em; text-transform: uppercase; }
.np-editorial-active .header-actions { gap: 26px; }
.np-editorial-active .header-icon { width: auto; height: 42px; display: flex; gap: 8px; font-size: .7rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.np-editorial-active .header-icon svg { display: none; }
.np-editorial-active .header-action-label { display: inline; }
.np-editorial-active .np-cart-count { position: static; min-width: 19px; height: 19px; color: #11130f; font-size: 9px; }
.np-editorial-home { background: #f4f4ee; color: #3c3e36; }
.np-editorial-home h1, .np-editorial-home h2 { font-family: var(--np-heading-font); color: #11130f; font-weight: var(--np-heading-weight, 500); letter-spacing: -.04em; }
.np-editorial-hero { display: grid; grid-template-columns: 39.5% 60.5%; min-height: 670px; border-bottom: 1px solid #d9dbd2; }
.np-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 72px clamp(42px, 6vw, 92px); background: #efefe8; }
.np-eyebrow { display: flex; align-items: center; gap: 13px; margin: 0 0 35px; color: inherit; font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.np-eyebrow i { width: 9px; height: 9px; flex: 0 0 9px; background: #c8ff36; }
.np-hero-copy h1 { max-width: 560px; margin-bottom: 34px; font-size: clamp(4rem, 6vw, 6.6rem); line-height: .84; }
.np-hero-text { max-width: 460px; margin-bottom: 42px; color: #64665e; font-size: .96rem; line-height: 1.8; }
.np-editorial-button { display: inline-flex; width: fit-content; min-height: 58px; align-items: center; justify-content: space-between; gap: 48px; padding: 16px 24px; font: var(--np-button-weight, 700) var(--np-button-size, 11px)/1.2 var(--np-button-font); letter-spacing: .16em; text-transform: uppercase; }
.np-button-dark { min-width: 280px; background: #11130f; color: #fff; }
.np-button-dark:hover { color: #fff; }
.np-button-light { min-width: 190px; background: #fff; color: #11130f; }
.np-button-light:hover { color: #11130f; }
.np-slide-marks { display: flex; align-items: center; gap: 10px; margin-top: 58px; }
.np-slide-marks span { width: 42px; height: 42px; display: grid; place-items: center; margin-right: 12px; border: 1px solid #d1d2ca; border-radius: 50%; font-size: 14px; }
.np-slide-marks span:last-child { margin-right: 0; margin-left: 12px; }
.np-slide-marks b, .np-slide-marks i { width: 24px; height: 3px; background: #c5c7c0; }
.np-slide-marks b { width: 48px; background: #11130f; }
.np-hero-visual { position: relative; min-width: 0; overflow: hidden; background: #8e9798; }
.np-hero-visual > img { width: 100%; height: 100%; min-height: 670px; object-fit: cover; }
.np-showcase-card { position: absolute; bottom: 44px; left: 42px; min-width: 164px; padding: 22px 25px; background: rgba(248,248,243,.94); color: #11130f; }
.np-showcase-card span { display: block; margin-bottom: 8px; font-size: .54rem; font-weight: 700; letter-spacing: .18em; }
.np-showcase-card strong { display: block; font: 500 1.55rem/1.1 "Cormorant Garamond", Georgia, serif; }
.np-slide-count { position: absolute; right: 34px; bottom: 34px; color: #fff; font-size: .65rem; font-weight: 700; letter-spacing: .13em; }
.np-benefits { display: grid; grid-template-columns: repeat(3, 1fr); min-height: 112px; align-items: center; background: #fff; border-bottom: 1px solid #dfe0d9; }
.np-benefits > div { display: flex; min-height: 62px; flex-direction: column; align-items: center; justify-content: center; padding: 12px 26px; border-right: 1px solid #dedfd8; text-align: center; }
.np-benefits > div:last-child { border: 0; }
.np-benefits strong { color: #11130f; font-size: .68rem; letter-spacing: .18em; }
.np-benefits span { margin-top: 7px; color: #85877f; font-size: .73rem; }
.np-arrivals { padding-block: clamp(74px, 8vw, 118px); }
.np-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.np-section-heading .np-eyebrow { margin-bottom: 15px; }
.np-section-heading h2 { margin: 0; font-size: clamp(3.6rem, 6vw, 6rem); line-height: .9; }
.np-section-heading > a { margin-bottom: 10px; padding-bottom: 7px; color: #11130f; border-bottom: 1px solid #11130f; font-size: .66rem; font-weight: 700; letter-spacing: .16em; }
.np-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.np-product-card { margin: 0; background: #fff; }
.np-product-image { position: relative; display: block; aspect-ratio: .84; overflow: hidden; background: #dfe1dc; }
.np-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.np-product-card:hover .np-product-image img { transform: scale(1.025); }
.np-product-badge { position: absolute; top: 14px; left: 14px; z-index: 2; padding: 5px 10px; background: #c8ff36; color: #11130f; font-size: .56rem; font-weight: 800; letter-spacing: .08em; }
.np-product-info { min-height: 148px; padding: 23px 17px; }
.np-product-info > span { display: block; margin-bottom: 10px; color: #9a9b94; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.np-product-info h3 { margin: 0 0 12px; font-family: var(--np-body-font); font-size: .84rem; font-weight: 700; letter-spacing: 0; }
.np-product-info h3 a { color: #11130f; }
.np-product-price { color: #11130f; font-size: .84rem; font-weight: 700; }
.np-products-empty { display: flex; min-height: 240px; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 40px; background: #fff; border: 1px dashed #c9cbc3; text-align: center; }
.np-products-empty span { color: #7b7d75; }
.np-home-content { padding-bottom: 90px; }
.np-editorial-cta { display: flex; min-height: 320px; flex-direction: column; align-items: center; justify-content: center; padding: 55px 24px; background: #11130f; color: #fff; text-align: center; }
.np-editorial-cta .np-eyebrow { margin-bottom: 25px; }
.np-editorial-cta h2 { max-width: 900px; margin-bottom: 35px; color: #fff; font-size: clamp(3.2rem, 5.5vw, 5.2rem); line-height: .95; }
.np-editorial-active .site-footer { border-top: 0; }
.np-editorial-active .footer-widgets { border-bottom: 1px solid #d8d9d1; }
.np-editorial-active .footer-bottom { border-color: #d8d9d1; color: #595b53; }

@media (max-width: 1024px) {
  body.admin-bar .site-header.is-sticky { top: 32px; }
  .header-inner, .logo-center .header-inner { grid-template-columns: auto 1fr auto; }
  .logo-center .site-branding, .logo-right .site-branding { grid-column: 1; grid-row: 1; }
  .logo-center .main-navigation, .logo-right .main-navigation { grid-column: auto; grid-row: auto; }
  .logo-center .header-actions, .logo-right .header-actions { grid-column: 3; grid-row: 1; justify-self: end; }
  .menu-toggle { display: block; grid-column: 2; grid-row: 1; justify-self: end; }
  .main-navigation { position: fixed; inset: 0 0 0 auto; z-index: 100; width: min(88vw, 380px); padding: 82px 26px 30px; overflow-y: auto; visibility: hidden; background: var(--np-header-bg); box-shadow: -15px 0 50px rgba(15,23,42,.18); transform: translateX(105%); transition: .25s ease; }
  .menu-open .main-navigation { visibility: visible; transform: translateX(0); }
  .menu-open .menu-toggle { position: fixed; top: 16px; right: 18px; z-index: 110; }
  .menu-open .menu-toggle > span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-open .menu-toggle > span:nth-child(2) { opacity: 0; }
  .menu-open .menu-toggle > span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .main-navigation ul { display: block; }
  .main-navigation a { padding: 12px 0; border-bottom: 1px solid var(--np-border); }
  .main-navigation ul ul { position: static; min-width: 0; padding: 0 0 0 16px; visibility: visible; opacity: 1; transform: none; box-shadow: none; border: 0; }
  .header-cta { display: none; }
  .layout-sidebar-right, .layout-sidebar-left { grid-template-columns: minmax(0, 1fr) 260px; }
  .post-grid.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .np-editorial-active .header-inner { min-height: 76px; }
  .np-editorial-active .header-actions { gap: 14px; }
  .np-editorial-active .header-icon svg { display: block; }
  .np-editorial-active .header-action-label { display: none; }
  .np-editorial-hero { grid-template-columns: 46% 54%; min-height: 590px; }
  .np-hero-copy { padding: 55px 42px; }
  .np-hero-copy h1 { font-size: clamp(3.5rem, 7vw, 5.2rem); }
  .np-hero-visual > img { min-height: 590px; }
  .np-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 782px) {
  body.admin-bar .site-header.is-sticky { top: 46px; }
  .np-container { width: min(calc(100% - 28px), var(--np-container)); }
  .np-layout-full .np-container { width: 100%; padding-inline: 20px; }
  .np-layout-boxed { padding: 0; }
  .np-layout-boxed .site { max-width: none; box-shadow: none; }
  .header-inner { min-height: 68px; gap: 8px; }
  .custom-logo { max-width: min(var(--np-logo-width), 145px); }
  .header-actions { gap: 0; }
  .layout-sidebar-right, .layout-sidebar-left { grid-template-columns: 1fr; }
  .layout-sidebar-left .widget-area { grid-column: 1; grid-row: auto; }
  .widget-area { position: static; }
  .post-grid, .post-grid.columns-2, .post-grid.columns-3 { grid-template-columns: 1fr; }
  .blog-list .post-card { grid-template-columns: 1fr; }
  .blog-list .post-thumbnail { aspect-ratio: 16/9; }
  .footer-widgets.columns-3, .footer-widgets.columns-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-brand, .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-brand address { text-align: left; }
  .announcement-bar { min-height: 32px; font-size: 8px; letter-spacing: .17em; }
  .np-editorial-hero { grid-template-columns: 1fr; }
  .np-hero-copy { min-height: 560px; padding: 64px 28px; }
  .np-hero-visual > img { min-height: 520px; }
  .np-benefits { grid-template-columns: 1fr; padding-block: 12px; }
  .np-benefits > div { border-right: 0; border-bottom: 1px solid #dedfd8; }
  .np-section-heading { align-items: flex-start; flex-direction: column; }
  .np-section-heading h2 { font-size: 4rem; }
}

@media (max-width: 480px) {
  .site-description, .header-actions .search-toggle { display: none; }
  .site-main { padding-block: 42px; }
  .post-card-content { padding: 20px; }
  .footer-widgets, .footer-widgets.columns-2, .footer-widgets.columns-3, .footer-widgets.columns-4 { grid-template-columns: 1fr; }
  .footer-widgets { padding-block: 52px 26px; }
  .np-hero-copy { min-height: 510px; }
  .np-hero-copy h1 { font-size: 3.7rem; }
  .np-hero-visual > img { min-height: 410px; }
  .np-showcase-card { bottom: 22px; left: 18px; }
  .np-slide-count { right: 18px; bottom: 22px; }
  .np-slide-marks { margin-top: 40px; }
  .np-product-grid { grid-template-columns: 1fr; }
  .np-arrivals { padding-block: 65px; }
  .np-editorial-cta { min-height: 290px; }
  .np-editorial-cta h2 { font-size: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
