/* Scoped launch additions. Existing homepage, cards and visual tokens stay in place. */
.site-header .primary-nav { gap:clamp(12px,1.2vw,20px); }
.site-header .primary-nav > a { font-size:12px; }
/* WooCommerce ships .woocommerce-page img{height:auto}, which otherwise blows the
   header lockup up to its intrinsic height on product pages. Keep the shared size. */
.site-header .brand .brand-logo { height:20px; width:auto; max-width:none; }
@media(max-width:900px) { .site-header .brand .brand-logo { height:18px; } }
@media(max-width:480px) { .site-header .brand .brand-logo { height:16px; } }
.nc-collections-intro { max-width:760px; margin:0 0 64px; }
.nc-collections-intro p { max-width:620px; color:#3d3833; font-size:18px; line-height:1.8; margin:22px 0 30px; }
.nc-collection-explore { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(28px,4vw,64px); margin-bottom:80px; }
.nc-collection-explore:nth-child(odd) { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.nc-collection-explore:nth-child(odd) .nc-collection-visual { order:2; }
.nc-collection-visual { position:relative; background:var(--paper-muted); overflow:hidden; aspect-ratio:1.4; }
.nc-collection-visual > img { width:100%; height:100%; object-fit:cover; }
.nc-collection-eastern-elegance .nc-collection-visual img { object-position:55% 52%; }
.nc-collection-nacre-tales .nc-collection-visual img { object-position:center; }
.nc-collection-timeless-poetry .nc-collection-visual img,
.nc-collection-nacre-beyond .nc-collection-visual img { object-position:center; }
.nc-collection-copy { width:100%; min-width:0; }
.nc-collection-copy .section-index { font-size:14px; letter-spacing:.08em; }
.nc-collection-copy h2 { font:400 clamp(34px,3.6vw,48px)/1.14 var(--display); margin:0 0 16px; }
.nc-collection-copy p { color:#4a443d; font-size:17px; line-height:1.9; max-width:100%; margin:0 0 26px; }
.nc-series-number { display:block; margin:0 0 14px; color:var(--text-muted); font-size:14px; font-weight:600; letter-spacing:.1em; }
.nc-collection-copy .nc-series-concept { margin:0 0 18px; max-width:30em; color:var(--text); font:400 22px/1.52 var(--display); }
.nc-collection-copy .nc-series-about { margin-bottom:0; max-width:34em; }
.nc-series-range { max-width:100%; margin-top:30px; padding-top:20px; border-top:1px solid var(--hairline); }
.nc-collection-copy .nc-series-range p { margin:0; font-size:15px; line-height:1.8; color:var(--text-muted); letter-spacing:.02em; }
.nc-collection-copy .text-link { display:table; margin:22px 0 0; font-size:15px; }
.nc-concept-label { position:absolute; bottom:18px; left:18px; padding:8px 14px; background:rgba(15,14,12,.82); color:#fff; font-size:14px; letter-spacing:.1em; }
.nc-celestial-study { position:absolute; inset:0; background:#0a171b; }
.nc-celestial-study span { position:absolute; top:18%; left:39%; width:30%; height:55%; transform:rotate(-17deg); clip-path:polygon(10% 0,95% 15%,76% 95%,30% 83%,0 32%); background:linear-gradient(138deg,#d7d8cd 0%,#819d99 24%,#c1b7c9 47%,#8b9d91 65%,#e4dccb 87%); opacity:.76; }
.nc-celestial-study i { position:absolute; top:13%; left:65%; width:1px; height:66%; background:linear-gradient(transparent,#c1c8be,transparent); transform:rotate(22deg); opacity:.24; }
.nc-backlit-study { position:absolute; inset:0; display:grid; place-items:center; background:radial-gradient(circle at 52% 44%,#708078 0,#29363a 34%,#0b1417 78%); overflow:hidden; }
.nc-backlit-study::before { content:""; width:38%; aspect-ratio:.72; border:1px solid rgba(229,216,181,.72); background:linear-gradient(145deg,rgba(202,222,211,.16),rgba(239,223,181,.78) 45%,rgba(128,151,153,.24)); box-shadow:0 0 46px rgba(225,215,181,.34),inset 0 0 28px rgba(255,255,255,.2); transform:perspective(700px) rotateY(-12deg) rotateX(3deg); }
.nc-backlit-study::after { content:""; position:absolute; width:62%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(223,217,187,.24),transparent 66%); }
.nc-backlit-study i { position:absolute; top:19%; left:50%; width:1px; height:62%; background:linear-gradient(transparent,rgba(233,226,197,.72),transparent); transform:rotate(18deg); }
.nc-collectibles-entry { min-height:66vh; display:flex; align-items:center; }
.nc-collectibles-entry .section-inner { width:100%; }
.nc-collectibles-entry p { color:var(--text-muted); max-width:540px; margin:22px 0 36px; }
.nc-entry-status { display:block; font-size:11px; letter-spacing:.12em; color:var(--text-muted); margin-bottom:24px; }
.nc-wishlist-intro { margin:22px 0 40px; font-size:14px; color:var(--text-muted); }
.nc-wishlist-intro a { text-decoration:underline; text-underline-offset:4px; }
.nc-wishlist-item { min-width:0; }
.nc-wishlist-item > button { margin:16px 0 0; min-height:40px; }
.nc-wishlist-button { background:transparent; border:0; padding:8px 0; color:var(--text); font-size:13px; min-height:40px; }
.nc-wishlist-button[aria-pressed="true"] { color:var(--gold); }
.nc-wishlist-button:disabled { opacity:.6; cursor:wait; }
.nc-product-purchase-notes > a { font-size:12px; margin-left:14px; text-decoration:underline; text-underline-offset:4px; }
.nc-wishlist-feedback { display:block; margin:6px 0 0!important; font-size:12px!important; }
.nc-site-search { width:min(640px,calc(100% - 32px)); max-height:85dvh; overflow-y:auto; border:1px solid var(--hairline); border-radius:2px; padding:32px; color:var(--text); background:var(--paper); box-shadow:var(--shadow-soft); }
.nc-site-search::backdrop { background:rgba(15,14,12,.55); }
.nc-search-top { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.nc-search-top h2 { font:400 30px/1.2 var(--display); margin:0; }
.nc-search-top button { border:0; background:none; width:44px; height:44px; font-size:26px; flex:none; }
.nc-site-search input { width:100%; min-height:52px; margin:22px 0 12px; padding:12px; border:1px solid var(--hairline); border-radius:0; background:var(--paper); color:var(--text); }
.nc-site-search h3 { font-size:11px; letter-spacing:.12em; margin:24px 0 10px; color:var(--text-muted); }
.nc-site-search [data-search-results] > p { color:var(--text-muted); font-size:14px; }
.nc-search-result { display:flex; align-items:center; gap:16px; padding:12px 0; border-bottom:1px solid var(--hairline); font-size:14px; }
.nc-search-result img { width:60px; height:60px; object-fit:cover; background:var(--paper-muted); }
.nc-search-result small { display:block; margin-top:5px; color:var(--text-muted); }
.nc-search-result:hover { color:var(--gold); }
.nc-product-benefits { margin:24px 0 0; padding-left:18px; color:var(--text-muted); font-size:13px; line-height:1.9; }
.nc-product-meaning { margin-top:32px; max-width:840px; }
.nc-product-meaning h3 { font:400 23px/1.3 var(--display); color:var(--text); margin:0 0 16px; }
@media(max-width:1300px) {
  .site-header .primary-nav { display:none; }
  .site-header .menu-toggle { display:inline-flex; }
  .site-header .header-inner { grid-template-columns:auto minmax(0,1fr) auto; }
  .mobile-nav { overflow-y:auto; }
}
@media(max-width:700px) {
  .nc-collection-explore,.nc-collection-explore:nth-child(odd) { grid-template-columns:minmax(0,1fr); gap:26px; margin-bottom:56px; }
  .nc-collection-explore:nth-child(odd) .nc-collection-visual { order:0; }
  .nc-collection-copy h2 { font-size:clamp(30px,7.6vw,34px); margin:0 0 14px; }
  .nc-collections-intro { margin-bottom:40px; }
  .nc-collection-copy p,.nc-series-range { max-width:none; }
  .nc-collection-copy .nc-series-concept { font-size:20px; }
  .nc-collection-copy .nc-series-about { font-size:16px; }
  .nc-collections-intro p { font-size:17px; }
  .nc-site-search { padding:20px; }
  .nc-search-top h2 { font-size:25px; }
}
@media(max-width:600px) {
  .site-header .header-inner { padding:0 12px; gap:8px; }
  .site-header .header-actions { gap:4px; }
  .site-header .brand { min-width:0; font-size:17px; line-height:1.15; }
  .site-header .icon-button,.site-header .account-link { width:36px; height:40px; padding:6px; }
  .site-header .lang-toggle { min-width:36px; padding:0 5px; }
  .mobile-nav nav a { font-size:clamp(21px,5.5vw,28px); margin:12px 0; }
  .mobile-nav .nacre-mobile-utilities { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
  .mobile-nav .nacre-mobile-utilities button,.mobile-nav .nacre-mobile-utilities a { font-size:14px; margin:0; }
  .mobile-nav .nacre-mobile-utilities [data-launch-search] { border:0; color:#fff; background:none; padding:10px 0; }
}
@media(max-width:360px) {
  .site-header .header-inner .brand { font-size:15px; gap:5px; }
  .site-header .header-inner .brand::before { width:7px; height:7px; }
}
