/* P8: one intentional global visual layer. The P1 tokens / P2-P5 components stay authoritative. */
:root{
 --jby-width:1280px;
 --jby-readable:820px;
 --jby-gutter:clamp(20px,4.2vw,66px);
 --jby-section-space:clamp(88px,7.6vw,104px);
 --jby-ease:cubic-bezier(.22,.61,.36,1);
}
html{scroll-padding-top:calc(var(--jby-header-height) + var(--jby-admin-bar-offset) + 22px)}
body{overflow-wrap:break-word}
body :where(h1,h2,h3,h4){text-wrap:balance}
.jby-container{min-width:0}
.jby-entry-content :where(img,video,iframe){max-width:100%;height:auto}
.jby-entry-content figure{max-width:100%}
.jby-entry-content :where(h2,h3,h4){scroll-margin-top:calc(var(--jby-header-height) + var(--jby-admin-bar-offset) + 22px)}
:where(.jby-btn,.jby-header-quote,.jby-icon-button,.jby-nav-list a,.jby-quiet-link,.jby-p4-action,.jby-p3-inline-link){-webkit-tap-highlight-color:transparent}
:where(.jby-btn,.jby-header-quote,.jby-p4-action,.jby-p3-inline-link){transition:background-color var(--jby-fast) var(--jby-ease),border-color var(--jby-fast) var(--jby-ease),color var(--jby-fast) var(--jby-ease),transform var(--jby-fast) var(--jby-ease)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--jby-gold-deep);outline-offset:3px}
.jby-site-header{background:rgba(248,246,243,.985);box-shadow:0 4px 14px rgba(33,28,23,.035);backdrop-filter:saturate(120%) blur(12px)}
.jby-header-inner{gap:clamp(10px,2vw,28px)}
.jby-nav-list>li>a[aria-current=page],.jby-nav-list>li.current-menu-item>a,.jby-nav-list>li.current-menu-ancestor>a{color:var(--jby-gold-deep)}
.jby-nav-list>li>a,.jby-nav-list>li>.jby-nav-inactive{letter-spacing:.005em}
.jby-nav-list .sub-menu{top:100%;box-shadow:0 18px 40px rgba(0,0,0,.095);border-color:#e8e1d8}
.jby-nav-list .sub-menu li{min-width:0}
.jby-nav-list .sub-menu :where(a,button.jby-nav-inactive){min-height:42px;white-space:normal}
.jby-nav-list .sub-menu a:focus-visible{position:relative;outline-offset:-3px}

.jby-mobile-rfq{display:none}
.jby-search-panel{border-bottom:1px solid var(--jby-border)}
.jby-search-content{min-width:0}
.jby-p4-site-search input{border-color:#d7d0c6}
.jby-p4-site-search :where(input,button){min-height:46px}
.jby-search-links :where(a,button){min-height:41px}
.jby-hero-heading,.jby-section-head h2,.jby-footer-lead{letter-spacing:-.042em}


.jby-hero-summary{max-width:530px}
.jby-p3-module{overflow-wrap:anywhere}
.jby-p3-module :where(.jby-p3-heading,.jby-p3-intro h2){line-height:1.16;letter-spacing:-.035em}
.jby-p3-media img{height:100%;object-fit:cover}

.jby-p3-faq summary:focus-visible{outline-offset:-2px}
.jby-p3-faq-inquiry{overflow:visible;max-height:none}
.jby-p3-tablist{scroll-margin-top:calc(var(--jby-header-height) + 20px)}
.jby-p3-tablist button{min-height:42px}
.jby-p3-track{scrollbar-color:#c3b8aa transparent}
.jby-p4-card-grid,.jby-p4-product-grid{min-width:0}
.jby-p4-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.jby-p4-product-card{min-width:0;transition:box-shadow var(--jby-regular) var(--jby-ease),transform var(--jby-regular) var(--jby-ease)}
.jby-p4-product-card:hover{transform:translateY(-3px);box-shadow:0 15px 38px rgba(38,34,29,.08)}
.jby-p4-card-media img{transition:transform var(--jby-regular) var(--jby-ease)}
.jby-p4-product-card:hover .jby-p4-card-media img{transform:scale(1.025)}
.jby-p4-card-info h2{font-family:var(--jby-serif);font-size:clamp(21px,2vw,27px);letter-spacing:-.02em}
.jby-p4-card-info a{overflow-wrap:anywhere}
.jby-p4-card-info .jby-p4-text-link{display:inline-block;padding:7px 0;margin-right:12px}
.jby-p4-filters{min-width:0}
.jby-p4-filters label,.jby-p4-filters select{min-width:0}
.jby-p4-large-img{overflow:hidden}
.jby-p5-modal-dialog{border-radius:3px}
.jby-p5-modal .jby-p5-submit{min-height:46px}
.jby-footer-grid{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));column-gap:clamp(22px,3vw,54px)}
.jby-footer-grid>div{min-width:0}
.jby-footer-lead{max-width:850px}
.jby-footer-links li{margin-bottom:6px}
.jby-footer-links :where(a,button.jby-footer-inactive){display:inline-flex;align-items:center;min-height:34px;line-height:1.55}
.jby-footer-top{align-items:center;min-height:38px}

.jby-floating-top:hover,.jby-floating-top:focus-visible{background:var(--jby-gold-deep);color:#fff;transform:translateY(-2px)}
.jby-floating-top[hidden]{display:none!important}
/* Global product / module breadcrumbs also use Yoast when installed. */
.jby-p7-breadcrumbs{font-size:12px;line-height:1.8;color:var(--jby-subtle);margin-bottom:30px}
.jby-p7-breadcrumbs ol{padding:0;margin:0;list-style:none;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.jby-p7-breadcrumbs li+li:before{content:"/";color:var(--jby-gold);margin-right:9px}
.jby-p7-breadcrumbs [aria-current=page]{color:var(--jby-ink)}
.jby-p7-module-breadcrumbs{padding-top:25px}
.jby-standard-page{min-height:45vh}
.jby-standard-content{max-width:min(calc(100% - var(--jby-gutter)*2),var(--jby-readable))}
@media(min-width:1700px){:root{--jby-width:1440px;--jby-gutter:clamp(56px,4.4vw,88px)}.jby-hero-heading{font-size:clamp(66px,4.2vw,88px)}.jby-hero-grid,.jby-hero-visual{min-height:clamp(720px,77vh,900px)}.jby-footer-lead{font-size:clamp(52px,3.2vw,64px)}}
@media(max-width:1160px){.jby-header-inner{gap:10px}.jby-brand{min-width:0}.jby-nav-list{gap:12px}.jby-header-quote{padding:12px 14px;gap:8px}.jby-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}}
@media(max-width:1020px){
 .jby-primary-navigation{z-index:105;max-height:calc(100dvh - var(--jby-header-height) - var(--jby-admin-bar-offset) - 10px);overscroll-behavior:contain}
 .jby-nav-list>li>a,.jby-nav-list>li>.jby-nav-inactive{padding:14px 46px 14px 0;font-size:15px;white-space:normal}
 .jby-nav-list .sub-menu,.jby-nav-list .sub-menu .sub-menu{box-shadow:none;border:0;border-left:1px solid var(--jby-border);max-width:100%;width:100%;margin:2px 0 14px 8px;padding:0 0 0 9px}
 .jby-nav-list li.is-submenu-open>.sub-menu{visibility:visible;opacity:1;pointer-events:auto}
 .jby-nav-submenu-button{min-width:44px;min-height:44px;right:0;top:5px}
 .jby-mobile-rfq{display:flex;margin:20px 0 0;align-items:center;justify-content:center;min-height:46px;width:100%;background:var(--jby-dark);color:#fff;font-size:13px;font-weight:650}
 .jby-mobile-rfq:hover{color:#fff;background:var(--jby-gold-deep)}
 .jby-hero-grid{min-height:initial}.jby-hero-visual{min-height:550px}
 .jby-p4-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){.jby-hero-grid,.jby-hero-visual{min-height:0}.jby-hero-art-frame{min-height:420px}.jby-hero-heading{font-size:clamp(47px,8.8vw,69px)}.jby-footer-intro{gap:26px}.jby-footer-grid{padding:42px 0 52px}.jby-p3-faq-inquiry-grid{grid-template-columns:minmax(0,1fr)}.jby-p3-faq-inquiry{position:static}}
@media(max-width:580px){
 :root{--jby-gutter:20px;--jby-section-space:clamp(54px,11vw,76px)}
 .jby-header-inner{min-height:var(--jby-header-height)}
 .jby-brand-default{gap:9px}
 .jby-brand-wordmark{letter-spacing:.09em}
 .jby-announcement{padding:6px 16px}
 .jby-search-panel{max-height:calc(100dvh - var(--jby-header-height) - var(--jby-admin-bar-offset));overflow-y:auto}
 .jby-search-content{padding:22px 0 25px}
 .jby-p4-site-search{flex-wrap:wrap}
 .jby-p4-site-search input{flex:1 1 100%}
 .jby-p4-site-search button{width:100%}
 .jby-search-links{gap:11px}
 .jby-hero-visual{min-height:0}
 .jby-hero-art-frame{min-height:340px}
 .jby-hero-heading{font-size:clamp(43px,11vw,56px);overflow-wrap:anywhere}
 .jby-hero-buttons{width:100%}
 .jby-hero-buttons .jby-btn{min-height:49px}
 .jby-section-head h2{font-size:clamp(29px,8.5vw,38px)}
 .jby-p3-media{min-width:0}
 .jby-p3-cards,.jby-p3-cards-two,.jby-p3-cards-columns{grid-template-columns:1fr}
 .jby-p3-v-columns .jby-p3-faqs{grid-template-columns:1fr}
 .jby-p4-filters{grid-template-columns:1fr}
 .jby-p4-card-grid,.jby-p4-product-grid{grid-template-columns:1fr}
 .jby-p4-card-media{aspect-ratio:1.4}
 .jby-p4-card-info{padding:19px}
 .jby-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 20px}
 .jby-footer-grid>div:first-child,.jby-footer-grid>div:last-child{grid-column:1/-1}
 .jby-footer-intro{padding-bottom:30px}
 .jby-footer-lead{font-size:clamp(32px,8.5vw,44px)}
 .jby-footer-top{min-height:42px}
 .jby-floating-top{right:16px;bottom:16px;min-width:44px;min-height:44px;padding:10px 12px}
 .jby-floating-top-label{display:none}
 .jby-p5-modal-dialog{width:100%}
}
@media(max-width:365px){:root{--jby-gutter:16px}.jby-footer-grid{grid-template-columns:1fr}.jby-footer-grid>div:first-child,.jby-footer-grid>div:last-child{grid-column:auto}}
@media(hover:none){.jby-btn:hover,.jby-p4-product-card:hover,.jby-p7-article-card:hover,.jby-floating-top:hover{transform:none}}
@media(prefers-reduced-motion:reduce){:where(.jby-btn,.jby-header-quote,.jby-p4-product-card,.jby-p4-card-media img,.jby-floating-top){transition:none!important;transform:none!important}}


/* P8.1: admin-only reminder; the P1 prototype is not the published P6 business homepage. */
.jby-home-setup-notice{position:relative;z-index:2;padding:12px clamp(18px,4vw,64px);background:#f4ead9;border-bottom:1px solid #dfc9a8;color:#4c3c2a;font-size:13px;line-height:1.6}
.jby-home-setup-notice a{color:#654b2d;font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* P8.1: the P1 concept artwork is portrait (900:1250); preserve its full canvas on every display. */
.jby-hero-grid{min-height:clamp(590px,73vh,850px);
grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);min-height:0;align-items:stretch;}
.jby-hero-visual{min-height:clamp(590px,73vh,850px);
min-height:0;display:flex;align-items:center;justify-content:center;padding:clamp(20px,2.4vw,34px) clamp(14px,2vw,26px);}
.jby-hero-art-frame{flex:0 1 auto;width:min(100%,620px);aspect-ratio:900/1250;height:auto;min-height:0;overflow:hidden}
.jby-hero-art-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}
/* P8.1: FAQ answer reveal, icon feedback and truly independent two-column flows. */
/* P8.1: modern, accessible product-directory select enhancement. Native values remain form authority. */
.jby-p4-filters label,.jby-p4-filters .jby-p4-filter-field{min-width:0}
.jby-p4-filters .jby-p4-filter-field{display:grid;gap:6px;font-size:12px;color:#676b70}
.jby-p4-select-control{position:relative;display:none;min-width:0}
.jby-p4-select-enhancement .jby-p4-select-control{display:block}
.jby-p4-select-enhancement .jby-p4-native-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.jby-p4-filters .jby-p4-select-trigger{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:46px;padding:11px 13px;border:1px solid #ddd6cc;background:linear-gradient(180deg,#fff 0%,#fbfaf8 100%);color:#292b2c;text-align:left;font:inherit;font-size:14px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
.jby-p4-select-trigger:hover{border-color:#b59a78;background:#fff}
.jby-p4-select-trigger[aria-expanded=true]{border-color:#a78a65;box-shadow:0 0 0 3px rgba(167,138,101,.12);background:#fff}
.jby-p4-select-trigger svg{width:15px;height:15px;flex:none;color:#89775f;transition:transform .2s var(--jby-ease)}
.jby-p4-select-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.jby-p4-select-panel{position:absolute;z-index:80;top:calc(100% + 7px);left:0;right:0;max-height:min(300px,48vh);overflow:auto;padding:6px;background:#fff;border:1px solid #e6dfd5;box-shadow:0 18px 42px rgba(35,30,25,.14);overscroll-behavior:contain;animation:jby-select-in .16s var(--jby-ease) both}
.jby-p4-select-panel[hidden]{display:none!important}
.jby-p4-filters .jby-p4-select-option{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:40px;padding:9px 11px;border:0;border-left:2px solid transparent;background:transparent;color:#444;text-align:left;font:inherit;font-size:13px;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease}
.jby-p4-filters .jby-p4-select-option:hover,.jby-p4-filters .jby-p4-select-option:focus-visible{background:#f6f2ec;color:#292b2c;outline:none}
.jby-p4-filters .jby-p4-select-option[aria-selected=true]{border-left-color:#9c7b51;background:#f2ece3;color:#4e3d2b;font-weight:650}
.jby-p4-select-option[aria-selected=true]::after{content:"✓";font-size:12px;color:#8a6c45}
@keyframes jby-select-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:780px){.jby-hero-grid{grid-template-columns:minmax(0,1fr)}.jby-hero-visual{padding:8px var(--jby-gutter) 34px}.jby-hero-art-frame{width:min(100%,480px)}.jby-p3-faq-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:580px){.jby-hero-art-frame{width:min(100%,420px)}.jby-p4-select-panel{max-height: min(260px,42vh)}}
@media(prefers-reduced-motion:reduce){.jby-p4-select-trigger,.jby-p4-select-trigger svg,.jby-p4-select-option{transition:none!important;animation:none!important}}

/* P8.1: restrained B2B interaction details across navigation, modules and calls to action. */
@media(hover:hover) and (pointer:fine){
  .jby-nav-list>li>a{position:relative}
  .jby-nav-list>li>a:after{content:"";position:absolute;left:0;right:0;bottom:25px;height:1px;background:var(--jby-gold-deep);transform:scaleX(0);transform-origin:left center;transition:transform .22s var(--jby-ease)}
  .jby-nav-list>li:hover>a:after,.jby-nav-list>li:focus-within>a:after,.jby-nav-list>li.current-menu-item>a:after,.jby-nav-list>li.current-menu-ancestor>a:after{transform:scaleX(1)}
  .jby-nav-list .sub-menu{transform:translateY(6px);transition:opacity var(--jby-fast),visibility var(--jby-fast),transform .22s var(--jby-ease)}
  .jby-nav-list li:hover>.sub-menu,.jby-nav-list li:focus-within>.sub-menu{transform:translateY(0)}
  .jby-p3-cards .jby-p3-item{transition:transform .28s var(--jby-ease),box-shadow .28s var(--jby-ease),border-color .22s ease}
  .jby-p3-cards .jby-p3-item:hover{transform:translateY(-3px);border-color:#d2c2ad;box-shadow:0 16px 38px rgba(37,32,26,.085)}
  .jby-p3-cards .jby-p3-item .jby-p3-media img{transition:transform .52s var(--jby-ease)}
  .jby-p3-cards .jby-p3-item:hover .jby-p3-media img{transform:scale(1.03)}
  .jby-p3-tablist button{transition:color .2s ease,background-color .2s ease,border-color .2s ease}
  .jby-p3-tablist button:hover{background:#f5f1eb;color:#5d4932}
  .jby-p3-tablist button[aria-selected=true]{background:linear-gradient(180deg,rgba(245,241,235,.7),rgba(245,241,235,0))}
  .jby-header-quote:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(33,29,24,.15)}
  .jby-icon-button{border-radius:50%;transition:color .2s ease,background-color .2s ease,transform .2s var(--jby-ease)}
  .jby-icon-button:hover{background:#eee8df;transform:translateY(-1px)}
  .jby-btn:hover{box-shadow:0 9px 24px rgba(26,24,21,.13)}
}
.jby-search-panel:not([hidden]){animation:jby-search-panel-in .22s var(--jby-ease) both}
@keyframes jby-search-panel-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(hover:none){.jby-p3-cards .jby-p3-item:hover{transform:none;box-shadow:none}.jby-p3-cards .jby-p3-item:hover .jby-p3-media img{transform:none}}
@media(prefers-reduced-motion:reduce){.jby-nav-list .sub-menu,.jby-nav-list>li>a:after,.jby-p3-cards .jby-p3-item,.jby-p3-cards .jby-p3-item .jby-p3-media img,.jby-p3-tablist button,.jby-header-quote,.jby-icon-button,.jby-btn,.jby-search-panel{transition:none!important;animation:none!important;transform:none!important;box-shadow:none!important}}

/* P8.6: restore original P1 section rhythm and keep fallback media proportional. */
.jby-p1v-module{box-sizing:border-box;width:100%;max-width:none;}
.jby-p1v-module.jby-p1v-hero,
.jby-p1v-module.jby-p1v-editorial{padding:0;}
.jby-p1v-module.jby-p1v-categories,
.jby-p1v-module.jby-p1v-process,
.jby-p1v-module.jby-p1v-stones{padding-block:var(--jby-section-space);}
.jby-p1v-module.jby-p1v-hero{min-height:706px;}
.jby-p1v-module.jby-p1v-hero .jby-hero-grid{width:min(calc(100% - var(--jby-gutter)*2),1280px);max-width:1280px;min-height:706px;margin-inline:auto;padding-inline:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;}
.jby-p1v-module.jby-p1v-hero .jby-hero-visual{min-height:706px;display:flex;align-items:center;justify-content:center;padding:30px 18px 30px 24px;}
.jby-p1v-module.jby-p1v-hero .jby-hero-art-frame{flex:0 1 auto;width:min(100%,465px);height:auto;max-width:100%;aspect-ratio:900/1250;min-height:0;overflow:hidden;}
.jby-p1v-module.jby-p1v-hero .jby-hero-art-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#d8cdc1;}
.jby-p1v-module.jby-p1v-hero .jby-hero-heading .jby-hero-accent{color:#d3b890;font-style:italic;}
.jby-p1v-module.jby-p1v-hero .jby-hero-buttons{gap:clamp(15px,2.5vw,31px);}
.jby-p1v-module.jby-p1v-hero .jby-hero-copy .jby-p3-cta{margin-top:0;background:#f5f0e8;color:#24282a;border-color:#f5f0e8;}
.jby-p1v-module.jby-p1v-hero .jby-text-link-light{color:#f4eee5;font-size:13px;font-weight:550;display:inline-flex;gap:18px;align-items:center;padding:9px 0;border-bottom:1px solid #9d927f;}
.jby-p1v-module.jby-p1v-hero .jby-text-link-light:hover{color:#d7bd92;}
.jby-p1v-module.jby-p1v-editorial{min-height:690px;}
.jby-p1v-module.jby-p1v-editorial .jby-editorial-visual{min-width:0;min-height:690px;}
.jby-p1v-module.jby-p1v-editorial .jby-editorial-art{height:100%;min-height:560px;}
.jby-p1v-module.jby-p1v-editorial .jby-editorial-art img{width:100%;height:100%;object-fit:cover;}
.jby-p1v-module.jby-p1v-editorial .jby-editorial-copy-inner{width:min(84%,490px);padding-block:70px;}
.jby-p1v-module.jby-p1v-editorial .jby-editorial-copy-inner .jby-p3-heading{max-width:490px;}
.jby-p1v-module.jby-p1v-brand-quote{background:#333536!important;color:#fff!important;text-align:center;padding:90px 0 92px;}
.jby-p1v-module.jby-p1v-brand-quote .jby-p1v-quote-heading{color:#fff!important;}

.jby-p1v-module.jby-p1v-brand-quote .jby-p1v-quote-body p{margin:0;}
.jby-p1v-module.jby-p1v-inquiry{background:#e8dfd2;padding:clamp(62px,7vw,93px) 0;}


.jby-p1v-module.jby-p1v-process .jby-process-step>span{margin-bottom:16px;}

.jby-p1v-module.jby-p1v-process .jby-process-step .jby-p3-media-placeholder>span{font-size:7px;left:5px;bottom:5px;padding:2px 4px;}
.jby-p1v-module.jby-p1v-process .jby-process-step h3{margin-top:0;}
.jby-p1v-module.jby-p1v-categories .jby-category-image img,
.jby-p1v-module.jby-p1v-stones .jby-stone-tile-art img{object-fit:contain;}
.jby-p3-tabs .jby-p3-tabpanels>[role=tabpanel]{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,380px);align-items:center;gap:clamp(24px,4vw,56px);padding:24px 0;}
.jby-p3-tabs .jby-p3-tab-panel-copy{min-width:0;max-width:900px;}
.jby-p3-tabs .jby-p3-tabpanels>[role=tabpanel]>.jby-p3-media{width:100%;max-width:380px;aspect-ratio:4/3;justify-self:end;margin:0;}
.jby-p3-media .jby-p3-media-placeholder img{object-fit:contain!important;}
.jby-p3-faq-columns{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.2vw,28px);align-items:start;}
.jby-p3-faq-column{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;min-width:0;}
.jby-p3-faq{overflow:clip;scroll-margin-top:calc(var(--jby-header-height,80px) + 18px);overflow-anchor:none;}


.jby-p3-faq-question{min-width:0;flex:1 1 auto;}
.jby-p3-faq-toggle{position:relative;display:block;width:30px;height:30px;min-width:30px;flex:none;margin:0;justify-self:end;align-self:center;border:1px solid transparent;border-radius:50%;box-sizing:border-box;transform:none!important;transition:background-color .22s var(--jby-ease),border-color .22s var(--jby-ease),color .22s var(--jby-ease);}
.jby-p3-faq-toggle-line{position:absolute;left:50%;top:50%;display:block;width:11px;height:1px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%);transform-origin:center;}
.jby-p3-faq-toggle-line-vertical{transform:translate(-50%,-50%) rotate(90deg);opacity:1;transition:transform .28s cubic-bezier(.22,.61,.36,1),opacity .2s ease;}
.jby-p3-faq[data-jby-faq-anchor="true"]{overflow-anchor:auto;}
.jby-p3-faq[data-jby-faq-expanded="true"] .jby-p3-faq-toggle{background:#f4efe8;border-color:#e5d9c8;color:var(--jby-gold-deep);}
.jby-p3-faq[data-jby-faq-expanded="true"] .jby-p3-faq-toggle-line-vertical{transform:translate(-50%,-50%) rotate(180deg) scaleX(.001);opacity:0;}
html:not(.jby-faq-motion-ready) .jby-p3-faq[open] summary .jby-p3-faq-toggle{background:#f4efe8;border-color:#e5d9c8;color:var(--jby-gold-deep);}
html:not(.jby-faq-motion-ready) .jby-p3-faq[open] summary .jby-p3-faq-toggle-line-vertical{transform:translate(-50%,-50%) rotate(180deg) scaleX(.001);opacity:0;}
.jby-p3-faq-answer-clip{display:block;overflow:hidden;opacity:1;}
.jby-p3-faq-answer{min-height:0;overflow:hidden;padding:0;color:#626262;max-width:800px;}
.jby-p3-faq-answer::after{content:"";display:block;height:24px;}
/* Height and fade are owned by the single P3 JS controller; no competing CSS grid animation. */

.jby-p3-faq-summary:focus-visible{outline-offset:4px;}
.jby-p3-faq-controls{margin-bottom:14px;}
.jby-p3-faq-controls button{transition:color .2s ease,border-color .2s ease;}
@media(max-width:900px){
 .jby-p1v-module.jby-p1v-hero .jby-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:620px;}
 .jby-p1v-module.jby-p1v-hero .jby-hero-visual{min-height:620px;}
 .jby-p1v-module.jby-p1v-editorial,.jby-p1v-module.jby-p1v-editorial .jby-editorial-visual{min-height:0;}
 .jby-p1v-module.jby-p1v-editorial .jby-editorial-art{height:clamp(420px,58vw,620px);}
 .jby-p1v-module.jby-p1v-inquiry .jby-inquiry-inner{gap:36px;}
}
@media(max-width:780px){
 .jby-p1v-module.jby-p1v-hero .jby-hero-grid{width:100%;max-width:none;grid-template-columns:minmax(0,1fr);min-height:0;padding-inline:var(--jby-gutter,22px);}
 .jby-p1v-module.jby-p1v-hero .jby-hero-copy{padding:42px 0 31px;}
 .jby-p1v-module.jby-p1v-hero .jby-hero-visual{min-height:0;max-height:none;padding:0 0 34px;}
 .jby-p1v-module.jby-p1v-hero .jby-hero-art-frame{width:min(100%,480px);height:auto;aspect-ratio:900/1250;}
 .jby-p1v-module.jby-p1v-editorial{grid-template-columns:minmax(0,1fr);}
 .jby-p1v-module.jby-p1v-editorial .jby-editorial-art{height:370px;min-height:0;}
 .jby-p1v-module.jby-p1v-editorial .jby-editorial-copy-inner{width:min(calc(100% - 40px),600px);padding-block:52px;}
 .jby-p1v-module.jby-p1v-process .jby-process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;}
 .jby-p1v-module.jby-p1v-process .jby-process-step .jby-p3-media{width:78px;margin-bottom:12px;}
 .jby-p1v-module.jby-p1v-inquiry .jby-inquiry-inner{grid-template-columns:minmax(0,1fr);gap:30px;}
 .jby-p3-faq-columns{grid-template-columns:minmax(0,1fr);}
 .jby-p3-tabs .jby-p3-tabpanels>[role=tabpanel]{grid-template-columns:minmax(0,1fr);gap:18px;}
 .jby-p3-tabs .jby-p3-tabpanels>[role=tabpanel]>.jby-p3-media{width:min(100%,380px);justify-self:start;}
}
@media(max-width:580px){
 .jby-p1v-module.jby-p1v-hero .jby-hero-grid{grid-template-columns:minmax(0,1fr);}
 .jby-p1v-module.jby-p1v-hero .jby-hero-visual{padding-inline:0;}
 .jby-p1v-module.jby-p1v-hero .jby-hero-art-frame{width:min(100%,420px);}
 .jby-p1v-module.jby-p1v-editorial .jby-editorial-art{height:370px;}
}
@media(prefers-reduced-motion:reduce){
 .jby-p3-faq-answer-clip,.jby-p3-faq-answer,.jby-p3-faq-toggle,.jby-p3-faq-toggle-line-vertical{transition:none!important;animation:none!important;}
 .jby-faq-motion-ready .jby-p3-faq-answer-clip{opacity:1!important;}
 .jby-faq-motion-ready .jby-p3-faq-answer{transform:none!important;}
}


/* P8.7: true viewport-height editorial hero and legible process-step artwork. */
@media (min-width: 781px) {
  .jby-p1v-module.jby-p1v-hero {
    min-height: calc(100vh - var(--jby-header-height, 92px) - var(--jby-admin-bar-offset, 0px));
    min-height: calc(100svh - var(--jby-header-height, 92px) - var(--jby-admin-bar-offset, 0px));
    display: flex;
    align-items: stretch;
  }
  .jby-p1v-module.jby-p1v-hero .jby-hero-grid {
    min-height: inherit;
    align-items: stretch;
  }
  .jby-p1v-module.jby-p1v-hero .jby-hero-copy {
    min-height: inherit;
    justify-content: space-between;
    padding-top: clamp(28px, 4.5svh, 62px);
    padding-bottom: clamp(24px, 3.5svh, 44px);
  }
  .jby-p1v-module.jby-p1v-hero .jby-hero-main {
    width: 100%;
    max-width: 590px;
    margin-block: auto;
  }
  .jby-p1v-module.jby-p1v-hero .jby-hero-lower {
    margin-top: 26px;
    padding-top: 0;
  }
  .jby-p1v-module.jby-p1v-hero .jby-hero-visual {
    min-height: inherit;
    align-items: center;
    justify-content: center;
    padding-block: clamp(24px, 4svh, 48px);
  }
  .jby-p1v-module.jby-p1v-hero .jby-hero-art-frame {
    flex: 0 1 auto;
    width: min(100%, 56vh, 620px);
    width: min(100%, 56svh, 620px);
    height: auto;
    aspect-ratio: 900 / 1250;
  }
  .jby-p1v-module.jby-p1v-process .jby-process-step .jby-p3-media {
    width: clamp(124px, 10.5vw, 154px);
    margin-bottom: 18px;
  }
}
@media (max-width: 780px) {
  .jby-p1v-module.jby-p1v-hero {
    min-height: 0;
  }
  .jby-p1v-module.jby-p1v-hero .jby-hero-grid,
  .jby-p1v-module.jby-p1v-hero .jby-hero-copy,
  .jby-p1v-module.jby-p1v-hero .jby-hero-visual {
    min-height: 0;
  }
  .jby-p1v-module.jby-p1v-hero .jby-hero-main {
    width: 100%;
  }
  .jby-p1v-module.jby-p1v-process .jby-process-step .jby-p3-media {
    width: clamp(104px, 17vw, 128px);
    margin-bottom: 14px;
  }
}
@media (max-width: 580px) {
  .jby-p1v-module.jby-p1v-process .jby-process-step .jby-p3-media {
    width: clamp(96px, 25vw, 116px);
  }
}

/* P8.8 / 2026-11-04 · Module-specific refinements, no second UI engine. */
/* Keep the base 1280px editorial reading width. Avoid enlarging every module to full screen. */


.jby-p1v-categories .jby-section-aside .jby-entry-content > :last-child{margin-bottom:0}

/* A deliberately cleared field never reserves its own line or padding. */
.jby-p3-module :where(.jby-eyebrow,.jby-p3-lead,.jby-p3-item-kicker):empty{display:none}
.jby-p3-intro > :last-child{margin-bottom:0}

/* Functional carousels: immutable card footprint regardless of item count. */
.jby-p3-carousel .jby-p3-track{grid-auto-columns:clamp(265px,calc((100% - 66px)/4),330px);gap:22px;scroll-padding-inline:2px;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;min-width:0}
.jby-p3-m06_product_slider.jby-p3-v-compact .jby-p3-track{grid-auto-columns:clamp(230px,calc((100% - 64px)/4),300px);gap:16px}


.jby-p3-carousel-controls button:not(:disabled):hover{transform:translateY(-2px);background:#282b2d;border-color:#282b2d;color:#fff}
.jby-p3-carousel-controls button:not(:disabled):active{transform:translateY(0) scale(.95)}
.jby-p3-carousel-controls button:disabled{opacity:.34;cursor:default}

.jby-p3-carousel .jby-p3-item .jby-p3-media{aspect-ratio:4/3}
.jby-p3-carousel .jby-p3-item-copy{display:flex;flex-direction:column;align-items:flex-start}
.jby-p3-carousel .jby-p3-item-copy .jby-p3-inline-link{margin-top:auto;padding-top:14px}
.jby-p3-carousel .jby-p3-item-copy h3{margin-top:10px}
.jby-p3-carousel .jby-p3-item{height:100%;
transition:transform .3s ease,box-shadow .3s ease;}
.jby-p3-carousel .jby-p3-item:hover{box-shadow:0 13px 34px rgba(37,35,32,.09)}
.jby-p3-carousel .jby-p3-item:hover .jby-p3-media img{transform:scale(1.035)}
.jby-p3-carousel .jby-p3-media img{transition:transform .4s ease}

/* Real testimonial composition, never a product card with a substitute portrait. */

.jby-p3-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}

.jby-p3-review-card:hover{border-color:#c9b69f;box-shadow:0 13px 30px rgba(35,32,28,.075);transform:translateY(-3px)}

.jby-p3-review-text > :last-child{margin-bottom:0}
.jby-p3-review-person{display:flex;align-items:center;gap:14px;font-family:var(--jby-sans)}

.jby-p3-review-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.jby-p3-review-identity{display:flex;flex-direction:column;gap:3px;min-width:0}
.jby-p3-review-identity strong{font-size:14px;line-height:1.45;color:#2b2d2f}
.jby-p3-review-identity small{color:#72706e;font-size:12px;line-height:1.4}


/* Editorial inquiry: use the left side for a restrained image, right side for a usable form. */
.jby-p1v-module.jby-p1v-inquiry .jby-inquiry-inner{grid-template-columns:1.25fr .75fr;gap:60px;;
grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:start;gap:clamp(36px,4.8vw,70px);}
.jby-p1v-inquiry .jby-inquiry-copy{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
.jby-p1v-inquiry .jby-inquiry-art{width:min(100%,490px);margin-top:clamp(30px,4vw,56px);aspect-ratio:16/10;background:#d4c5b1;overflow:hidden;border:1px solid rgba(101,82,61,.16)}
.jby-p1v-inquiry .jby-inquiry-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.jby-p1v-inquiry .jby-inquiry-art:hover img{transform:scale(1.035)}
.jby-p1v-inquiry .jby-inquiry-side{min-width:0}
.jby-p1v-inquiry .jby-inquiry-side .jby-p5-wrap{width:100%;max-width:none}
.jby-p1v-inquiry .jby-inquiry-side .jby-entry-content{max-width:56ch}

/* The brand quote is a conversion section, with exactly one optional button. */
.jby-p1v-module.jby-p1v-brand-quote .jby-p3-cta{display:inline-flex;margin-top:27px;min-height:47px;padding:12px 23px;background:transparent;border:1px solid #c4a77f;color:#f7f4ef}
.jby-p1v-module.jby-p1v-brand-quote .jby-p3-cta:hover{background:#e4d3ba;color:#24282a;border-color:#e4d3ba}
.jby-p1v-module.jby-p1v-brand-quote .jby-p1v-quote-body{color:#e0d7cc!important;margin:0 auto;font-size:10px;font-weight:600;letter-spacing:.19em;line-height:1.8;;
font-size:clamp(12px,.85vw,14px);letter-spacing:.11em;line-height:1.8;}
.jby-p3-m12_vertical_product > .jby-container > .jby-p3-cta{margin-top:36px}
.jby-p3-m12_vertical_product.jby-p3-v-alternating .jby-p3-item:nth-child(even) .jby-p3-media{order:2}

/* Process images are now readable portrait visuals; extra steps wrap automatically. */
.jby-p1v-module.jby-p1v-process .jby-process-grid{align-items:start;;
display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,218px),1fr));gap:clamp(24px,3vw,43px);align-items:start;}


.jby-p1v-module.jby-p1v-process .jby-process-step .jby-entry-content{max-width:29ch}

/* Common visible feedback for every actionable CTA, including intentionally inert placeholders. */
.jby-p3-module :where(.jby-p3-inline-link,.jby-cta-placeholder,.jby-p3-cta),
.jby-p3-module :where(.jby-category-card,.jby-stone-tile,.jby-round-arrow){transition:color .24s ease,background-color .24s ease,border-color .24s ease,transform .24s ease,box-shadow .24s ease}
.jby-p3-module :where(.jby-p3-inline-link,.jby-cta-placeholder):hover{color:#9b7549;border-color:#b59a72;transform:translateY(-2px)}
.jby-p3-module :where(.jby-p3-inline-link,.jby-p3-cta,.jby-cta-placeholder):active{transform:translateY(0) scale(.98)}
.jby-p3-module :where(.jby-category-card,.jby-stone-tile):hover .jby-round-arrow{background:#282b2d;color:#fff;border-color:#282b2d;transform:rotate(45deg)}
.jby-brand-wordmark small{font-size:9px;line-height:1.3;letter-spacing:.075em;margin-top:5px}

@media (max-width:900px){
 .jby-p1v-module.jby-p1v-inquiry .jby-inquiry-inner{grid-template-columns:minmax(0,1fr);gap:36px}
 .jby-p1v-inquiry .jby-inquiry-art{max-width:520px;margin-top:26px}
 .jby-p3-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .jby-p1v-module.jby-p1v-process .jby-process-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,195px),1fr))}
 .jby-p1v-categories .jby-section-aside{flex:0 0 40%}
}
@media (max-width:680px){
 .jby-p1v-categories .jby-section-head-split{display:block}
 .jby-p1v-categories .jby-section-aside{max-width:none;border-left:0;border-top:1px solid #d4c8b7;padding:17px 0 0;margin-top:22px}
 .jby-p3-carousel .jby-p3-track{grid-auto-columns:minmax(260px,85%);gap:16px}
 .jby-p3-m06_product_slider.jby-p3-v-compact .jby-p3-track{grid-auto-columns:minmax(220px,78%);gap:14px}
 .jby-p3-carousel-reviews .jby-p3-track{grid-auto-columns:minmax(265px,89%)}
 .jby-p3-review-grid{grid-template-columns:minmax(0,1fr)}
 .jby-p1v-module.jby-p1v-process .jby-process-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:25px 17px}
 .jby-p1v-module.jby-p1v-process .jby-process-step .jby-p3-media{width:min(100%,195px)}
 .jby-p1v-inquiry .jby-inquiry-art{aspect-ratio:16/10;width:100%;max-width:500px}
}
@media (prefers-reduced-motion:reduce){
 .jby-p3-module :where(.jby-p3-item,.jby-p3-review-card,.jby-p3-inline-link,.jby-p3-cta,.jby-category-card,.jby-stone-tile,.jby-round-arrow),
 .jby-p3-module :where(.jby-p3-media img,.jby-inquiry-art img),.jby-p3-carousel-controls button{transition:none!important;animation:none!important}
 .jby-p3-carousel .jby-p3-track{scroll-behavior:auto}
}
/* Original four-step rhythm stays four across at desktop; extra records wrap below. */
@media (min-width:1100px){
 .jby-p1v-module.jby-p1v-process .jby-process-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* P8 round two: semantic background rhythm, not page-position-dependent nth-of-type. */
.jby-p3-m10_resource,.jby-p3-m16_testimonials{background:linear-gradient(145deg,#f6f2ed 0%,#f0ece5 100%)}
.jby-p3-m07_feature_box:not(.jby-p1v-module),.jby-p3-m11_advantage:not(.jby-p1v-module),.jby-p3-m05_product_section:not(.jby-p1v-categories){background:#f8f6f2}
.jby-p3-m17_faqs1,.jby-p3-m20_faqs2{background:#fcfbf9}
/* Subsection conversion uses the SAME P5 modal; no detached full-width global CTA. */
.jby-p3-module .jby-module-rfq{display:inline-flex;align-items:center;justify-content:center;gap:13px;margin:24px 12px 0 0;min-height:46px;padding:12px 22px;font-size:12px;font-weight:650;letter-spacing:.025em;white-space:normal;text-align:center;max-width:100%}
.jby-p3-module .jby-module-rfq > span[aria-hidden]{display:inline-block;transition:transform .22s ease}
.jby-p3-module .jby-module-rfq:hover > span[aria-hidden]{transform:translate(2px,-2px)}
.jby-p3-module .jby-module-rfq:hover{background:#5e4c38;color:#fff;transform:translateY(-2px);box-shadow:0 10px 25px rgba(28,26,22,.13)}
.jby-p3-module .jby-module-rfq:focus-visible{outline:3px solid #a98b5f;outline-offset:3px}
.jby-p1v-hero .jby-module-rfq{margin:0;background:transparent!important;border:1px solid #c7b296!important;color:#faf5ed!important}
.jby-p1v-hero .jby-module-rfq:hover{background:#f0e5d4!important;color:#302b25!important}
/* The right-hand copy is an intentional editorial column, aligned with the title. */
.jby-p1v-categories .jby-section-head-split{align-items:center;gap:clamp(32px,5vw,92px);
align-items:start;gap:clamp(32px,5vw,72px);}
.jby-p1v-categories .jby-section-head-split > :first-child{min-width:0;flex:1 1 55%}
.jby-p1v-categories .jby-section-aside{flex:0 0 min(35%,390px);max-width:390px;padding:0 0 0 27px;border-left:1px solid #cfc5b8;align-self:center;
align-self:center;margin:0;max-width:410px;flex:0 1 37%;min-width:0;padding:6px 0 6px clamp(18px,2vw,30px);border-left:1px solid #cfc5b8;}
.jby-p1v-categories .jby-section-aside .jby-entry-content{max-width:42ch}
.jby-p1v-categories .jby-section-aside .jby-module-rfq{margin-top:11px}
.jby-p1v-categories .jby-section-aside .jby-p3-cta{margin-top:16px;
margin-top:12px;}
.jby-p1v-process .jby-process-step{padding:12px;border:1px solid transparent;border-radius:5px;transition:transform .28s ease,background-color .28s ease,border-color .28s ease,box-shadow .28s ease}
.jby-p1v-process .jby-process-step:hover{background:#fffdfa;border-color:#e4d8c8;transform:translateY(-5px);box-shadow:0 13px 32px rgba(43,36,28,.07)}
.jby-p1v-process .jby-process-step .jby-p3-media{transition:box-shadow .28s ease}
.jby-p1v-process .jby-process-step:hover .jby-p3-media{box-shadow:0 8px 22px rgba(46,37,27,.10)}
.jby-p1v-process .jby-process-step .jby-p3-media img{transition:transform .4s ease}
.jby-p1v-process .jby-process-step:hover .jby-p3-media img{transform:scale(1.04)}
.jby-p3-module :is(.jby-p3-card,.jby-p3-item):not(.jby-p3-review-card){transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.jby-p3-module .jby-p3-item:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(44,37,30,.08)}
/* Testimonial cards must actually overflow the track so arrows can be used with 3 records. */


.jby-p3-carousel-count{display:inline-flex;align-items:center;justify-content:center;min-width:69px;padding:8px 10px;line-height:1.4;white-space:nowrap;font-family:var(--jby-sans);font-size:11px;letter-spacing:.12em;font-weight:650;color:#655849}
.jby-p3-carousel-controls .jby-p3-carousel-count{margin-right:5px}
.jby-p3-carousel-controls button:focus-visible{outline:3px solid #aa906a;outline-offset:3px}

.jby-p3-carousel-reviews .jby-p3-carousel-controls button:hover:not(:disabled){background:#836b4e;border-color:#836b4e;transform:translateY(-2px)}
.jby-p3-carousel-reviews .jby-p3-carousel-controls button:disabled{opacity:.45;border-color:#a9a39b;background:#eee9e2;color:#67635d;box-shadow:none}
.jby-p3-review-country{display:inline-flex;margin-top:3px;letter-spacing:.015em;color:#755d42!important}
.jby-p3-file-card{transition:transform .2s ease,border-color .2s ease,background-color .2s ease}
.jby-p3-file-card:hover{transform:translateY(-2px);border-color:#a78c65;background:#fff}
.jby-p3-pdf-open{display:inline-block;margin:5px 0 0;font-size:12px;font-style:normal;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:#735b40}
/* FAQ has one animation owner; disable browser scroll anchoring from jumping page on accordion resize. */
[data-jby-faq-single],.jby-p3-faq,.jby-p3-faq-columns,.jby-p3-faq-inquiry-grid{overflow-anchor:none}
/* Frontend interaction language: responsive to hover, keyboard, and reduced motion. */
.jby-header-quote{min-height:45px;justify-content:center;
max-width:min(34vw,320px);min-width:0;gap:12px;}
.jby-header-quote-label{min-width:0;overflow-wrap:anywhere;white-space:normal;text-align:center;line-height:1.35}
.jby-header-quote > span[aria-hidden="true"]{flex:none}

.jby-p3-tabs .jby-p3-tablist button{position:relative;transition:color .23s ease,background-color .23s ease}
.jby-p3-tabs .jby-p3-tablist button:not([aria-selected="true"]):hover{background:#f1ebe3;color:#2d2c2b}
.jby-p3-faq summary{min-height:62px;
display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;column-gap:18px;min-height:66px;box-sizing:border-box;position:relative;transition:color .22s var(--jby-ease);overflow-anchor:none;;
transition:color .2s ease;}
.jby-p3-faq summary:hover{color:var(--jby-gold-deep);;
color:#896c49;}
.jby-p3-faq[open]{border-color:#d0beaa}
.jby-p3-m10_resource .jby-p3-file-card{border-color:#d8cbb9;background:#fff;box-shadow:0 3px 12px rgba(44,39,31,.035)}
.jby-p3-m10_resource .jby-p3-file-card:focus-visible{outline:3px solid #aa906a;outline-offset:2px}
.jby-p3-module a.jby-category-card:hover .jby-category-image img,
.jby-p3-module a.jby-category-card:focus-visible .jby-category-image img{transform:scale(1.045)}
.jby-p3-module a.jby-category-card:hover .jby-round-arrow,
.jby-p3-module a.jby-category-card:focus-visible .jby-round-arrow{background:#282b2d;color:#fff;border-color:#282b2d;transform:translate(2px,-2px)}
.jby-p3-module .jby-p3-item:focus-within{border-color:#b69d78;box-shadow:0 12px 30px rgba(44,37,30,.08)}
@media(max-width:1020px){
 .jby-header-quote{max-width:none}
}
@media(max-width:900px){
 .jby-p1v-categories .jby-section-aside{max-width:380px;flex-basis:40%}
 .jby-p1v-categories .jby-section-head-split{gap:clamp(18px,3vw,36px)}
}

@media(max-width:680px){.jby-p3-carousel-reviews .jby-p3-track{grid-auto-columns:minmax(260px,85%)}.jby-p1v-categories .jby-section-aside{max-width:none;flex-basis:auto;align-self:stretch;margin-top:20px;padding:18px 0 0;border-left:0;border-top:1px solid #d4c8b7}.jby-p3-module .jby-module-rfq{min-height:46px}.jby-p3-carousel-controls button{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.jby-p1v-process .jby-process-step,.jby-p1v-process .jby-process-step img,.jby-p3-module .jby-module-rfq,.jby-p3-module .jby-module-rfq > span[aria-hidden],.jby-p3-tabs .jby-p3-tablist button,.jby-p3-faq summary{transition:none!important;transform:none!important}}

.jby-p1v-brand-quote .jby-module-rfq{border:1px solid #d7b78b;background:transparent;color:#f6efe5}
.jby-p1v-brand-quote .jby-module-rfq:hover{background:#d8be9d;color:#24282b}


/* P8.14 | One shared image interaction language across ALL P3 media positions.
 * Gentle optical zoom + sheen on desktop, with no accidental animation on video controls.
 */
@media (hover:hover) and (pointer:fine) {
 .jby-p3-module .jby-p3-media:has(img),
 .jby-p1v-editorial .jby-editorial-art,.jby-p1v-categories .jby-category-image,
 .jby-p1v-stones .jby-stone-tile-art,.jby-p1v-hero .jby-hero-art-frame{overflow:hidden;position:relative;}
 .jby-p3-module .jby-p3-media img,.jby-p1v-editorial .jby-editorial-art img,
 .jby-p1v-categories .jby-category-image img,.jby-p1v-stones .jby-stone-tile-art img,
 .jby-p1v-hero .jby-hero-art-frame img{transition:transform .7s cubic-bezier(.2,.7,.25,1),filter .6s ease;will-change:transform;}
 .jby-p3-module .jby-p3-media:has(img):hover img,
 .jby-p1v-editorial .jby-editorial-art:hover img,
 .jby-p1v-categories .jby-category-card:hover .jby-category-image img,
 .jby-p1v-stones .jby-stone-tile:hover .jby-stone-tile-art img,
 .jby-p1v-hero .jby-hero-art-frame:hover img{transform:scale(1.065);filter:saturate(1.06) contrast(1.025);}
 .jby-p3-module .jby-p3-media:has(img)::after,.jby-p1v-editorial .jby-editorial-art::after,
 .jby-p1v-categories .jby-category-image::after,.jby-p1v-stones .jby-stone-tile-art::after{
   content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
   background:linear-gradient(116deg,transparent 26%,rgba(255,255,255,.18) 48%,transparent 70%);
   opacity:0;transform:translateX(-24%);transition:opacity .5s ease,transform .7s ease;
 }
 .jby-p3-module .jby-p3-media:has(img):hover::after,.jby-p1v-editorial .jby-editorial-art:hover::after,
 .jby-p1v-categories .jby-category-card:hover .jby-category-image::after,
 .jby-p1v-stones .jby-stone-tile:hover .jby-stone-tile-art::after{opacity:1;transform:translateX(24%);}
 .jby-p3-module .jby-p3-backdrop{transition:transform 1.15s cubic-bezier(.2,.7,.25,1);}
 .jby-p3-module:hover .jby-p3-backdrop{transform:scale(1.035);}
}
/* Shared contextual quote button on cards, no separate module-bottom CTA when cards exist. */
.jby-p3-item-rfq{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;padding:11px 14px;
 background:#272b2d;color:#fff!important;border:1px solid #272b2d;text-decoration:none!important;border-radius:0;
 font-size:12px;line-height:1.3;font-weight:650;min-height:42px;max-width:100%;transition:background-color .22s ease,transform .22s ease,box-shadow .22s ease;}
.jby-p3-item-rfq:hover{background:#756047;border-color:#756047;transform:translateY(-2px);box-shadow:0 8px 20px rgba(36,30,23,.13);}
.jby-p3-item-rfq:focus-visible{outline:3px solid #b69d78;outline-offset:3px;}
.jby-p3-item-rfq span{display:inline-block;transition:transform .22s ease;}
.jby-p3-item-rfq:hover span{transform:translate(2px,-2px);}
.jby-p3-item-copy .jby-p3-item-rfq{align-self:flex-start;}
.jby-p3-carousel .jby-p3-item-copy .jby-p3-item-rfq{margin-top:auto;}
.jby-p3-carousel .jby-p3-item-copy .jby-p3-inline-link + .jby-p3-item-rfq{margin-top:15px;}
.jby-category-primary{display:block;color:inherit;text-decoration:none;}
.jby-category-card .jby-p3-item-rfq{margin:15px 0 0;}
.jby-stone-tile{display:flex;flex-direction:column;}
.jby-stone-tile-primary{flex:1;display:grid;grid-template-columns:48% 52%;min-height:0;}
.jby-stone-tile-cta{padding:0 20px 20px;}
.jby-stone-tile-cta .jby-p3-item-rfq{margin-top:0;}
/* M08 is the ONE new module choice for dark statement or image background.
 * M14 remains renderable for existing pages, but is no longer offered for new additions.
 */
.jby-p3-m08_feature_background.jby-p3-v-image_banner{background:#eae3da;color:#25282a;}
.jby-p3-m08_feature_background.jby-p3-v-image_banner .jby-p3-inside{max-width:var(--jby-container,1280px);}
.jby-p3-m08_feature_background.jby-p3-v-image_banner .jby-p3-intro{max-width:760px;}
.jby-p1v-brand-quote .jby-p1v-quote-backdrop{opacity:.34;}
@media(max-width:680px){.jby-stone-tile-primary{grid-template-columns:45% 55%;}.jby-p3-item-rfq{min-height:44px;}}
@media(prefers-reduced-motion:reduce){
 .jby-p3-module .jby-p3-media img,.jby-p1v-editorial .jby-editorial-art img,
 .jby-p1v-categories .jby-category-image img,.jby-p1v-stones .jby-stone-tile-art img,
 .jby-p1v-hero .jby-hero-art-frame img,.jby-p3-module .jby-p3-backdrop,
 .jby-p3-item-rfq,.jby-p3-item-rfq span{transition:none!important;transform:none!important;filter:none!important;}
}

/* P8.15: header search expands IN PLACE, never as a full-width drop-down. */
.jby-header-actions{min-width:0;
position:relative;}
.jby-header-inline-search{display:flex;align-items:center;gap:0;width:0;min-width:0;max-width:0;height:44px;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:width .34s cubic-bezier(.22,.61,.36,1),max-width .34s cubic-bezier(.22,.61,.36,1),opacity .24s ease,visibility 0s linear .34s;border:0;margin:0;flex:0 1 auto}
.jby-header-inline-search.is-open{width:clamp(220px,21vw,350px);max-width:clamp(220px,21vw,350px);opacity:1;visibility:visible;pointer-events:auto;transition:width .34s cubic-bezier(.22,.61,.36,1),max-width .34s cubic-bezier(.22,.61,.36,1),opacity .24s ease}
.jby-header-inline-search input{width:100%;min-width:0;height:42px;border:1px solid #c9b8a0;border-right:0;border-radius:3px 0 0 3px;background:#fff;padding:8px 12px;font:inherit;font-size:13px;outline:0;color:#242729}
.jby-header-inline-search input:focus{border-color:#957957;box-shadow:inset 0 0 0 1px #957957}
.jby-header-search-submit{flex:0 0 43px;height:42px;border:1px solid #25282a;border-radius:0 3px 3px 0;background:#25282a;color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .18s ease,transform .18s ease}
.jby-header-search-submit:hover{background:#755b3e}
@media(max-width:1020px){.jby-header-inline-search.is-open{width:min(29vw,260px);max-width:min(29vw,260px)}}
@media(max-width:600px){.jby-header-actions{gap:4px}.jby-header-inline-search{position:absolute;right:calc(100% - 32px);top:50%;transform:translateY(-50%);z-index:6;background:#faf9f7}.jby-header-inline-search.is-open{width:min(55vw,290px);max-width:min(55vw,290px);box-shadow:0 6px 18px #0001}.jby-header-inline-search input{font-size:16px}}
@media(prefers-reduced-motion:reduce){.jby-header-inline-search,.jby-header-search-submit{transition:none!important}}
/* P8.15: process imagery fills the usable card width; no narrow 180px column. */
.jby-p1v-module.jby-p1v-process .jby-process-step .jby-p3-media{width:clamp(82px,8vw,112px);height:auto;aspect-ratio:1/1;margin:0 0 14px;border:1px solid #e9e2d8;background:#f3eee7;;
width:min(100%,200px);height:auto;aspect-ratio:3/4;margin:0 0 23px;max-height:none;overflow:hidden;
width:100%;max-width:none;height:auto;aspect-ratio:3/4;margin:0 0 20px;}
.jby-p1v-module.jby-p1v-process .jby-process-step .jby-p3-media img{object-fit:cover;
width:100%;height:100%;object-fit:cover;}
@media(max-width:780px){.jby-p1v-module.jby-p1v-process .jby-process-step .jby-p3-media{width:100%;max-width:none}}
/* Consistent dual actions on every actionable card; title/old PDF link remain distinct. */

.jby-p3-card-actions .jby-p3-item-rfq{margin:0!important}
.jby-p3-card-view{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:41px;padding:10px 13px;border:1px solid #b9a58c;color:#443a30;text-decoration:none;font-size:12px;font-weight:700;transition:background-color .2s ease,transform .2s ease}
.jby-p3-card-view:hover{background:#f0eae1;transform:translateY(-2px)}
.jby-p3-card-view:focus-visible{outline:2px solid #9a8060;outline-offset:2px}
.jby-category-card .jby-p3-card-actions{margin:12px 0 0}
@media(prefers-reduced-motion:reduce){.jby-p3-card-view{transition:none!important;transform:none!important}}

/* FAQ opening clip must stay at 0 while WAAPI measures and animates; only after finish auto-height. */
.jby-faq-motion-ready .jby-p3-faq-answer-clip{will-change:height;;
overflow:hidden;contain:layout;;}
/* Footer flexible columns, including dedicated editable social icons. */
.jby-footer-custom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:clamp(22px,3vw,48px);align-items:start}
.jby-footer-custom-column{min-width:0}.jby-footer-custom-content{overflow-wrap:anywhere}
.jby-footer-socials a{display:inline-flex;gap:10px;align-items:center}
.jby-footer-social-icon{display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;width:28px;height:28px;font-size:9px;letter-spacing:.02em;font-weight:700;flex:none}
.jby-footer-logo img{max-width:100%;height:auto}

.jby-p3-carousel{container-type:inline-size}
/* P8.16 canonical component contracts: card grid, gallery, reviews and motion.
   Existing P3 markup/JS remain single behavior owners. Responsive contracts live here. */
html.jby-faq-transitioning{overflow-anchor:none}
.jby-p3-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:14px;
display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch;width:100%;margin-top:auto;padding-top:14px;}
.jby-p3-card-actions>:is(a,button){display:flex;min-width:0;width:100%;height:100%;min-height:43px;padding:10px 7px;text-align:center;justify-content:center;align-items:center;gap:6px;font-size:clamp(10px,.8vw,12px);line-height:1.35;white-space:normal}
.jby-p3-card-actions>:only-child{grid-column:1/-1}
.jby-p3-carousel:not(.jby-p3-carousel-reviews) .jby-p3-track,
.jby-p3-m06_product_slider.jby-p3-v-compact .jby-p3-track{grid-auto-columns:calc((100cqw - 54px)/4);gap:18px}
.jby-p3-carousel:not(.jby-p3-carousel-reviews) .jby-p3-item{padding:12px;display:flex;flex-direction:column;min-width:0}
.jby-p3-carousel:not(.jby-p3-carousel-reviews) .jby-p3-item .jby-p3-media{width:100%;aspect-ratio:4/3}
.jby-p3-carousel:not(.jby-p3-carousel-reviews) .jby-p3-item-copy{padding:17px 0 4px;display:flex;flex-direction:column;flex:1;align-items:stretch}
.jby-p3-carousel:not(.jby-p3-carousel-reviews) .jby-p3-item-copy h3{font-size:clamp(19px,1.5vw,23px);margin:7px 0 12px}
.jby-p3-slide-hint{color:#806e58;font-size:12px;line-height:1.4;text-align:right;margin:5px 0 14px}
.jby-p3-carousel-reviews .jby-p3-track{grid-auto-columns:clamp(285px,calc((100% - 52px)/3),470px);gap:26px;
grid-auto-columns:clamp(290px,calc((100% - 26px)/2.25),570px);gap:26px;
grid-auto-columns:calc((100cqw - 40px)/3);gap:20px;}
.jby-p3-review-card{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-width:0;min-height:270px;margin:0;padding:clamp(24px,2.8vw,38px);border:1px solid #e5ded5;background:#fff;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;
min-height:225px;padding:clamp(18px,2vw,26px);gap:18px;}
.jby-p3-review-text{font-family:var(--jby-serif);font-size:clamp(17px,1.55vw,22px);line-height:1.6;color:#363839;overflow-wrap:anywhere;
font-size:clamp(16px,1.25vw,19px);line-height:1.52;}
.jby-p3-review-avatar{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:linear-gradient(145deg,#d8c6b0,#f3ede5);color:#62503c;border:1px solid #e4d6c6;font-size:16px;font-weight:700;letter-spacing:.04em;
width:46px;height:46px;flex-basis:46px;font-size:13px;}
.jby-p3-carousel-controls{align-items:center;gap:10px;margin-bottom:19px;
display:flex;justify-content:flex-end;align-items:center;gap:10px;}
.jby-p3-carousel-controls button{appearance:none;width:40px;height:40px;display:grid;place-items:center;border:1px solid #c6bbaf;border-radius:50%;background:#fff;color:#2b2c2d;font-size:17px;line-height:1;padding:0;transition:transform .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease,opacity .22s ease;
display:inline-grid;place-items:center;padding:0;line-height:1;vertical-align:middle;}
.jby-p3-carousel-controls button svg{display:block;flex:none;width:19px;height:19px;overflow:visible;margin:0}
.jby-p3-carousel-reviews .jby-p3-carousel-controls{justify-content:center;margin:26px 0 0;
gap:11px;margin:24px 0 0;
justify-content:center;gap:11px;}
.jby-p3-carousel-reviews .jby-p3-carousel-controls button{width:50px;height:50px;border:1px solid #24282b;background:#24282b;color:#fff;font-size:23px;font-weight:600;box-shadow:0 5px 15px rgba(40,38,34,.13);transition:transform .2s ease,background-color .2s ease,color .2s ease;
width:44px;height:44px;padding:0;}
.jby-p3-detail-showcase .jby-p3-detail-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(26px,4vw,65px);align-items:center}
.jby-p3-detail-gallery,.jby-p3-detail-info{min-width:0}
.jby-p3-detail-main-frame{display:grid;place-items:center;overflow:hidden;background:#eee8df;width:100%;aspect-ratio:5/4;max-height:520px}
.jby-p3-detail-main-frame img,.jby-p3-detail-main-frame video{display:block;width:100%;height:100%;object-fit:contain;transition:transform .65s cubic-bezier(.22,.61,.36,1),filter .65s ease}
.jby-p3-detail-main-frame [hidden]{display:none!important}
.jby-p3-detail-thumbnail-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0 0}
.jby-p3-detail-image-button{appearance:none;cursor:pointer;border:1px solid #e2d8cb;padding:3px;background:#f8f6f3;min-width:0;aspect-ratio:4/3;overflow:hidden;transition:border-color .2s ease,transform .2s ease}
.jby-p3-detail-image-button[aria-pressed="true"],.jby-p3-detail-image-button:focus-visible{border-color:#856d4e;box-shadow:0 0 0 1px #856d4e}
.jby-p3-detail-image-button:hover{transform:translateY(-2px)}
.jby-p3-detail-image-button img{width:100%;height:100%;display:block;object-fit:contain}
.jby-p3-detail-info .jby-p3-intro{max-width:650px;margin-bottom:20px}
.jby-p3-detail-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:20px 0;padding:18px 0;border-top:1px solid #ddd3c7;border-bottom:1px solid #ddd3c7}
.jby-p3-detail-features>div{min-width:0;display:grid;gap:3px}
.jby-p3-detail-features strong{font:600 13px/1.5 var(--jby-sans);color:#42372d}
.jby-p3-detail-features small{color:#7b746c;font-size:12px}
.jby-p3-detail-actions{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.jby-p3-detail-actions>:is(a,button){margin:0;min-height:46px}
.jby-floating-top{position:fixed;bottom:clamp(20px,3vw,44px);right:clamp(18px,3.6vw,48px);z-index:65;display:flex;align-items:center;justify-content:center;gap:10px;min-width:47px;min-height:47px;padding:11px 15px;background:var(--jby-dark);color:#fff;border:1px solid rgba(255,255,255,.17);box-shadow:0 8px 28px rgba(25,25,25,.22);font-size:12px;font-weight:650;line-height:20px;letter-spacing:.035em;transition:background-color var(--jby-fast),transform var(--jby-fast);
opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px);transition:opacity .3s ease,visibility .3s ease,transform .3s ease,background-color .2s ease;}
.jby-floating-top.jby-top-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.jby-floating-top.jby-top-visible:hover{transform:translateY(-3px)}
@media(hover:hover) and (pointer:fine){
  .jby-p3-module:has(.jby-p3-split):hover .jby-p3-split .jby-p3-media img,
  .jby-p3-module:has(.jby-p3-split):focus-within .jby-p3-split .jby-p3-media img,
  .jby-p1v-editorial:hover .jby-editorial-art img,
  .jby-p3-detail-showcase:hover .jby-p3-detail-main-frame img{transform:scale(1.07);filter:saturate(1.05) contrast(1.03)}
  .jby-p3-module:has(.jby-p3-split) .jby-p3-split .jby-p3-media img,
  .jby-p1v-editorial .jby-editorial-art img{transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .7s ease}
}
@media(min-width:900px){.jby-p3-detail-showcase.jby-p3-v-media_right .jby-p3-detail-gallery{order:2}}
@media(max-width:1050px){
  .jby-p3-carousel:not(.jby-p3-carousel-reviews) .jby-p3-track,.jby-p3-m06_product_slider.jby-p3-v-compact .jby-p3-track{grid-auto-columns:calc((100cqw - 36px)/3)}
  .jby-p3-carousel-reviews .jby-p3-track{grid-auto-columns:calc((100cqw - 18px)/2);gap:18px}
}
@media(max-width:700px){
  .jby-p3-carousel:not(.jby-p3-carousel-reviews) .jby-p3-track,.jby-p3-m06_product_slider.jby-p3-v-compact .jby-p3-track{grid-auto-columns:85cqw;gap:14px}
  .jby-p3-carousel-reviews .jby-p3-track{grid-auto-columns:92cqw;gap:14px}
  .jby-p3-detail-showcase .jby-p3-detail-layout{grid-template-columns:minmax(0,1fr);gap:25px}
  .jby-p3-detail-features{grid-template-columns:1fr 1fr}
  .jby-p3-card-actions>:is(a,button){font-size:12px;min-height:46px}
}
@media(prefers-reduced-motion:reduce){
  .jby-p3-detail-main-frame img,.jby-p3-detail-image-button,.jby-floating-top{transition:none!important;animation:none!important}
  .jby-p3-module:has(.jby-p3-split) .jby-p3-media img{transform:none!important;filter:none!important}
}
