/* Shared JFL identity and readable controls; loaded after the existing design. */
:root{--jfl-mobile-inset:20px;--jfl-mobile-line:#cbd7ca}
*,*::before,*::after{box-sizing:border-box}
.jfl-logo,.brand-mark--official img{display:block;width:72px;height:36px;max-width:none;object-fit:contain;flex:0 0 auto}
.brand-mark--official{display:block!important;width:72px!important;height:36px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;line-height:0!important}
.brand-mark--official img{width:100%;height:100%}
.jfl-brand{display:inline-flex;align-items:center;gap:14px;letter-spacing:0;line-height:1.5;font-size:14px}
.jfl-brand>span{font-size:14px;color:inherit;letter-spacing:.02em}
:is(button,summary,select,input:not([type=checkbox]):not([type=radio]):not([type=hidden])){min-height:44px}
:is(button,select,input,textarea){font-size:16px}
:is(button,a,summary):focus-visible{outline:3px solid #977338;outline-offset:4px}
:is(h1,h2,h3,h4){text-wrap:pretty;overflow-wrap:break-word}
:is(p,li,dt,dd,label,button,a,summary){overflow-wrap:break-word}
:is(input,select,textarea,fieldset){min-width:0;max-width:100%}
:is(.button,.action,.omo-button,.header-cta,.header-contact,.header-inquiry){white-space:normal;line-height:1.6;min-height:48px}
:is(.footer,.site-footer,footer) a{min-height:44px;display:inline-flex;align-items:center;line-height:1.7}
:is(.footer,.site-footer,footer) :is(p,a,small,span){overflow-wrap:anywhere}
html[dir=rtl] :is(h1,h2,h3,h4){letter-spacing:0;word-break:normal}
@media(max-width:760px){
 :is(.site-header,.header){min-height:76px;padding:14px var(--jfl-mobile-inset);gap:12px;align-items:center}
 :is(.site-header,.header) .brand{min-width:0;gap:10px}
 :is(.site-header,.header) :is(.brand-sub,.brand-name,.brand>span:not(.brand-mark)){display:none}
 :is(.header-actions,.header-tools){min-width:0;gap:8px}
 :is(.language-toggle,.language-open,.language-menu>summary,.menu-toggle){min-height:48px;font-size:14px;padding:10px 12px}
 #current-language{white-space:normal;overflow-wrap:anywhere}
 :is(.section-wrap,.section-shell,.wrap,.omo-wrap){width:calc(100% - var(--jfl-mobile-inset)*2);max-width:1160px;margin-inline:auto;padding-inline:0}
 :is(h1,h2,h3,h4){max-width:100%;line-break:strict;word-break:normal;hyphens:auto}
 :is(.hero h1,.hero-heading h1){font-size:clamp(30px,8.2vw,38px);line-height:1.45;letter-spacing:-.025em}
 :is(.hero-lead,.hero-description,.lead){font-size:16px;line-height:1.85}
 :is(.hero-actions,.hero-buttons){display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:none}
 :is(.hero-actions,.hero-buttons)>:is(a,button){width:100%;min-height:52px;padding:14px 18px;font-size:16px;line-height:1.6;justify-content:space-between;text-align:start}
 :is(.hero-actions,.hero-buttons)>.text-link{width:fit-content;max-width:100%;align-self:flex-start;padding:8px 0;min-height:44px;justify-content:flex-start}
 :is(.quick-specs,.quote-facts,.product-facts,.b2b-quick-facts){display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 :is(.quick-specs,.quote-facts,.product-facts,.b2b-quick-facts)>div{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding-block:14px;border-top:1px solid var(--jfl-mobile-line)}
 :is(.quick-specs,.quote-facts,.product-facts,.b2b-quick-facts) dt{font-size:14px;line-height:1.6;margin:0;color:#526352}
 :is(.quick-specs,.quote-facts,.product-facts,.b2b-quick-facts) dd{font-size:16px;line-height:1.75;margin:0}
 :is(.form-grid,.field-row,.form-row,.context-grid,.entry-fields,.mode-options,.reorder-fields .form-row){grid-template-columns:minmax(0,1fr)!important;gap:20px}
 :is(.inquiry-grid,.inquiry-layout,.inquiry,.commerce-layout){grid-template-columns:minmax(0,1fr);gap:28px}
 :is(.inquiry-form,.form-panel,.inquiry-form-wrap){min-width:0;padding:24px 16px}
 :is(.inquiry-form,.form-panel,.inquiry-form-wrap) :is(label,legend){max-width:100%;line-height:1.7}
 :is(.inquiry-form,.form-panel,.inquiry-form-wrap) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){width:100%;min-width:0;font-size:16px;line-height:1.6}
 :is(.form-actions,.draft-actions,.brief-actions){display:flex;flex-direction:column;align-items:stretch;gap:12px}
 :is(.form-actions,.draft-actions,.brief-actions)>:is(a,button){width:100%;min-height:48px;white-space:normal}
 :is(.footer-top,.footer-bottom,.footer-inner,.footer-main,.site-footer){display:flex;flex-direction:column;align-items:flex-start;gap:20px}
 :is(.footer,.site-footer,footer){padding-block:40px}
 :is(.footer,.site-footer,footer) :is(.brand,.wordmark,.footer-brand){max-width:100%;min-height:48px}
 :is(.footer,.site-footer,footer) :is(p,a,small){font-size:14px;line-height:1.8}
 :is(.footer,.site-footer,footer) :is(.translation-note,.footer-note){text-align:start}
 :is(.footer,.site-footer,footer) .related-sites{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
 :is(.footer,.site-footer,footer) .brand-name{font-size:12px;line-height:1.6;letter-spacing:.02em}
 :is(.footer,.site-footer,footer) .brand-name span{font-size:11px;letter-spacing:.02em}
 :is(.language-menu-panel,.language-menu__panel){max-width:calc(100vw - 24px)}
 :is(.language-menu-options,.language-options,#language-options){grid-template-columns:repeat(2,minmax(0,1fr))}
 :is(.language-menu-options,.language-options,#language-options)>:is(a,button){min-height:52px;font-size:14px;line-height:1.6}
}
@media(max-width:359px){:root{--jfl-mobile-inset:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

@media(max-width:760px){
 .hero{padding-block:32px 40px;gap:0}
 .hero h1{font-size:clamp(30px,8.2vw,38px);line-height:1.5;margin-bottom:20px}
 .hero-lead{font-size:16px;line-height:1.85}
 .hero-actions{margin-block:24px}
 .hero-image{width:100%;max-width:340px;align-self:center;margin:0}
 .hero-image img{height:auto;object-fit:contain}
 .image-caption{font-size:14px;line-height:1.8;margin-top:12px}
 .product-facts{width:100%;margin-top:24px}
 .product-facts>div{grid-template-columns:1fr;gap:5px}
 .site-footer{width:calc(100% - var(--jfl-mobile-inset)*2)}
 .site-footer>.text-link{align-self:flex-start}
 .site-footer>.brand{gap:14px;align-items:center;direction:ltr}
 .site-footer .brand-mark{font-size:0;letter-spacing:0}
 .use-row{grid-template-columns:1fr;gap:18px}.use-row figure{width:100%;max-width:320px}
}

/* Phase 2: product and uses first; all trade conditions remain below the uses. */
.hero{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:48px;padding-block:32px}
.hero-image{max-width:330px;justify-self:end}
.hero-actions{margin-top:24px}
.nori-trade-details{padding-block:20px 32px}
.nori-trade-details .hero-note{margin:0 0 16px}
.nori-trade-details .product-facts{margin:0}
.nori-trade-details .jfl-wholesale-policy{width:100%;margin:0;padding:20px 0 0;border:0}
#uses{scroll-margin-top:96px}
@media(max-width:760px){
 .hero{grid-template-columns:minmax(0,1fr);gap:0;padding-block:24px}
 .hero h1{font-size:clamp(30px,8vw,36px);line-height:1.45;margin-bottom:16px}
 .hero .eyebrow{margin-bottom:12px}
 .hero-lead{line-height:1.8}
 .hero-actions{margin-block:18px 20px;gap:8px}
 .hero-image{max-width:none;width:100%;margin:0;justify-self:center}
 .hero-image img{width:230px;max-width:100%;height:auto;object-fit:contain;margin-inline:auto}
 .hero-image .image-caption{margin-top:10px;font-size:14px;line-height:1.8}
 .uses{padding-top:8px;padding-bottom:20px}
 .use-row{grid-template-columns:88px minmax(0,1fr);gap:16px;padding-block:20px}
 .use-row figure{width:100%;max-width:none}
 .use-copy h3{font-size:21px;line-height:1.5}
 .use-copy .text-link{display:inline-flex;align-items:center;min-height:44px;line-height:1.7}
 .use-details{margin-top:4px}
 .nori-trade-details{padding-block:20px 24px;border-top:1px solid var(--line)}
 .nori-trade-details .product-facts>div{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:14px;padding-block:14px}
 .nori-trade-details .jfl-wholesale-policy{display:block;padding-top:18px}
}
@media(max-width:359px){.use-row{grid-template-columns:78px minmax(0,1fr);gap:14px}.nori-trade-details .product-facts>div{grid-template-columns:minmax(0,1fr);gap:4px}}
