/* GadelyHome — warm, modern home collections.
   Shared presentation layer; CMS tags and existing interaction states remain intact. */
:root {
  --gd-paper: #fcfaf7;
  --gd-white: #fff;
  --gd-sand: #f2ede6;
  --gd-ink: #49352b;
  --gd-hover: #634a3b;
  --gd-text: #786c61;
  --gd-line: #e4dbd1;
  --gd-body: 'pn-r', Arial, 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
body { background: var(--gd-paper); color: var(--gd-ink); font-family: var(--gd-body); -webkit-font-smoothing: antialiased; }
body a { color: var(--gd-ink); }
body a:hover { color: var(--gd-hover); }
body :is(input, textarea, button, select) { font-family: var(--gd-body); }
body :is(a, button, input, textarea, select):focus-visible { outline: 2px solid var(--gd-ink); outline-offset: 4px; }
::selection { color: var(--gd-ink); background: #e9d9c6; }

/* Header: restrained navigation and an email address revealed on hover or focus. */
body .headsbox { background: var(--gd-paper); border-bottom: 1px solid var(--gd-line); box-shadow: none; }
.heads .headnav_itema span { font: 13px/1.4 var(--gd-body); letter-spacing: .75px; text-transform: uppercase; }
.heads .headnav_item:hover .headnav_itema span, .heads .headnav_item.active .headnav_itema span { color: var(--gd-ink); }
.heads .headnav_qtxl, .heads .headnav_cqxlbox { background: var(--gd-paper); border-top: 1px solid var(--gd-line); box-shadow: 0 10px 20px #49352b0a; }
.heads .headnav_qtxl_boxitem { border-bottom-color: var(--gd-line); }
.heads .headnav_qtxl_boxitem:hover { background: var(--gd-sand); color: var(--gd-ink); }
.heads .headnav_cqxlbox_itemtitle a { color: var(--gd-ink); }
.heads .headnav_cqxlbox_itemct a { color: var(--gd-text); }
.heads .headnav_cqxlbox_itemct a:hover { color: var(--gd-ink); }
.heads .headqt { gap: 8px; }
.heads .headqt_email { position: relative; justify-content: center; width: 44px; min-height: 44px; padding: 0; color: var(--gd-ink); }
.heads .headqt_email i { font-size: 24px; }
.heads .headqt_email span { display: block; position: absolute; right: 0; top: calc(100% + 10px); z-index: 20; padding: 12px 16px; background: var(--gd-ink); color: var(--gd-paper); font-size: 14px; line-height: 1.4; white-space: nowrap; border-radius: 2px; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .18s, transform .18s, visibility .18s; pointer-events: none; }
.heads .headqt_email span::before { content: ''; position: absolute; right: 17px; top: -4px; width: 8px; height: 8px; background: inherit; transform: rotate(45deg); }
.heads .headqt_email:focus-visible span { opacity: 1; visibility: visible; transform: none; }
@media (hover: hover) { .heads .headqt_email:hover span { opacity: 1; visibility: visible; transform: none; } }
.heads .headqt_search_toggle, .heads .mb_btn { color: var(--gd-ink); }
/* Keep one field boundary; the icon itself has no native button frame. */
.heads .headqt_search_toggle { border: 0; padding: 0; box-shadow: none; appearance: none; }
.heads .headqt_ssdw { border: 0; background: var(--gd-white); box-shadow: none; border-radius: 3px; }
.heads .headqt_ssdw .headqt_ssdwbox { border: 1px solid var(--gd-line); border-radius: 3px; }
.heads .headqt_ssdw .headqt_ssdwbox:focus-within { border-color: var(--gd-text); }
.heads .headqt_ssdwboxsr { background: var(--gd-white); color: var(--gd-ink); }
.heads .headqt_ssdwboxsr:focus-visible { outline: none; }
.heads .headqt_ssdwboxtj:focus-visible { outline-offset: -3px; }
.heads .headqt_ssdwboxtj { background-color: var(--gd-sand); }

/* Page titles, breadcrumbs and type stay consistent throughout the site. */
body .inner-banner { background-color: var(--gd-sand); }
body .inner-banner :is(.inner-banner-title, .inner-product-title, .inner-blog-title) { color: var(--gd-ink); font-family: var(--gd-body); font-weight: 400; line-height: 1.13; letter-spacing: -1px; }
body .inner-banner :is(.inner-product-eyebrow, .inner-company-eyebrow, .inner-blog-eyebrow) { color: var(--gd-text); font-weight: 400; letter-spacing: 1.8px; }
body .inner-banner :is(.inner-product-description, .inner-company-description, .inner-blog-description) { color: var(--gd-text); line-height: 1.65; }
body .inner-banner .inner-banner-accent { display: none; }
body .inner-breadcrumb, body .cpmbx { background: var(--gd-paper); border-bottom: 1px solid var(--gd-line); }
body:not(.product-detail-page) :is(.inner-breadcrumb, .cpmbx) { display: none; }
body .inner-breadcrumb-links > :is(a, span, i), .cpmbx .cpmbxboxnav :is(a, span, i) { color: var(--gd-text); }
body .inner-breadcrumb-links > a:hover { color: var(--gd-ink); }
.cpmbx .cpmbxboxfh .cpmbxboxfha { background: var(--gd-ink); color: #fff; }

/* Homepage opening: restore the white carousel card and original mouse cue. */
body .bannergl { background: var(--gd-paper); }
body .bannergl .bannerglbox, body .bannergl .bannerglbox.on { background: #fff; border: 0; box-shadow: 0 2px 5px rgba(0,0,0,.15); border-radius: 5px; transform: translateY(var(--banner-nav-offset, -50%)); padding: 0 30px; height: 70px; }
/* Give carousel controls the same warm hierarchy as the rest of the site. */
body .bannergl .bannerglbox_lp { color: var(--gd-ink); }
.bannergl .swiper-pagination-banner { color: var(--gd-text); }
.bannergl .swiper-pagination-current { color: var(--gd-accent); }
.bannergl .swiper-pagination-total { color: var(--gd-text); }
.bannergl .bannerglbox_rpre::before, .bannergl .bannerglbox_rnext::before { border-color: var(--gd-ink); }
.bannergl .bannerglbox_rpre:hover::before, .bannergl .bannerglbox_rnext:hover::before { border-color: var(--gd-accent); }
.bannergl .bannerglbox_rx { background-color: var(--gd-line); }
.bannergl #banerbtn { border-color: var(--gd-text); }
.bannergl #banerbtn::before { background: var(--gd-text); }
body .products { margin-top: 76px; }
.products .productsbox { margin-bottom: 30px; }
.products .productsbox_lx, .news .productsbox_lx { display: none; }
.products .productsbox_lh, .news .productsbox_lh { margin-left: 0; }
.products .productsbox_lh, .products .productsbox_lh span, .news .productsbox_lh, body .rmproduct_title { font: 400 clamp(32px, 3.3vw, 48px)/1.15 var(--gd-body); color: var(--gd-ink); letter-spacing: -1px; }
.products .productsbox_r .productsbox_ra { background: transparent; border: 0; border-bottom: 1px solid var(--gd-ink); padding: 9px 0; border-radius: 0; color: var(--gd-ink); font-size: 14px; letter-spacing: .3px; }
.products .productsbox_r .productsbox_ra:hover { opacity: .65; }
.products .productst_slide .productst_slidea { display: block; aspect-ratio: auto; background: transparent; border: 0; border-radius: 0; overflow: hidden; }
.products .productst_slide .productst_slideaimg { aspect-ratio: 1; height: auto; overflow: hidden; background: var(--gd-sand); }
.products .productst_caption { position: static; min-height: 56px; padding: 16px 0 10px; background: none; text-shadow: none; text-align: left; color: var(--gd-ink); font: 19px/1.4 var(--gd-body); }
.products .productst_slide .productst_slidea:hover .productst_caption { opacity: 1; }
.products .productst_slidedw { bottom: 56px; height: auto; background: linear-gradient(180deg, #30211812 5%, #302118b3 55%, #302118ed 100%); }
.products .productst_slide .productst_slidea:hover .productst_slidedw { background: linear-gradient(180deg, #30211812 5%, #302118b3 55%, #302118ed 100%); }
.products .productst_slidedwbox_a { display: inline-flex; align-items: center; gap: 22px; min-height: 44px; padding: 0; margin: 18px 0 0; border: 0; border-radius: 0; background: none; color: var(--gd-paper); font: 14px/1.4 var(--gd-body); transform: none; }
.products .home-product-advantages { background: transparent; padding: 36px 0 40px; margin-top: 24px; border-top: 1px solid var(--gd-line); }
.products .home-product-advantages .productsb_slideitem_dg { padding: 8px 22px; transform: none; }
.products .home-product-advantages .productsb_slideitem_dg::after { display: none; }
.products .home-product-advantages .productsb_slideitem_dgi i { color: var(--gd-ink); font-size: 38px; }
.products .home-product-advantages h3 { color: var(--gd-ink); font: 19px/1.3 var(--gd-body); }
.products .home-product-advantages .productsb_slideitem_dgtxt p { color: var(--gd-text); font-size: 14px; line-height: 1.6; }
body .rmproduct { background: var(--gd-sand); padding: 72px 0; }
body .rmproduct_title { justify-content: flex-start !important; margin-bottom: 32px; }
.rmproduct .rmproduct_slidea { display: block; border: 0; border-radius: 0; overflow: hidden; background: transparent; }
.rmproduct .rmproduct_slidea_img { background: var(--gd-white); }
.rmproduct .rmproduct_slidea_txt { color: var(--gd-ink); padding: 15px 0 4px; text-align: left; font-size: 17px; line-height: 1.45; background: transparent; }
.rmproduct .rmproduct_slidea:hover { box-shadow: none; }
.rmproduct .rmproduct_slidea:hover .rmproduct_slidea_txt { color: var(--gd-hover); }
.rmproduct .rmproduct_more { margin-top: 36px; }
.rmproduct .rmproduct_more > a { width: auto; min-width: 0; display: inline-flex; align-items: center; min-height: 44px; background: transparent; border: 0; border-bottom: 1px solid var(--gd-line); border-radius: 0; color: var(--gd-ink); font-size: 13px; letter-spacing: .6px; padding: 10px 0; }
.rmproduct .rmproduct_more > a:hover { color: var(--gd-accent); background: transparent; border-bottom-color: var(--gd-accent); }

/* One continuous, full-width photograph. The gradient keeps real copy readable. */
body .home-about { min-height: 680px; padding: 88px 0; background: var(--gd-ink); }
.home-about .home-about-visual { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-about .home-about-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 56%; }
.home-about .home-about-visual::after { background: linear-gradient(90deg,rgba(56,38,28,.94) 0%,rgba(56,38,28,.87) 28%,rgba(56,38,28,.40) 55%,rgba(56,38,28,.04) 78%); }
.home-about .home-about-image-label { display: none; }
.home-about .home-about-inner { width: 86%; max-width: 1680px; margin: 0 auto; justify-content: flex-start; }
.home-about .home-about-copy { width: 46%; max-width: 550px; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.home-about .home-section-eyebrow { color: #e5d5c4; font: 11px/1.6 var(--gd-body); letter-spacing: 2px; margin-bottom: 20px; }
.home-about h2 { color: var(--gd-paper); font: 400 clamp(40px,4.3vw,62px)/1.08 var(--gd-body); letter-spacing: -1.4px; margin-bottom: 26px; }
.home-about .home-about-note { color: #f4ebe1; font: 16px/1.7 var(--gd-body); white-space: pre-line; }
.home-about .home-about-actions { gap: 14px; margin-top: 30px; }
.home-about .home-company-button, .home-about .home-company-secondary { flex: 0 1 auto; border-radius: 3px; padding: 14px 22px; min-height: 48px; gap: 22px; font: 14px/1.4 var(--gd-body); border: 0; }
.home-about .home-company-secondary { background: var(--gd-paper); color: var(--gd-ink); border-color: var(--gd-paper); }
.home-about .home-company-secondary:hover { background: #e9dfd1; color: var(--gd-ink); }
.home-about .home-company-button { padding-left: 4px; padding-right: 4px; margin-left: 12px; background: transparent; color: var(--gd-paper); border-radius: 0; }
.home-about .home-company-button:hover { background: transparent; color: #e9cfb8; }
.home-about .home-about-actions a:focus-visible { outline-color: var(--gd-paper); }
body .home-company-stats { background: var(--gd-paper); width: 86%; padding: 56px 0; }
.home-company-stats strong { color: var(--gd-ink); font-family: var(--gd-body); font-weight: 400; }
.home-company-stats sup { color: var(--gd-ink); }
.home-company-stats span { color: var(--gd-text); }
.home-company-stats > div + div::before { background: var(--gd-line); height: 60px; top: 8px; }

/* Advantages: open editorial columns, a fine active rule, no enclosing card. */
body .home-why { padding: 80px 0; margin: 0; border-top: 1px solid var(--gd-line); }
.home-why::before { display: none; }
.home-why .home-why-layout { width: 86%; max-width: 1680px; gap: 5%; align-items: start; }
.home-why .home-section-eyebrow { color: var(--gd-text); letter-spacing: 1.7px; }
.home-why h2 { color: var(--gd-ink); font: 400 36px/1.15 var(--gd-body); letter-spacing: -.7px; }
.home-why h3 { color: var(--gd-ink); font: 400 30px/1.2 var(--gd-body); letter-spacing: -.5px; }
.home-why .home-why-panels { box-shadow: none; }
.home-why .home-why-panel { border: 0; border-radius: 0; background: transparent; min-height: 440px; gap: 30px; }
.home-why .home-why-copy { padding: 25px 0; }
.home-why .home-why-copy::after { display: none; }
.home-why .home-why-note { color: var(--gd-text); font-size: 16px; line-height: 1.75; }
.home-why .home-why-tabs button { border-bottom-color: var(--gd-line); color: var(--gd-text); padding-left: 15px; font-size: 15px; }
.home-why .home-why-tab-dot { display: none; }
.home-why .home-why-tabs button::before { content: ''; position: absolute; left: 0; top: 18px; bottom: 18px; width: 2px; background: transparent; }
.home-why .home-why-tabs button[aria-selected="true"], .home-why .home-why-tabs button:hover { color: var(--gd-ink); }
.home-why .home-why-tabs button[aria-selected="true"]::before { background: var(--gd-ink); }
.home-why .home-why-kicker { color: var(--gd-text); }
.home-why .home-why-kicker > span, .home-why .home-why-progress span { background: var(--gd-ink); }
.home-why .home-why-progress { background: var(--gd-line); }
.home-why .home-why-controls button { color: var(--gd-ink); }
.home-why .home-why-photo { background: var(--gd-sand); }
.home-why .home-why-photo figcaption { background: linear-gradient(transparent,#49352bd9); }

/* Journal: photo first, quiet dates, natural wrapping and aligned article rows. */
body .news { margin-top: 0; padding-top: 64px; border-top: 1px solid var(--gd-line); }
.news .news_title a { color: var(--gd-ink); }
.news .newsct { display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); gap: clamp(28px, 5.5vw, 110px); align-items: start; }
.news .newsct > * { width: 100%; max-width: none; min-width: 0; padding: 0; }
.news .newsct_l { display: flex; flex-direction: column; border-radius: 0; }
.news .newsct_limg { order: -1; flex: none; width: 100%; margin: 0 0 22px; height: auto; aspect-ratio: 2/1; }
.news .newsct_limg img { height: 100%; object-fit: cover; }
.news .newsct_lsj { height: auto; border: 0; margin-bottom: 10px; color: var(--gd-text); font: 13px/1.5 var(--gd-body); text-align: left; }
.news .newsct_lh { margin: 0; white-space: normal; overflow: visible; color: var(--gd-ink); font: 24px/1.3 var(--gd-body); }
.news .newsct_l:hover .newsct_lh { padding-left: 0; color: var(--gd-hover); }
.news .newsct_lp { margin-top: 12px; color: var(--gd-text); font-size: 16px; line-height: 1.6; word-break: normal; -webkit-line-clamp: 3; }
.news .newsct_r { padding-left: 0; }
.news .newsct_r .newsct_ritem { height: auto; min-height: 160px; padding: 25px 0; align-items: flex-start; border-bottom-color: var(--gd-line); }
.news .newsct_r .newsct_ritem:first-child { padding-top: 0; }
.news .newsct_ritembox_title { flex-direction: column-reverse; align-items: flex-start; gap: 10px; }
.news .newsct_ritembox_titleh { color: var(--gd-ink); font: 23px/1.35 var(--gd-body); white-space: normal; flex: auto; }
.news .newsct_ritembox_titlesj { margin-left: 0; color: var(--gd-text); font: 13px/1.5 var(--gd-body); }
.news .newsct_ritembox_p { word-break: normal; color: var(--gd-text); line-height: 1.6; font-size: 15px; }
.news .newsct_ritem.hvr-underline-from-left::before { background: var(--gd-ink); height: 1px; }

/* Catalog and product detail. White image wells sit directly on the page. */
body .nycqlb .nycqlbl { background: transparent !important; }
.nycqlb .nycqlbldw { display: none; }
.nycqlb .nycqlblbox_item { border-bottom-color: var(--gd-line); }
.nycqlb .nycqlblbox_itemtitlel span { color: var(--gd-ink); }
.nycqlb .nycqlblbox_itemtitlel.on span, .nycqlb .nycqlblbox_itemtitlel.on i { color: var(--gd-ink); }
.nycqlb .product-category-level3 a { color: var(--gd-text); }
.nycqlb .product-category-level3 a.on, .nycqlb .product-category-level3 a:hover, .nycqlb .nycqlblbox_itemct .product-category-level2.on, .nycqlb .nycqlblbox_itemct .product-category-level2:hover { color: var(--gd-ink); background: var(--gd-sand); }
.nycqlb .product-category-level3 a.on::before { background: var(--gd-ink); }
.nycqlb .nycqlbrbox_titleth { color: var(--gd-ink); font-family: var(--gd-body); font-weight: 400; letter-spacing: -.5px; }
.nycqlb .nycqlbrbox_titleb { color: var(--gd-text); line-height: 1.7; }
.nycqlb .nycqlbrbox_titletssbox { border: 1px solid var(--gd-line); border-radius: 2px; background: var(--gd-white); }
.nycqlb .nycqlbrbox_titletssbox_tj { background-color: var(--gd-ink); }
.nycqlb .nycqlbrbox_cta, .nycqlb .nycqlbrbox_ctaimg { border: 0; border-radius: 0; box-shadow: none; }
.nycqlb .nycqlbrbox_ct .nycqlbrbox_cta:hover .nycqlbrbox_ctaimg { box-shadow: none; }
.nycqlb .nycqlbrbox_ctatxtct { font: 17px/1.4 var(--gd-body); color: var(--gd-ink); text-align: left; }
.nycqlb .nycqlbrbox_cta:hover .nycqlbrbox_ctatxtct { color: var(--gd-hover); }
body .nbcpxq { background: var(--gd-sand); }
.nbcpxq .nbcpxqboxr_titleh { font-size: 32px; font-family: var(--gd-body); font-weight: 400; color: var(--gd-ink); letter-spacing: -.7px; }
.nbcpxq .nbcpxqboxl_lb { border: 0; border-radius: 0; overflow: hidden; background: var(--gd-white); }
.nbcpxq .nbcpxqb_slide { border-color: var(--gd-line); border-radius: 0; overflow: hidden; background: var(--gd-white); }
.nbcpxq .nbcpxqb_slide.swiper-slide-thumb-active { border-color: var(--gd-ink); }
.nbcpxq .nbcpxqboxr_linka { background: var(--gd-ink); border-radius: 2px; }
.nbcpxq .nbcpxqboxr_linka a { font: 16px/1.4 var(--gd-body); color: #fff; }
.nbcpxq .nbcpxqboxr_linka:hover { background: var(--gd-hover); }
.nbcpxq .nbcpxqb_slide.swiper-slide-thumb-active::before { background: var(--gd-ink); }
.nbcqcs .nbcqcst_slideitem { color: var(--gd-ink); border-color: var(--gd-line); }

/* Company, gallery, films and editorial pages share the same visual system. */
body.company-page, body.blog-page { background: var(--gd-paper); color: var(--gd-ink); }
.company-page :is(.company-intro h2, .company-section-heading h2, .company-show h2), .blog-page :is(.blog-section-heading h2, .blog-article header h1, .blog-cta h2, .blog-sidebar h2), .videos-page .videos-heading h2, .company-gallery-page .gallery-heading h2 { color: var(--gd-ink); font-family: var(--gd-body); font-weight: 400; letter-spacing: -.7px; }
.company-page .company-intro, .company-page .company-intro-copy { background: var(--gd-white); }
.company-page .company-prose { color: var(--gd-text); scrollbar-color: var(--gd-line) var(--gd-white); }
.company-page .company-eyebrow { color: var(--gd-text); }
.company-page .company-stats { background: var(--gd-white); border: 0; }
.company-page .company-stats strong, .company-page .company-stats sup { color: var(--gd-ink); font-family: var(--gd-body); font-weight: 400; }
.company-page .company-stats span { color: var(--gd-text); }
.company-page .company-capability-grid article { background: transparent; border: 0; border-top: 1px solid var(--gd-line); border-radius: 0; padding-left: 0; padding-right: 24px; box-shadow: none; }
.company-page .company-credential-card { background: var(--gd-white); border: 0; border-radius: 0; box-shadow: none; }
.company-page .company-show { background: var(--gd-sand); }
.company-page .company-show-stage { background: var(--gd-ink); }
.company-page .company-show-panel { padding: 0; min-height: 440px; }
.company-page .company-show-panel::before { display: none; }
.company-page .company-show-photo { height: 100%; border-radius: 0; }
.company-page .company-show-photo img { height: 100%; min-height: 440px; object-fit: cover; }
.company-page .company-show-photo > span { background: linear-gradient(transparent,#49352bd9); }
.company-page .company-show-arrow { background: #49352bd9; border-radius: 2px; }
.company-page .company-show-arrow:hover { background: var(--gd-ink); }
.company-page .company-show-prev { left: 16px; }
.company-page .company-show-next { right: 16px; }
.company-page .company-capabilities { background: var(--gd-white); }
.company-page :is(.company-capability-number, .company-category-card h3 span) { color: var(--gd-ink); }
.company-page :is(.company-capability-grid h3, .company-category-card h3, .company-credential-copy h3, .company-cta h2) { color: var(--gd-ink); font-family: var(--gd-body); font-weight: 400; }
.company-page .company-stats .company-wrap > div + div { border-color: var(--gd-line); }
.company-page .company-prose::-webkit-scrollbar-thumb { background: var(--gd-line); }
.company-page .company-show-tabs button { color: var(--gd-text); border-bottom-color: var(--gd-line); }
.company-page .company-show-tabs button[aria-selected="true"], .company-page .company-show-tabs button:hover { color: var(--gd-ink); }
.company-page .company-show-tabs button[aria-selected="true"]::before { border: 0; border-radius: 0; top: 18px; bottom: 18px; width: 2px; height: auto; background: var(--gd-ink); }
.company-page .company-text-link { color: var(--gd-ink); border-bottom-color: var(--gd-ink); }
.company-page .company-cta { background: var(--gd-sand); }
.company-page .company-cta a { background: var(--gd-ink); color: #fff; border-radius: 3px; }
.company-page .company-cta a:hover { background: var(--gd-hover); }
.company-gallery-page .gallery-categories a, .blog-page .blog-tabs a { border: 0; border-bottom: 1px solid var(--gd-line); background: transparent; color: var(--gd-text); border-radius: 0; }
.company-gallery-page .gallery-categories a.is-active, .company-gallery-page .gallery-categories a:hover, .blog-page .blog-tabs a.is-active, .blog-page .blog-tabs a:hover { color: var(--gd-ink); background: transparent; border-color: var(--gd-ink); }
.company-gallery-page .company-gallery-image, .videos-page .video-card-image, .blog-page .blog-card-image { border-radius: 0; background: var(--gd-sand); }
.company-gallery-page .company-gallery-zoom { background: var(--gd-ink); }
.videos-page .videos-eyebrow { color: var(--gd-text); }
.videos-page .video-card h3 { color: var(--gd-ink); font-size: 18px; }
.videos-page .video-card-play { background: var(--gd-paper); color: var(--gd-ink); }
.videos-page .video-card-link:hover .video-card-play { background: var(--gd-ink); color: var(--gd-paper); }
.videos-page .video-modal { background: #302118e6; }
.blog-page .blog-card { padding-bottom: 22px; border-bottom: 1px solid var(--gd-line); }
.blog-page .blog-card h3 { font-family: var(--gd-body); font-weight: 400; line-height: 1.3; color: var(--gd-ink); }
.blog-page .blog-card-body > p, .blog-page .blog-prose { color: var(--gd-text); }
.blog-page .blog-meta > span:first-child, .blog-page .blog-meta > a { color: var(--gd-text); }
.blog-page .blog-cta, .blog-page .blog-sidebar-contact { background: var(--gd-sand); border: 0; border-radius: 0; }
.blog-page .blog-cta > a, .blog-page .blog-sidebar-contact > a { background: var(--gd-ink); border-radius: 3px; }
.blog-page .blog-cta > a:hover, .blog-page .blog-sidebar-contact > a:hover { background: var(--gd-hover); }
body .nyfybox a { border-radius: 2px; }
body .nyfybox.nyfybox a.on, body .nyfybox.nyfybox a:hover { background: var(--gd-ink); border-color: var(--gd-ink); color: #fff; }

/* Contact: a single quiet surface and predictable form controls. */
.contact-page .zblxfs_titlet h2 { font-family: var(--gd-body); font-weight: 400; color: var(--gd-ink); letter-spacing: -.7px; }
.contact-page .zblxfs_titlet > span { display: none; }
.contact-page .contact-intro { color: var(--gd-text); }
.contact-page .contact-detail { border-bottom: 1px solid var(--gd-line); }
.contact-page .contact-detail dt, .contact-page .contact-icon { color: var(--gd-ink); }
.contact-page .lybd { background: var(--gd-sand); border: 0; border-radius: 0; padding: 34px; }
.contact-page .lybd_ctbdl_item, .contact-page .lybd_ctbdr { background: var(--gd-white); border: 1px solid var(--gd-line); border-radius: 2px; }
.contact-page .lybd_ctbdl_itemr input, .contact-page .lybd_ctbdrb_tep { background: var(--gd-white); color: var(--gd-ink); }
.contact-page .lybd_ctbdl_item:focus-within, .contact-page .lybd_ctbdr:focus-within { border-color: var(--gd-ink); box-shadow: none; }
.contact-page .lybd_ctbdl_itemr input:focus, .contact-page .lybd_ctbdrb_tep:focus { outline: none; box-shadow: none; }
.contact-page .inquiry-captcha input:focus { outline: none; box-shadow: none; border-color: var(--gd-ink); }
.contact-page .lybd_ctbdb > input { background: var(--gd-ink); border-radius: 3px; font-size: 16px; }
.contact-page .lybd_ctbdb > input:hover { background: var(--gd-hover); }
.contact-page .lybd_ctbdb > .lybd_ctbdbcz { background: transparent; color: var(--gd-ink); border: 1px solid var(--gd-ink); }
.contact-page .lybd_ctbdb > .lybd_ctbdbcz:hover { background: var(--gd-paper); }

/* Footer: one continuous cream surface, with no floating contact panel. */
body .foot { background: var(--gd-sand); border: 0; margin-top: 80px; }
.foot .foot_title { background: transparent; border: 0; border-bottom: 1px solid var(--gd-line); border-radius: 0; box-shadow: none; transform: none; padding: 14px 0; }
.foot .foot_title_itemi i { color: var(--gd-ink); font-size: 28px; }
.foot .foot_title_itemtxt p { color: var(--gd-ink); font: 18px/1.4 var(--gd-body); }
.foot .foot_title_itemtxt span { color: var(--gd-text); font: 13px/1.5 var(--gd-body); }
.foot .foot_title > a::after { background: var(--gd-line); }
.foot .foot_title > a { background: transparent; border-color: var(--gd-line); padding-top: 22px; padding-bottom: 22px; }
.foot .foot_title > a:hover { background: transparent; }
.foot .foot_title > a:hover .foot_title_itemi, .foot .foot_title > a:hover .foot_title_itemtxt { transform: none; }
.foot .foot_ct { padding-top: 46px; padding-bottom: 42px; }
.foot .foot_ctbox_itemtit > a, .foot .foot_ctbox .foot_ctbox_itemtit > a:hover { color: var(--gd-ink); font-family: var(--gd-body); font-weight: 400; }
.foot .foot_ctbox_itemct .foot_ctbox_itemcta { color: var(--gd-text); }
.foot .foot_ctbox_itemct .foot_ctbox_itemcta:hover { color: var(--gd-ink); }
.foot .foot_db { margin-top: 0; border-top: 1px solid var(--gd-line); padding: 22px 0; }
.foot .foot_db > div, .foot .foot_db > div a { padding: 0; color: var(--gd-text); }
body .mbfoot .mbfootdw { background: var(--gd-ink); border-top: 1px solid #ffffff26; box-shadow: none; }
.mbfoot .mbfootdw_item, .mbfoot .mbfootdw_item:last-child { background: transparent; }
.mbfoot .mbfootdw_itemp { font: 11px/1.4 var(--gd-body); letter-spacing: .2px; }
body .a_txt .div1 { background: #38261c99; }
body .a_txt .div3 { background: var(--gd-paper); border-top: 1px solid var(--gd-line); }
.a_txt .mblink_itematxt { color: var(--gd-ink); font: 22px/1.4 var(--gd-body); }
.a_txt .mobile-product-title { color: var(--gd-ink); }
.a_txt .mobile-product-child { color: var(--gd-text); }
body .daotop .cndns-right-btn { background: var(--gd-ink); box-shadow: none; }
body .cndns-right { right: 12px; top: 50%; margin-top: 0; transform: translateY(-50%); background: var(--gd-paper); border: 1px solid var(--gd-line); border-radius: 2px; box-shadow: none; }
body .cndns-right .cndns-right-btn { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border-color: var(--gd-line); }
body .cndns-right .cndns-right-btn span { font-size: 18px !important; line-height: 1; color: var(--gd-ink); }
body .cndns-right .cndns-right-btn:hover { background: var(--gd-sand); }

/* Small outline icons match the quieter header and contact strip. */
.heads .headqt_email i::before, .foot .icon-email::before { content: ''; display: block; width: 24px; height: 24px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='1' fill='none' stroke='black' stroke-width='1.4'/%3E%3Cpath d='m3 5 9 8 9-8' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E") center/contain no-repeat; }
.cndns-right .meau-whatapp .iconfont { font-size: 0 !important; }
.cndns-right .meau-whatapp .iconfont::before { content: ''; display: block; width: 20px; height: 20px; background: var(--gd-ink); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 11.5a9 9 0 0 1-13.4 7.9L3 21l1.5-4.7A9 9 0 1 1 21 11.5Z' fill='none' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M8 7c-2 3 3 8 6 8l1-2-2-1-1 1-3-3 1-1Z' fill='none' stroke='black' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Responsive adjustments preserve all navigation, forms and carousel states. */
@media (min-width: 992px) {
  body .daotop { display: none !important; }
  body .container { width: 86%; max-width: 1680px; }
  body .container .container { width: 100%; }
  .products .productsbox { margin-left: -15px; margin-right: -15px; }
  .products .productsbox_lh { margin-left: 0; }
  .products .home-product-advantages .productsb_slideitem_dg + .productsb_slideitem_dg { border-left: 1px solid var(--gd-line); }
  .nycqlb .nycqlbrbox { padding-left: clamp(32px, 4.5vw, 72px); }
}
@media (max-width: 1199px) and (min-width: 768px) {
  .home-about .home-about-copy { width: 58%; }
  .home-about .home-about-visual::after { background: linear-gradient(90deg,#38261cf5,#38261cd9 42%,#38261c33 85%); }
  .home-why .home-why-panel { gap: 22px; }
}
@media (max-width: 991px) {
  .heads .headqt { gap: 2px; }
  .nycqlb .mobile-category-toggle:focus { outline-color: var(--gd-ink); box-shadow: none; }
  .nycqlb .mobile-category-toggle { background: var(--gd-sand); border-color: var(--gd-line); border-radius: 2px; color: var(--gd-ink); }
  .nycqlb .nycqlbl #product-category-tree { background: var(--gd-sand); }
  .nycqlb .nycqlbrbox { padding-left: 0; }
  .foot .foot_ct { padding: 32px 24px; }
  .foot .foot_cl { padding: 0 0 24px; }
  .foot .foot_cl .foot_cllogoimg img { width: 100px; }
  .foot .foot_cllogoimg { margin-bottom: 0; }
  .foot .foot_cllogo .txtb { margin: 0; }
  .foot .foot_ctbox_itemtit { border-bottom-color: var(--gd-line); }
  .contact-page .lybd { margin-top: 28px; }
}
@media (max-width: 767px) {
  body .bannergl .bannerglbox, body .bannergl .bannerglbox.on { min-height: 56px; height: auto; padding: 6px 12px; transform: none; }
  .bannergl .bannerglbox_lp { font-size: 12px; }
  body .products { margin-top: 42px; }
  .products .productsbox { margin-bottom: 22px; }
  .products .productsbox_lh, .products .productsbox_lh span, .news .productsbox_lh, body .rmproduct_title { font-size: 32px; letter-spacing: -.6px; }
  .products .productst_caption { min-height: 58px; font-size: 16px; padding: 12px 0 8px; }
  .products .home-product-advantages { background: transparent; padding: 10px 0 24px; margin-top: 16px; }
  .products .home-product-advantages .productsb_slideitem_dg { padding: 18px 0; }
  .products .home-product-advantages .productsb_slideitem_dg + .productsb_slideitem_dg { border-top: 1px solid var(--gd-line); }
  .products .home-product-advantages h3 { font-size: 19px; }
  .products .home-product-advantages .productsb_slideitem_dgi i { font-size: 34px; }
  body .rmproduct { padding: 42px 0; }
  body .rmproduct_title { margin-bottom: 24px; }
  .rmproduct .rmproduct_slidea_txt { font-size: 15px; padding: 12px 0 0; }
  .rmproduct .rmproduct_more { margin-top: 26px; }
  body .home-about { min-height: 0; padding: 250px 0 42px; background: #38261c; }
  .home-about .home-about-visual { position: absolute; inset: 0 0 auto; width: 100%; height: 460px; }
  .home-about .home-about-visual img { height: 100%; object-fit: cover; object-position: 70% center; }
  .home-about .home-about-visual::after { background: linear-gradient(180deg,rgba(56,38,28,.03) 8%,rgba(56,38,28,.22) 35%,#38261c 92%); }
  .home-about .home-about-inner { width: calc(100% - 48px); margin: 0 auto; }
  .home-about .home-about-copy { width: 100%; max-width: none; padding: 0; }
  .home-about .home-section-eyebrow { font-size: 10px; letter-spacing: 1.4px; margin-bottom: 14px; }
  .home-about h2 { font-size: 42px; margin-bottom: 22px; }
  .home-about .home-about-note { font-size: 15px; line-height: 1.75; }
  .home-about .home-about-actions { flex-direction: row; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
  .home-about .home-company-button, .home-about .home-company-secondary { padding: 14px 17px; gap: 12px; font-size: 13px; }
  body .home-company-stats { padding: 36px 0; width: calc(100% - 40px); gap: 28px 0; }
  .home-company-stats strong { font-size: 34px; }
  .home-company-stats span { font-size: 12px; }
  body .home-why { padding: 44px 0; }
  .home-why .home-why-layout { width: calc(100% - 48px); gap: 24px; }
  .home-why h2 { font-size: 32px; }
  .home-why .home-why-tabs button { font-size: 14px; padding-left: 12px; min-height: 52px; }
  .home-why .home-why-tabs button::before { top: 15px; bottom: 15px; }
  .home-why .home-why-panel { grid-template-columns: 1fr; min-height: 0; gap: 26px; }
  .home-why .home-why-copy { padding: 0; min-height: 0; }
  .home-why h3 { font-size: 28px; }
  .home-why .home-why-note { font-size: 15px; margin-bottom: 22px; }
  .home-why .home-why-kicker { margin-bottom: 20px; }
  .home-why .home-why-photo { height: auto; }
  .home-why .home-why-photo img { position: static; height: auto; object-fit: contain; }
  body .news { padding-top: 42px; }
  .news .newsct { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .news .newsct_l, .news .newsct_r { padding: 0; }
  .news .newsct_limg { margin-bottom: 16px; aspect-ratio: 8/5; }
  .news .newsct_lh { font-size: 23px; }
  .news .newsct_lp { font-size: 15px; }
  .news .newsct_r { margin-top: 30px; }
  .news .newsct_r .newsct_ritem { min-height: 0; padding: 22px 0; }
  .news .newsct_ritembox_titleh { font-size: 21px; }
  .news .newsct_ritembox_title { gap: 8px; }
  .nycqlb .nycqlbrbox_titleth { font-size: 30px; }
  .nycqlb .nycqlbrbox_ctatxtct { font-size: 15px; }
  body .nbcpxq { background: var(--gd-sand); }
.nbcpxq .nbcpxqboxr_titleh { font-size: 32px; font-size: 30px; line-height: 1.2; }
  .blog-page .blog-card h3 { font-size: 24px; }
  .contact-page .lybd { padding: 24px 18px; }
  .contact-page .lybd .lybd_ctbdl_item { padding-left: 12px; padding-right: 12px; }
  .contact-page .lybd_ctbdl_itemr input, .contact-page .lybd_ctbdrb_tep { font-size: 16px; }
  body .foot { margin-top: 48px; }
  .foot .foot_title { padding: 12px 0; }
  .foot .foot_title > a { padding: 18px 0; }
  .foot .foot_title_itemi i { font-size: 25px; }
  .foot .foot_title_itemtxt p { font-size: 17px; }
  .foot .foot_title_itemtxt { margin-left: 16px; }
  .foot .foot_ct { padding: 30px 24px 24px; }
  .foot .foot_db { padding: 20px 24px; }
}
@media (max-width: 359px) {
  .home-about .home-about-inner, .home-why .home-why-layout { width: calc(100% - 40px); }
  .home-about .home-about-actions { flex-direction: column; }
  .contact-page .lybd { padding: 22px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  body :is(a, button, .pic img, .product-image-scene, .blog-card-image img, .home-why-panel, .headqt_email span) { animation: none; transition: none; }
}

/* Detail polish: terracotta accents, balanced navigation and a unified gallery. */
:root { --gd-accent: #bc5635; --gd-accent-hover: #a94629; --gd-accent-soft: #f8eee7; }
body :is(a, button, input, textarea, select):focus-visible { outline-color: var(--gd-accent); }
.nycqlb .nycqlblbox_itemtitlelr { min-width: 44px; min-height: 44px; padding: 0 10px; }
.nycqlb .nycqlblbox_itemtitlelr span { width: 28px; height: 28px; color: var(--gd-text); background: transparent; border: 0; border-radius: 0; }
.nycqlb .nycqlblbox_itemtitlelr.on span { color: var(--gd-accent); background: transparent; }
.nycqlb .nycqlblbox_itemtitlelr i { font-size: 0; }
.nycqlb .nycqlblbox_itemtitlelr i::before { content: ''; display: block; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.nycqlb .nycqlblbox_itemct { padding: 8px 12px 24px; }
.nycqlb .nycqlblbox_itemct .product-category-level2,
.nycqlb .nycqlblbox_itemct .has-children > .product-category-level2 { padding: 11px 14px; border-radius: 3px; line-height: 1.5; border-left: 2px solid transparent; }
.nycqlb .nycqlblbox_itemct .product-category-level2.on,
.nycqlb .nycqlblbox_itemct .product-category-level2:hover { background: var(--gd-accent-soft); color: var(--gd-accent); border-left-color: var(--gd-accent); }
.nycqlb .product-category-branch + .product-category-branch { margin-top: 12px; }
.nycqlb .product-category-level3 { margin: 8px 0 0 16px; padding: 0 0 0 10px; border-left-color: var(--gd-line); }
.nycqlb .product-category-level3 a { padding: 10px 12px; border-radius: 3px; line-height: 1.5; }
.nycqlb .product-category-level3 a.on, .nycqlb .product-category-level3 a:hover { color: var(--gd-accent); background: var(--gd-accent-soft); }
.nycqlb .product-category-level3 a.on::before { left: -12px; top: 10px; bottom: 10px; width: 2px; background: var(--gd-accent); }
body .nyfybox { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
body .nyfybox.nyfybox > :is(a, span) { display: inline-flex; align-items: center; justify-content: center; float: none; min-width: 44px; width: auto; height: 44px; margin: 0; padding: 0 14px; border: 1px solid var(--gd-line); border-radius: 3px; background: var(--gd-white); color: var(--gd-ink); font: 14px/1 var(--gd-body); transition: background .18s, color .18s, border-color .18s; }
body .nyfybox.nyfybox > :is(:first-child, :last-child) { padding: 0 18px; font-size: 12px; letter-spacing: .6px; }
body .nyfybox.nyfybox a:hover { background: var(--gd-accent-soft); color: var(--gd-accent); border-color: #d9b8a7; }
body .nyfybox.nyfybox a.on { background: var(--gd-accent); border-color: var(--gd-accent); color: #fff; }
body .nyfybox.nyfybox .is-disabled { color: #a38d7e; background: transparent; border-color: transparent; }
body .cndns-right { padding: 4px; border: 0; border-radius: 5px; box-shadow: 0 4px 24px #49352b14; }
body .cndns-right .cndns-right-meau { background: transparent; }
body .cndns-right .cndns-right-btn { border: 0; border-radius: 4px; color: var(--gd-ink); background: transparent; }
body .cndns-right .cndns-right-btn:hover, body .cndns-right .cndns-right-btn:focus-visible { background: var(--gd-accent-soft); color: var(--gd-accent); }
body .cndns-right .cndns-right-btn:hover span { color: var(--gd-accent); }
body .cndns-right .cndns-right-btn svg, .mbfoot .mbfootdw_itemi svg { width: 21px; height: 21px; vertical-align: middle; }
body .cndns-right .meau-top { border-top: 1px solid var(--gd-line); margin-top: 4px; padding-top: 4px; }
body .cndns-right .cndns-right-btn[data-label]::after { content: attr(data-label); position: absolute; right: calc(100% + 13px); top: 50%; transform: translateY(-50%) translateX(4px); padding: 9px 13px; color: var(--gd-paper); background: var(--gd-ink); border-radius: 4px; font: 12px/1.5 var(--gd-body); white-space: nowrap; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity .15s, transform .15s; }
body .cndns-right .cndns-right-btn:is(:hover, :focus-visible)::after { opacity: 1; visibility: visible; transform: translateY(-50%); }
body .cndns-right .meau-code .cndns-right-btn::after { content: none; }
.mbfoot .mbfootdw .mbfootdw_item { flex: 1; width: auto; min-width: 0; }
.product-detail-page .nbcpxq { padding: 40px 0 44px; background: var(--gd-paper); }
.product-detail-page .nbcpxq > .container > .row { margin-left: 0; margin-right: 0; }
.product-detail-page .nbcpxqbox { display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: 64px; max-width: 1200px; margin: 0; }
.product-detail-page .nbcpxqbox > div { width: 100%; padding: 0; min-width: 0; }
.product-detail-page .nbcpxqboxl_lb { border: 0; background: white; }
.product-detail-page .nbcpxqt_slide img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.product-detail-page .nbcpxqb { margin-top: 12px; padding: 0 48px; background: transparent; }
.product-detail-page .nbcpxqb_slide { width: 56px; padding: 0 0 6px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; opacity: .65; transition: opacity .18s, border-color .18s; }
.product-detail-page .nbcpxqb_slide.swiper-slide-thumb-active { border-bottom-color: var(--gd-accent); box-shadow: none; opacity: 1; }
.product-detail-page .nbcpxqb_slide::before { display: none; }
.product-detail-page :is(.nbcpxqb_pre, .nbcpxqb_next) { top: 6px; width: 40px; height: 44px; border: 0; border-radius: 3px; background: transparent; }
.product-detail-page :is(.nbcpxqb_pre, .nbcpxqb_next) i { color: var(--gd-ink); font-size: 18px; }
.product-detail-page :is(.nbcpxqb_pre, .nbcpxqb_next):hover { background: var(--gd-accent-soft); border-color: #d9b8a7; }
.product-detail-page .nbcpxqb .swiper-button-disabled { opacity: .35; pointer-events: none; }
.product-detail-page .nbcpxqbox > .nbcpxqboxr { align-self: center; padding: 0 0 76px; }
.product-detail-page .nbcpxqboxr_title { padding-bottom: 0; margin-bottom: 20px; border: 0; align-items: center; }
.product-detail-page .nbcpxqboxr_titleh { font: 400 clamp(28px, 2.6vw, 36px)/1.2 var(--gd-body); letter-spacing: -.7px; margin: 0; }
.product-detail-page .nbcpxqboxr_titleimg { margin-left: 16px; }
.product-detail-page .nbcpxqboxr_titleimg i { color: var(--gd-text); font-size: 22px; }
.product-detail-page .flex1 { flex: none; }
.product-detail-page .product-intro { color: var(--gd-text); font-size: 16px; line-height: 1.8; margin-bottom: 24px; }
.product-detail-page .nbcpxqboxr_ct { padding: 0; margin-bottom: 24px; }
.product-detail-page .nbcpxqboxr_link { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin: 0; padding: 0; }
.product-detail-page .nbcpxqboxr_link > div { margin: 0; }
.product-detail-page .nbcpxqboxr_linka { background: var(--gd-accent); }
.product-detail-page .nbcpxqboxr_linka:hover { background: var(--gd-accent-hover); }
.product-detail-page .nbcpxqboxr_linka a { min-height: 50px; padding: 14px 28px; }
.product-detail-page .product-details-link { display: inline-flex; align-items: center; gap: 12px; min-height: 48px; font-size: 14px; border: 0; }
.product-detail-page .product-details-link:hover { color: var(--gd-accent); border-color: var(--gd-accent); }
.product-details { padding: 40px 0 48px; border-top: 1px solid var(--gd-line); background: white; scroll-margin-top: 100px; }
.product-details h2 { margin: 0 0 28px; font: 400 28px/1.2 var(--gd-body); letter-spacing: -.5px; color: var(--gd-ink); }
.product-details-content { color: var(--gd-text); font: 16px/1.8 var(--gd-body); overflow-x: auto; overflow-wrap: break-word; }
.product-details-content p { margin: 0 0 20px; }
.product-details-content :is(img, video, iframe) { max-width: 100%; }
.product-details-content img { height: auto; }
.product-details-content table { width: 100%; border-collapse: collapse; }
.product-details-content :is(td, th) { padding: 12px 16px; border: 1px solid var(--gd-line); }
.product-details-content :is(h2, h3, h4) { margin: 28px 0 16px; color: var(--gd-ink); }
.product-spec-request { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; color: var(--gd-accent); border-bottom: 1px solid #d9b8a7; font-size: 14px; }
@media (max-width: 991px) {
 .product-detail-page .nbcpxq { padding: 24px 0 36px; }
 .product-detail-page .nbcpxqbox { grid-template-columns: minmax(0, 1fr); gap: 28px; }
 .product-detail-page .nbcpxqbox > .nbcpxqboxr { padding: 0; }
 .product-detail-page .nbcpxqboxr_title { padding-bottom: 18px; margin-bottom: 20px; }
 .product-detail-page .nbcpxqboxr_titleh { font-size: 30px; }
 .product-detail-page .nbcpxqboxr_link { gap: 16px; }
 .product-detail-page .nbcpxqboxr_linka { width: auto; }
 .product-details { padding: 36px 0 42px; scroll-margin-top: 76px; }
 .product-details h2 { font-size: 25px; margin-bottom: 22px; }
 .product-details-content { font-size: 15px; }
 body .nyfybox.nyfybox > :is(a, span) { min-width: 40px; height: 44px; padding: 0 10px; }
 body .nyfybox.nyfybox > :is(:first-child, :last-child) { padding: 0 12px; }
}
@media (prefers-reduced-motion: reduce) {
 body .cndns-right .cndns-right-btn::after, body .nyfybox > a { transition: none; }
}
.product-detail-page .nbcpxqboxr_titleh { text-transform: none; }
.product-detail-page .nbcpxqboxr_linkabox span { font: 16px/1.4 var(--gd-body); }
.product-detail-page .cpmbxbox { height: auto; min-height: 56px; gap: 24px; align-items: center; padding-top: 12px; padding-bottom: 12px; }
.product-detail-page .cpmbxboxnav { flex-wrap: wrap; white-space: normal; overflow: visible; min-width: 0; gap: 5px 0; font-size: 12px; line-height: 1.6; }
.product-detail-page .cpmbxboxnav a { flex-shrink: 1; font-size: 12px; }
.product-detail-page .cpmbxboxnav i { margin: 0 8px; }
.product-detail-page .cpmbxboxfh { flex: 0 0 auto; }
.product-detail-page .cpmbxboxfh .cpmbxboxfha { width: auto; min-height: 40px; padding: 0 0 0 20px; border-left: 1px solid var(--gd-line); background: transparent; font-size: 13px; }
.product-detail-page .cpmbxboxfha :is(i, span) { color: var(--gd-ink); }
@media (max-width: 767px) {
 .product-detail-page .cpmbxbox { gap: 10px; }
 .product-detail-page .cpmbxboxfh { display: none; }
}
body .cndns-right { bottom: auto; height: auto; opacity: 1; }
.mbfoot .mbfootdw_itemi { color: var(--gd-paper); }
.product-detail-page .rmproduct { margin-top: 0; }
.product-detail-page .foot { margin-top: 0; border-top: 1px solid var(--gd-line); }

/* Shared action hierarchy: solid primary actions, quiet text links and clean icon controls. */
body :is(.banner_boxtxta_box, .company-cta a, .blog-cta > a, .blog-sidebar-contact > a, .nbcpxqboxr_linkabox, .lybd_ctbdb > input) {
  min-height: 48px; border: 0; border-radius: 3px; box-shadow: none; font: 14px/1.4 var(--gd-body); letter-spacing: .1px; transition: background-color .18s, color .18s;
}
body :is(.company-cta a, .blog-cta > a, .blog-sidebar-contact > a, .lybd_ctbdb > input) { padding: 14px 24px; }
.product-detail-page .nbcpxqboxr_linka, .product-detail-page .nbcpxqboxr_linka a { border: 0; border-radius: 3px; }
.product-detail-page .nbcpxqboxr_linka a { padding: 14px 24px; min-height: 48px; }
.product-detail-page .nbcpxqboxr_linkabox :is(span, i) { font-size: 14px; }
.contact-page .lybd_ctbdb > .lybd_ctbdbcz { border: 0; background: transparent; color: var(--gd-text); }
.contact-page .lybd_ctbdb > .lybd_ctbdbcz:hover { color: var(--gd-accent); background: transparent; }
.contact-page .inquiry-captcha button { border: 0; border-radius: 0; padding: 4px; }
.products .productsbox_ra::before { display: none; }
.products .productst_slidedwbox { display: flex; align-items: flex-end; padding: 28px 32px; text-align: left; transform: none; }
.products .productst_slidedwboxbig { height: auto; align-items: flex-start; justify-content: flex-end; }
.products .productst_slidedwbox_h { margin: 0 0 10px; padding: 0; font: 400 clamp(22px, 2vw, 28px)/1.25 var(--gd-body); letter-spacing: -.4px; }
.products .productst_slidedwbox_p { max-width: 390px; font: 15px/1.65 var(--gd-body); color: #f4e9df; }
.products .productst_slidedwbox_a::after { content: '↗'; font-size: 19px; transition: transform .18s; }
.products .productst_slidedwbox_a:hover::after { transform: translate(2px, -2px); }
.products .productst_slidea:focus-visible .productst_slidedw { opacity: 1; }
.products .productst_slidea:focus-visible { outline-offset: -3px; }
.products .productst_slide .productst_slidea:hover img { transform: scale(1.025); }
body .nyfybox.nyfybox > :is(a, span) { border: 0; background: var(--gd-sand); }
body .nyfybox.nyfybox a.on { background: var(--gd-accent); color: white; }
body .nyfybox.nyfybox a:hover { background: var(--gd-accent-soft); color: var(--gd-accent); }
body .nyfybox.nyfybox a.on:hover { background: var(--gd-accent-hover); color: white; }
body .nyfybox.nyfybox .is-disabled { background: transparent; }
.product-detail-page .nbcpxqb_slide:hover { opacity: 1; }
.product-detail-page .product-intro p { margin: 0; }
.product-detail-page .product-intro { max-width: 400px; line-height: 1.7; }
.product-detail-page .rmproduct { padding: 48px 0; }
.product-detail-page .rmproduct_title { font-size: 30px; margin-bottom: 24px; }
@media (min-width: 768px) and (max-width: 991px) {
 .product-detail-page .nbcpxqbox { grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 32px; }
 .product-detail-page .nbcpxqbox > .nbcpxqboxr { padding-bottom: 76px; }
 .product-detail-page .nbcpxqboxr_titleh { font-size: 28px; }
 .product-detail-page .nbcpxqboxr_link { gap: 8px 16px; }
 .product-detail-page .nbcpxqboxr_title { border: 0; padding: 0; }
}
@media (max-width: 767px) {
 .product-detail-page .nbcpxqbox { gap: 22px; }
 .product-detail-page .nbcpxqboxl { max-width: 380px; margin: 0; }
 .product-detail-page .nbcpxqbox > .nbcpxqboxr { padding: 0; }
 .product-detail-page .nbcpxqboxr_title { padding: 0; margin-bottom: 14px; }
 .product-detail-page .nbcpxqboxr_titleh { font-size: 27px; }
 .product-detail-page .product-intro { margin-bottom: 20px; font-size: 15px; }
 .product-detail-page .nbcpxqboxr_link { gap: 20px; }
 .product-detail-page .rmproduct { padding: 36px 0; }
 .product-detail-page .rmproduct_title { font-size: 27px; }
 .products .productst_slidedwbox { padding: 20px; }
 .products .productst_slidedwbox_h { font-size: 22px; }
 .products .productst_slidedwbox_p { font-size: 14px; }
 .home-about .home-company-button { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
 body :is(.banner_boxtxta_box, .company-cta a, .blog-cta > a, .blog-sidebar-contact > a, .nbcpxqboxr_linkabox, .lybd_ctbdb > input, .nbcpxqb_slide, .productst_slidedwbox_a)::after,
 body :is(.banner_boxtxta_box, .company-cta a, .blog-cta > a, .blog-sidebar-contact > a, .nbcpxqboxr_linkabox, .lybd_ctbdb > input, .nbcpxqb_slide) { transition: none; }
}
.contact-page .lybd_ctbdb { display: flex; align-items: center; gap: 20px; }
.contact-page .lybd_ctbdb > input { width: auto; min-width: 140px; height: 48px; padding: 12px 24px; margin: 0; }
.contact-page .lybd_ctbdb > .lybd_ctbdbcz { min-width: 0; padding: 12px; }
.contact-page .contact-map .contact-map-directions { border: 0; box-shadow: none; color: var(--gd-ink); min-height: 44px; font: 14px/1.4 var(--gd-body); }
/* Page sections already provide their own closing space. */
body:is(.blog-page, .company-page, .contact-page, .videos-page, .company-gallery-page) .foot { margin-top: 0; }
.company-page .foot { border-top: 1px solid var(--gd-line); }
.product-detail-page :is(.nbcpxqb_pre, .nbcpxqb_next) { width: 44px; }
@media (max-width: 991px) {
 .product-detail-page .cpmbxboxfh { display: none; }
}

/* Product and journal sharing use the same compact, accessible controls. */
.detail-share { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--gd-line); }
.detail-share-label { margin: 0 0 10px; color: var(--gd-text); font: 12px/1.5 var(--gd-body); }
.detail-share-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.detail-share-actions > :is(button, a), .detail-share-qr-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 10px 12px; margin: 0; border: 0; border-radius: 3px; background: var(--gd-sand); color: var(--gd-ink); cursor: pointer; font: 13px/1.4 var(--gd-body); text-decoration: none; }
.detail-share-actions > :is(button, a):hover, .detail-share-qr-toggle:hover { background: var(--gd-accent-soft); color: var(--gd-accent); }
.detail-share-actions > button:disabled { opacity: .6; cursor: wait; }
.detail-share-actions svg { flex: none; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.detail-share-status { min-height: 20px; margin: 8px 0 0; color: var(--gd-ink); font: 13px/1.5 var(--gd-body); }
.detail-share-manual { width: 100%; padding: 10px; border: 1px solid var(--gd-line); background: white; color: var(--gd-ink); font-size: 16px; }
.detail-share-manual[hidden] { display: none; }

.blog-article > .detail-share { margin: 18px 0 24px; padding: 0; border: 0; }
.detail-share-qr-wrap { position: relative; }
.detail-share-qr-popup { position: absolute; left: 0; top: calc(100% + 10px); z-index: 40; width: 264px; max-width: calc(100vw - 24px); padding: 20px; border: 1px solid var(--gd-line); border-radius: 6px; background: #fff; color: var(--gd-ink); box-shadow: 0 8px 28px #49352b24; text-align: center; }
.detail-share-qr-popup[hidden] { display: none; }
.detail-share-qr-title { margin: 0 20px 8px; font: 16px/1.5 var(--gd-body); }
.detail-share-qr-code { width: 224px; max-width: 100%; padding: 16px; background: #fff; }
.detail-share-qr-code canvas { display: block; width: 192px; height: auto; max-width: 100%; }
.detail-share-qr-help { margin: 8px 0 0; color: var(--gd-text); font: 13px/1.5 var(--gd-body); }
.detail-share-qr-close { position: absolute; top: 0; right: 0; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; color: var(--gd-text); font: 24px/1 var(--gd-body); cursor: pointer; }
.detail-share-qr-close:hover { color: var(--gd-accent); }

/* Logo lockups and footer contact icons share a quieter, consistent visual rhythm. */
.heads .headlogo_boxtxt { display: flex; flex-direction: column; margin: 0 0 0 12px; }
.brand-wordmark { display: block; color: var(--gd-ink); font: 600 25px/1.15 var(--gd-body); letter-spacing: -.7px; white-space: nowrap; }
.brand-wordmark > span { font-weight: 400; }
.brand-tagline { display: block; margin-top: 1px; color: var(--gd-text); font: 9px/1.25 var(--gd-body); letter-spacing: 2.47px; }
.heads .headlogo_boximg { flex: none; }
.heads .headlogo_boximg img { height: 60px; width: auto; }
.foot .foot_title_itemi { display: flex; align-items: center; justify-content: center; flex: none; color: var(--gd-ink); }
.foot .foot_title_itemi svg { display: block; width: 30px; height: 30px; }
.foot .foot_cllogo { display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
.foot .foot_cllogoimg { margin-bottom: 18px; }
.foot .foot_cllogoimg img { width: 112px; height: auto; }
.foot .foot-brand-name { font-size: 30px; }
.foot .brand-tagline { font-size: 11px; letter-spacing: 2.93px; }
.foot .foot_cllogo .txtb { margin: 16px 0 0; max-width: 280px; color: var(--gd-text); font: 14px/1.7 var(--gd-body); }
.footer-social { display: flex; flex-wrap: nowrap; gap: 10px; width: max-content; max-width: 100%; margin-top: 22px; }
.footer-social > :is(a, button) { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid var(--gd-line); border-radius: 50%; background: #fff; color: var(--gd-ink); transition: background .18s, color .18s; }
.footer-social svg { width: 19px; height: 19px; }
.footer-social > a:hover { color: #fff; background: var(--gd-ink); border-color: var(--gd-ink); }
.footer-social > button:disabled { opacity: .55; cursor: default; }
@media (min-width: 993px) and (max-width: 1199px) {
 .heads .headlogo_boximg img { height: 46px; }
 .heads .headlogo_boxtxt { margin-left: 8px; }
 .heads .brand-wordmark { font-size: 20px; }
 .heads .brand-tagline { font-size: 8px; letter-spacing: 1.445px; }
}
@media (max-width: 992px) {
 .heads .headlogo_boximg img { height: 40px; }
 .heads .headlogo_boxtxt { display: flex; margin-left: 8px; }
 .heads .brand-wordmark { font-size: 20px; }
 .heads .brand-tagline { font-size: 7px; letter-spacing: 2.015px; }
 .foot .foot_cllogoimg { margin-bottom: 14px; }
 .foot .foot_title_itemi svg { width: 27px; height: 27px; }
}
@media (max-width: 380px) {
 .heads .headlogo_boximg img { height: 32px; }
 .heads .headlogo_boxtxt { margin-left: 6px; }
 .heads .brand-wordmark { font-size: 16px; }
 .heads .brand-tagline { font-size: 6px; letter-spacing: 1.305px; }
 .heads .headqt { gap: 0; }
}

/* Solid calls to action keep readable labels in every interaction state. */
body :is(.banner_boxtxta_box, .company-cta a, .blog-cta > a, .blog-sidebar-contact > a, .nbcpxqboxr_linkabox),
body :is(.banner_boxtxta_box, .company-cta a, .blog-cta > a, .blog-sidebar-contact > a, .nbcpxqboxr_linkabox):is(:hover, :focus-visible, :active) { color: #fff; }
body :is(.banner_boxtxta_box, .company-cta a, .blog-cta > a, .blog-sidebar-contact > a, .nbcpxqboxr_linkabox) :is(span, i) { color: inherit; }
@media (min-width: 992px) {
 .blog-detail-layout > .blog-sidebar { position: sticky; top: var(--blog-sidebar-top, 104px); align-self: start; margin-top: 48px; padding-top: 0; }
}
/* Darker accent text keeps small labels legible on the pale hover surface. */
.detail-share-actions > :is(button, a):is(:hover, :focus-visible), .detail-share-qr-toggle:is(:hover, :focus-visible),
.contact-page .lybd_ctbdb > .lybd_ctbdbcz:is(:hover, :focus-visible),
.rmproduct .rmproduct_more > a:is(:hover, :focus-visible),
.product-detail-page .product-details-link:is(:hover, :focus-visible),
.nycqlb .product-category-level3 a:hover, .nycqlb .nycqlblbox_itemct .product-category-level2:hover { color: var(--gd-accent-hover); }
body .nyfybox.nyfybox a:hover { color: var(--gd-accent-hover); }

/* Standard editor elements receive their presentation automatically. */
.product-details-content :is(h3, h4) { font-weight: 400; line-height: 1.35; }
.product-details-content h3 { font-size: 26px; }
.product-details-content h4 { font-size: 20px; }
.product-details-content p { font: inherit; }
.product-details-content > :first-child { margin-top: 0; }
.product-details-content :is(ul, ol) { padding-left: 24px; margin: 0 0 24px; }
.product-details-content ul { list-style: disc; }
.product-details-content ol { list-style: decimal; }
.product-details-content li { margin-bottom: 10px; }
.product-details-content img { display: block; max-width: min(100%, 640px); height: auto !important; margin: 24px auto; border-radius: 4px; }
.product-details-content blockquote { margin: 24px 0; padding: 12px 20px; border-left: 3px solid var(--gd-line); background: var(--gd-paper); }
.product-details-content a { color: var(--gd-accent-hover); text-decoration: underline; text-underline-offset: 3px; }

/* A continuous pale-yellow product page, with editable detail copy on a white card. */
body.product-detail-page { --gd-product-background: #faf6ec; background: var(--gd-product-background); }
.product-detail-page :is(.cpmbx, .nbcpxq, .product-details, .rmproduct) { background: var(--gd-product-background); }
.product-detail-page .product-details { border-top: 0; padding-top: 16px; padding-bottom: 0; }
.product-detail-page .product-details-content { padding: clamp(24px, 3.5vw, 48px); background: #fff; border-radius: 14px; }
.product-detail-page .product-details-content > :last-child { margin-bottom: 0; }
@media (max-width: 767px) {
 .product-detail-page .product-details-content { padding: 24px 20px; border-radius: 12px; }
}

/* Product composition: a unified product card and a compact category directory. */
.product-detail-page .product-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) clamp(240px, 19vw, 300px); gap: clamp(28px, 3vw, 48px); width: 86%; max-width: 1680px; padding: 36px 15px 0; align-items: start; }
.product-detail-main { grid-column: 1; grid-row: 1; min-width: 0; background: #fff; border-radius: 14px; margin-bottom: 48px; }
.product-detail-categories { grid-column: 2; grid-row: 1; min-width: 0; position: sticky; top: 104px; max-height: calc(100dvh - 128px); overflow-y: auto; scrollbar-width: thin; scrollbar-color: #cdbba5 transparent; padding: 26px 22px 20px; background: var(--gd-product-background); border: 0; border-radius: 0; }
.product-category-eyebrow { margin: 0 0 9px; color: #8b715b; font: 10px/1.5 var(--gd-body); letter-spacing: 1.6px; }
.product-category-heading { margin: 0 0 18px; font: 400 21px/1.3 var(--gd-body); color: var(--gd-ink); }
.product-detail-categories .nycqlbl { display: block; width: 100%; max-width: none; margin: 0; padding: 0; border: 0; background: transparent; }
.product-detail-categories .nycqlbldw { display: none; }
.product-detail-categories .nycqlblbox_item { border: 0; }
.product-detail-categories .nycqlblbox_itemtitle { min-height: 56px; height: auto; align-items: center; gap: 8px; }
.product-detail-categories .nycqlblbox_itemtitlel { min-width: 0; padding: 15px 0; }
.product-detail-categories .nycqlblbox_itemtitlel span { display: block; color: var(--gd-ink); font: 400 15px/1.4 var(--gd-body); -webkit-line-clamp: unset; overflow: visible; text-overflow: clip; white-space: normal; transform: none; }
.product-detail-categories .nycqlblbox_itemtitlel.on span { font-weight: 600; }
.product-detail-categories .nycqlbl .nycqlblbox_itemtitlelr { padding: 0; width: 28px; height: 44px; justify-content: center; color: #8b715b; }
.product-detail-categories .nycqlblbox_itemtitlelr i { display: none; }
.product-detail-categories .nycqlblbox_itemtitlelr span::before, .product-category-branch-toggle span { content: ''; display: block; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.product-detail-categories .nycqlblbox_itemtitlelr.on1 span { transform: rotate(-90deg); }
.product-detail-categories .nycqlblbox_itemtitlelr.on span { transform: rotate(0); }
.product-detail-categories .nycqlbl .nycqlblbox_itemct { padding: 0 0 14px; }
.product-detail-categories .product-category-branch + .product-category-branch { margin-top: 2px; }
.product-category-branch-heading { display: flex; align-items: center; gap: 6px; }
.product-detail-categories .product-category-level2 { flex: 1; padding: 11px 10px; color: #715e4d; font: 400 14px/1.45 var(--gd-body); border-radius: 6px; }
.product-detail-categories .has-children .product-category-level2 { padding: 11px 10px; }
.product-detail-categories .product-category-level2.in-path { color: var(--gd-ink); }
.product-category-branch-toggle { flex: none; display: grid; place-items: center; width: 28px; height: 40px; padding: 0; border: 0; background: transparent; color: #8b715b; cursor: pointer; }
.product-category-branch-toggle span { transform: rotate(-45deg); }
.product-category-branch-toggle[aria-expanded="true"] span { transform: rotate(45deg); }
.product-detail-categories .product-category-level3 { margin: 2px 0 8px 10px; padding: 0 0 0 10px; border-color: #d3c3af; }
.product-detail-categories .product-category-level3 a { padding: 10px; border-radius: 6px; font: 400 13px/1.5 var(--gd-body); color: #715e4d; }
.product-detail-categories .product-category-level3 a.on, .product-detail-categories .product-category-level2.on { color: var(--gd-accent-hover); background: #fffaf3; font-weight: 600; }
.product-detail-categories .product-category-level3 a.on::before { left: -12px; background: var(--gd-accent); }
.product-detail-categories :is(.product-category-level2, .product-category-level3 a):hover { background: #fffaf3; color: var(--gd-accent-hover); }
.product-categories-all { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin-top: 16px; color: var(--gd-ink); font: 13px/1.5 var(--gd-body); }
.product-categories-all span { font-size: 18px; }
.product-detail-main :is(.nbcpxq, .product-details, .rmproduct) > .container { width: 100%; max-width: none; padding-left: 0; padding-right: 0; }
.product-detail-main .nbcpxq { background: #fff; border-radius: 14px 14px 0 0; padding: clamp(20px, 2vw, 32px); margin-bottom: 0; }
.product-detail-main .nbcpxqbox { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(20px, 2vw, 36px); max-width: none; }
.product-detail-main .nbcpxqbox > .nbcpxqboxr { align-self: center; padding: 0; }
.product-detail-main .nbcpxqboxl_lb { border-radius: 8px; }
.product-detail-main .nbcpxqboxr_title { padding: 0; margin-bottom: 20px; }
.product-detail-main .nbcpxqboxr_titleh { font: 400 clamp(25px, 2.2vw, 34px)/1.18 var(--gd-body); letter-spacing: -.6px; word-break: normal; overflow-wrap: normal; text-wrap: balance; }
.product-detail-main .nbcpxqboxr_titleimg { display: none; }
.product-detail-main .product-intro { max-width: none; margin-bottom: 26px; color: #766452; font-size: 15px; line-height: 1.75; }
.product-detail-main .nbcpxqboxr_link { gap: 12px 20px; }
.product-detail-main .nbcpxqboxr_linka a { padding: 13px 22px; border-radius: 5px; }
.product-detail-main .product-details-link { font-size: 12px; gap: 8px; }
.product-detail-main .detail-share { margin-top: 24px; padding-top: 18px; }
.product-detail-main .detail-share-label { font-size: 11px; }
.product-detail-main .detail-share-actions { gap: 6px; }
.product-detail-main .detail-share-actions > :is(button, a), .product-detail-main .detail-share-qr-toggle { padding: 8px; min-height: 40px; font-size: 11px; border: 1px solid #e7ded2; background: #fff; border-radius: 5px; }
.product-detail-main .detail-share-actions > :is(button, a):hover, .product-detail-main .detail-share-qr-toggle:hover { background: var(--gd-accent-soft); }
.product-detail-main .detail-share-actions svg { width: 15px; height: 15px; }
.product-detail-main .nbcpxqb { padding: 0 32px; margin-top: 16px; }
.product-detail-main .nbcpxqb_slide { width: 50px; }
.product-detail-main :is(.nbcpxqb_pre, .nbcpxqb_next) { width: 28px; }
.product-detail-main .product-details { background: transparent; padding: 20px clamp(20px, 2vw, 32px) clamp(24px, 3vw, 44px); border-radius: 0; }
.product-detail-main .product-details > .container > h2 { font-size: 24px; margin-bottom: 18px; }
.product-detail-main .product-details-content { padding: 0; border-radius: 0; background: transparent; }
.product-detail-main .product-details-content h3 { font-size: 23px; }
.product-detail-main .product-details-content h4 { font-size: 18px; }
.product-detail-main .product-details-content { font-size: 15px; line-height: 1.85; }
.product-detail-main :is(.rmproduct_box, .rmproduct_title) { margin-left: 0; margin-right: 0; }
.product-detail-main .rmproduct_title { font-size: 24px; }
@media (min-width: 1200px) {
 .product-detail-categories .mobile-category-toggle { display: none; }
 .product-detail-categories #product-category-tree { display: block; }
}
@media (max-width: 1199px) {
 .product-detail-page .product-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 24px; }
 .product-detail-categories { grid-column: 1; grid-row: 1; position: static; max-height: none; overflow: visible; padding: 0; }
 .product-category-eyebrow, .product-category-heading, .product-categories-all { display: none; }
 .product-detail-main { grid-column: 1; grid-row: 2; }
 .product-detail-categories .mobile-category-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 12px 18px; border: 0; border-radius: 0; background: var(--gd-product-background); color: var(--gd-ink); font: 15px/1.4 var(--gd-body); }
 .product-detail-categories .mobile-category-toggle span { font-size: 22px; }
 .product-detail-categories .nycqlbl #product-category-tree { display: none; padding: 8px 18px 16px; }
 .product-detail-categories .nycqlbl #product-category-tree.is-expanded { display: block; }
}
@media (max-width: 767px) {
 .product-detail-page .product-detail-layout { width: 100%; padding-left: 24px; padding-right: 24px; gap: 20px; }
 .product-detail-main .nbcpxq { padding: 18px; margin-bottom: 0; }
 .product-detail-main .nbcpxqbox { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .product-detail-main .nbcpxqboxl { max-width: none; }
 .product-detail-main .nbcpxqboxr_titleh { font-size: 28px; text-wrap: initial; }
 .product-detail-main .product-details { padding: 20px 18px 28px; }
 .product-detail-main .product-details-content { padding: 0; }
 .product-detail-main .nbcpxqboxr_link { gap: 12px; }
}

/* Related products continue the same white surface as the overview and details. */
.product-detail-main .rmproduct { background: transparent; margin: 0; padding: 12px clamp(20px, 2vw, 32px) 32px; }
@media (max-width: 767px) {
 .product-detail-main { margin-bottom: 28px; }
 .product-detail-main .rmproduct { padding: 12px 18px 24px; }
}

/* Product overview: main content and contact actions, matching the reference. */
.product-detail-main .nbcpxqbox > .nbcpxqboxr { align-self: start; }
.product-detail-main .nbcpxqboxr_title { display: flex; align-items: flex-start; gap: 14px; padding: 8px 0 18px; margin-bottom: 22px; border-bottom: 1px solid #ddd; }
.product-detail-main .nbcpxqboxr_titleh { flex: 1; min-width: 0; color: #333; font-size: clamp(24px, 1.8vw, 30px); font-weight: 700; line-height: 1.3; letter-spacing: 0; text-wrap: initial; }
.product-detail-main .product-rich-content { max-width: none; margin: 0 0 24px; color: #777; font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.product-detail-main .product-rich-content p { margin: 0 0 20px; }
.product-detail-main .product-rich-content > :last-child { margin-bottom: 0; }
.product-rich-content :is(img, video, iframe) { max-width: 100%; }
.product-rich-content img { height: auto !important; }
.product-rich-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.product-rich-content :is(td, th) { padding: 8px; border: 1px solid #ddd; }
.product-rich-content :is(ul, ol) { padding-left: 24px; margin-bottom: 20px; }
.product-rich-content ul { list-style: disc; }
.product-rich-content ol { list-style: decimal; }
.product-rich-content :is(h2, h3, h4) { margin: 20px 0 12px; font-weight: 600; line-height: 1.4; }
.product-contact-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(10px, 1.5vw, 30px); }
.product-contact-actions .product-contact-button { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 48px; padding: 12px 8px; border: 0; border-radius: 0; color: #fff; font: 700 16px/1.4 var(--gd-body); text-decoration: none; cursor: pointer; }
.product-contact-actions .product-contact-button i { color: inherit; font-size: 20px; line-height: 1; }
.product-contact-actions .product-contact-inquiry { --contact-background: var(--gd-accent); background: var(--contact-background); }
.product-contact-actions .product-contact-wechat { --contact-background: #409b6a; background: var(--contact-background); color: #fff; }
.product-contact-actions .product-contact-email { --contact-background: var(--gd-ink); background: var(--contact-background); }
.product-contact-actions .product-contact-inquiry:hover { --contact-background: var(--gd-accent-hover); color: #fff; }
.product-contact-actions .product-contact-wechat:hover { --contact-background: #35865b; color: #fff; }
.product-contact-actions .product-contact-email:hover { --contact-background: var(--gd-hover); color: #fff; }
.product-contact-button svg .product-contact-icon-cutout { fill: var(--contact-background); }
.product-qr { position: relative; min-width: 0; }
.product-qr summary { list-style: none; }
.product-qr summary::-webkit-details-marker { display: none; }
.product-page-qr { flex: 0 0 32px; }
.product-page-qr > summary { display: grid; place-items: center; width: 32px; height: 36px; cursor: pointer; color: #111; }
.product-page-qr > summary i { font-size: 26px; }
.product-qr-popup { position: absolute; z-index: 50; right: 0; top: calc(100% + 10px); width: 214px; max-width: calc(100vw - 40px); padding: 20px; border: 1px solid #ddd; background: #fff; box-shadow: 0 8px 28px #0002; text-align: center; }
.product-wechat .product-qr-popup { left: 50%; right: auto; transform: translateX(-50%); width: 160px; padding: 8px; }
.product-wechat .product-qr-popup img { width: 100%; }
.product-qr-popup :is(img, canvas) { display: block; max-width: 100%; height: auto; margin: auto; }
.product-qr-popup p { margin: 12px 0 0; color: #666; font: 13px/1.5 var(--gd-body); }
.product-contact-button:focus-visible, .product-qr summary:focus-visible { outline: 2px solid var(--gd-ink); outline-offset: 3px; }
@media (max-width: 767px) {
 .product-detail-main .nbcpxqboxr_titleh { font-size: 24px; }
 .product-contact-actions { gap: 8px; }
 .product-contact-actions .product-contact-button { gap: 5px; padding: 12px 4px; font-size: 14px; }
 .product-contact-actions .product-contact-button i { font-size: 17px; }
}

.product-contact-button svg { width: 20px; height: 20px; flex: none; fill: currentColor; }
