/* Shared public responsive layer, loaded after page-specific styles. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root{--gutter:32px}
body{word-wrap:break-word}
main>* , .hero-copy,.profile-columns>*,.auth-main>*,.join-page>*,.directory-row>*{min-width:0}
input,select,textarea{font-size:16px;max-width:100%;min-width:0}
button,.button{white-space:normal}
img{height:auto}
a:focus,button:focus,summary:focus{outline:2px solid #a983dc;outline-offset:3px}
html.pointer-navigation a:focus,html.pointer-navigation button:focus,html.pointer-navigation summary:focus{outline:none}
@supports selector(:focus-visible){a:focus:not(:focus-visible),button:focus:not(:focus-visible),summary:focus:not(:focus-visible){outline:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a983dc;outline-offset:3px}}
.site-header .account-link{display:inline-block;font-size:16px}
.site-footer{flex-wrap:wrap;line-height:1.7}
.site-footer>nav{flex-wrap:wrap;font-size:16px}
.site-footer small,.site-footer>span{font-size:14px}
.auth-help,.auth-privacy,.auth-security,.auth-story-list p,.auth-label-row>a{font-size:15px}
.auth-field label,.auth-tabs a,.auth-switch{font-size:16px}
.auth-story-bottom{font-size:12px}
.platform-main p,.profile-columns p{font-size:17px}
.platform-main h1,.profile-header h1{overflow-wrap:break-word}
.directory-row .row-actions{margin-left:0}
.factory-evidence{min-width:0}
.factory-evidence li{align-items:flex-start}
.evidence-state{font-size:14px}
.brand picture,.real-factory-logo picture{display:block;width:100%;height:100%}
.hero-visual picture{display:block;width:100%;height:100%}
.product-photo picture,.product-detail-image picture{display:block;width:100%}
.share-links a,.share-links button{min-height:48px}
@media(min-width:1101px){.site-header{gap:22px}.brand-caption{display:none}.site-header>nav{gap:22px}.header-actions{gap:18px}}
@media(min-width:681px) and (max-width:1100px){
 :root{--gutter:32px}
 .hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:390px;gap:22px}
 .hero h1{font-size:42px;line-height:1.12;letter-spacing:-1.5px}
 .hero-copy>p{font-size:19px;line-height:1.6}.hero-copy>p br{display:none}
 .hero-visual{height:300px}.hero-visual img{height:300px;width:100%}
 .visual-caption{display:none}.concept-label{font-size:12px;bottom:0}
 .popular{font-size:14px}.popular a{min-height:38px;display:inline-flex;align-items:center}
 .sourcing-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .sourcing-top{display:block}.search-modes{display:inline-flex;margin-top:20px}
 .sourcing-bottom{flex-wrap:wrap}.sourcing-actions{margin-left:auto}
 .supplier-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .category-inner{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
 .category-inner>a:nth-child(5),.category-inner>a:nth-child(6){display:flex}
 .category-inner>.all-categories{display:flex;grid-column:1/-1;border-left:0;border-top:1px solid #dedfe8;min-height:54px;flex-direction:row}
 .home-bottom{grid-template-columns:1fr}.home-bottom .join-panel{display:block}
 .process-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
 .profile-columns{grid-template-columns:1fr;gap:24px}.profile-facts{margin-top:0}
 .directory-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:22px;padding:24px}
 .directory-row .factory-evidence{grid-column:2;border-left:0;padding:18px 0;border-top:1px solid #e7e7ee;width:100%}
 .directory-row .row-actions{grid-column:2;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;width:100%;padding:0}
 .join-page{grid-template-columns:1fr;gap:32px;padding-top:40px}.join-copy{max-width:760px}
 .join-copy h1{font-size:46px}.join-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.join-benefits>div{display:block}.join-benefits .icon{margin-bottom:12px}
 .join-benefits h2{font-size:20px}.join-benefits p{font-size:17px}
 .join-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
 .auth-main{grid-template-columns:1fr;gap:32px;padding:36px 32px 48px;min-height:0}
 .auth-form-side{grid-row:1;padding:0}.auth-card{max-width:540px}
 .auth-story{min-height:0;padding:32px;max-width:760px;width:100%;margin:auto}.auth-story h2{font-size:34px}
 .auth-story-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}.auth-story-list>div{display:block}.auth-story-list .icon{margin-bottom:12px}.auth-story-bottom{margin-top:25px}
 .auth-story h2 br,.auth-story>p br{display:none}
 .product-detail{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px}.product-detail-image img{height:340px}
 .site-footer>nav{width:100%;margin:0;justify-content:flex-start;gap:16px 24px}
}
@media(max-width:1100px){
 .site-header{position:relative;height:80px;gap:16px;justify-content:space-between}
 .site-header .brand img{width:180px;height:44px}.brand-caption{display:none}
 .header-actions{margin-left:auto;gap:16px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #e7e7ee;border-radius:8px}
 .site-header>nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:18px 32px;border-bottom:1px solid #e7e7ee;box-shadow:0 12px 24px rgba(30,20,45,.09);z-index:100;font-size:18px;flex-direction:column;gap:0}
 .site-header>nav.open{display:flex}.site-header>nav a{padding:14px 0;min-height:48px}.site-header>nav .nav-mobile-action{display:block}
 .site-header>nav a[aria-current]:after{display:none}.header-actions>.button{display:none}
 .workspace-header{height:auto;min-height:80px}.workspace-header>nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;box-shadow:none;padding:0;border:0;order:3;font-size:16px}
}
@media(max-width:680px){
 :root{--gutter:20px}
 body{font-size:17px}.site-header{height:72px;padding-left:20px;padding-right:20px}.site-header .brand img{width:150px;height:37px}
 .header-actions{gap:8px}.site-header .account-link{display:none}.shortlist-label{display:none}.shortlist-link{min-height:44px}
 .site-header>nav{padding:14px 20px}.hero h1{font-size:38px;line-height:1.12;letter-spacing:-1.3px}.hero-copy>p{font-size:18px}.hero-copy>p br{display:none}
 .hero-visual{height:215px;min-height:215px}.hero-visual img{height:215px}.hero-visual picture{height:215px}
 .popular{font-size:14px}.popular a{padding:8px 12px}.search-form{padding-left:12px;gap:8px}.search-form input::placeholder{font-size:16px}
 .section-heading{flex-wrap:wrap;gap:14px}.section-heading>.text-link{max-width:none;min-width:0;font-size:16px}
 .category-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.category-inner>a:nth-child(5),.category-inner>a:nth-child(6){display:flex}
 .category-inner>.all-categories{display:flex;grid-column:1/-1;border-left:0;border-top:1px solid #dedfe8;min-height:50px;flex-direction:row}
 .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.process-grid strong{font-size:16px}
 .sourcing-top h2{font-size:25px}.filter-field label{font-size:16px}.sourcing-fields{gap:20px}
 .sourcing-actions{flex-wrap:wrap}.sourcing-submit{min-height:52px}.search-assurance p span{font-size:14px}
 .directory-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;padding:18px}.directory-row .real-factory-logo{width:72px;height:64px}
 .directory-row .directory-info h2{font-size:23px}.directory-row .directory-info p{font-size:16px}
 .directory-row .factory-evidence,.directory-row .row-actions{grid-column:1/-1;width:100%;margin:0}
 .directory-row .row-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.directory-row .button,.save-button{min-height:48px;font-size:16px}
 .auth-main{padding:28px 20px 40px}.auth-card h1{font-size:32px}.auth-label-row>a{font-size:14px}
 .auth-intro{font-size:17px}.auth-help,.auth-privacy,.auth-security{font-size:14px}.auth-tabs a{min-height:44px}
 .join-copy h1{font-size:36px}.join-form{grid-template-columns:1fr}.join-page{padding-top:30px}.join-full{grid-column:1}
 .platform-main{padding-top:28px;padding-bottom:40px}.platform-main>h1{font-size:32px;line-height:1.18}.product-detail-image img{height:280px}
 .profile-header h1{font-size:32px}.profile-header{gap:16px}.profile-columns p.lead{font-size:20px}
 .spec-list>div{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px}.spec-list dt,.spec-list dd{font-size:16px}
 .share-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.share-links strong,.share-links [role=status]{grid-column:1/-1}.share-links a,.share-links button{justify-content:flex-start;font-size:15px;padding:10px;min-width:0}
 .site-footer>nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;width:100%;font-size:16px}.site-footer>nav a{padding:8px 0;min-height:44px}
 .analytics-consent{padding:16px;bottom:12px;left:12px;width:calc(100% - 24px);font-size:14px}
 .age-card{margin:auto;padding:24px}.age-card h2{font-size:27px}.age-actions{margin-top:20px}
}
@media(max-width:360px){:root{--gutter:16px}.site-header{padding-left:16px;padding-right:16px}.hero h1{font-size:34px}.search-modes span{font-size:13px;padding:10px 5px}.search-modes .icon{display:none}.auth-main{padding-left:16px;padding-right:16px}.share-links a,.share-links button{font-size:14px}.join-copy h1{font-size:32px}}
/* Margin spacing for Safari versions without flex gap. Grid gaps still work. */
.no-flex-gap .header-actions>*+*,.no-flex-gap .site-header>nav>a+a{margin-left:16px}
.no-flex-gap .button>.icon,.no-flex-gap .share-icon{margin-right:8px}
.no-flex-gap .popular>a{margin:4px}.no-flex-gap .supplier-card>*+*,.no-flex-gap .profile-header>*+*{margin-left:16px}
.no-flex-gap .share-links>a,.no-flex-gap .share-links>button,.no-flex-gap .tags>span{margin:5px}
.no-flex-gap .age-actions>*+*{margin-left:12px}.no-flex-gap .auth-tabs>a+a{margin-left:28px}
.no-flex-gap .search-modes .icon,.no-flex-gap .search-assurance>.icon,.no-flex-gap .location>.icon{margin-right:8px}
.no-flex-gap .search-form>input{margin:0 8px}.no-flex-gap .sourcing-actions>*+*{margin-left:18px}
.no-flex-gap .site-footer>nav>a{margin-right:20px}.no-flex-gap .join-form .consent input{margin-right:10px}
.no-flex-gap .factory-evidence li strong{margin-left:12px;margin-bottom:4px}
@media(max-width:1100px){.no-flex-gap .site-header>nav>a+a{margin-left:0}}
@media(max-width:680px){.no-flex-gap .share-links>a,.no-flex-gap .share-links>button{margin:0}.no-flex-gap .site-footer>nav>a{margin-right:0}.no-flex-gap .profile-header>*+*{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@supports not (display:grid){.hero,.supplier-grid,.home-bottom,.sourcing-fields,.profile-columns,.product-grid,.product-detail,.auth-main,.join-page,.join-form,.category-directory,.directory-row{display:block}.sourcing-fields>*,.supplier-grid>*,.product-grid>*,.join-form>*,.directory-row>*{margin-bottom:20px}.auth-story{display:none}.join-copy{margin-bottom:30px}.factory-evidence{border-left:0;padding:20px 0}.category-inner,.process-grid{display:flex;flex-wrap:wrap}.category-inner>a,.process-grid>a{width:50%}}
/* Sourcing inquiry: contact preferences remain usable without JavaScript. */
.inquiry-contact{margin:28px 0;padding:24px;border:1px solid #dedbe6;min-width:0}.inquiry-contact legend{font-size:22px;font-weight:600}.inquiry-contact p{font-size:16px;line-height:1.6}.contact-options{display:flex;flex-wrap:wrap}.contact-options label{display:flex;align-items:center;min-height:48px;margin:0 24px 12px 0;font-size:17px}.contact-options input[type=checkbox]{width:20px;height:20px;margin:0 10px 0 0}.contact-fields input{font-size:17px;min-height:48px}.message dd{overflow-wrap:break-word;word-wrap:break-word}@media(max-width:680px){.inquiry-contact{padding:16px}.contact-options{display:block}}

.sourcing-inquiry-form{width:100%;max-width:1120px;margin-left:auto;margin-right:auto}.sourcing-inquiry-form fieldset{min-width:0}.sourcing-inquiry-form .factory-checkboxes label{min-height:48px;font-size:17px}.sourcing-inquiry-form .factory-checkboxes input{width:18px;height:18px;flex-shrink:0}.sourcing-inquiry-form input,.sourcing-inquiry-form textarea{max-width:100%}
.sourcing-inquiry-form .factory-checkboxes{max-height:320px;overflow-y:auto;overscroll-behavior:contain;padding:4px 8px}.sourcing-inquiry-form .factory-checkboxes label{margin-top:4px;margin-bottom:4px;padding-top:4px;padding-bottom:4px}
.inquiry-pick{margin:12px 0}.inquiry-pick-button{display:inline-flex;align-items:center;min-height:44px;background:#fff;border:1px solid #d9cce9;border-radius:6px;color:#6236a2;padding:10px 14px;font:inherit;font-size:16px;cursor:pointer;text-align:left}.pick-square{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid #8050b9;border-radius:3px;margin-right:10px;flex-shrink:0}.inquiry-pick-button[aria-checked=true]{background:#f3edf9}.inquiry-pick-button[aria-checked=true] .pick-square{background:#7545c5;color:#fff}.inquiry-tray{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 4%;background:#f6f2fa;border-bottom:1px solid #e3daee;font-size:16px}.inquiry-tray a{font-weight:600;color:#6737aa}.inquiry-compose{display:grid;grid-template-columns:minmax(280px,0.8fr) minmax(0,1.2fr);gap:48px;padding:28px 0 60px}.inquiry-selected{border:1px solid #e2dbe9;border-radius:10px;padding:24px;align-self:start}.inquiry-selected-row{padding:20px 0;border-bottom:1px solid #eee}.inquiry-selected-row h3{font-size:19px;margin:8px 0}.inquiry-compose .wide-form{max-width:none}.inquiry-compose h2{font-size:25px}.inquiry-compose p{font-size:17px;line-height:1.65}.product-card>.inquiry-pick{padding:0 18px 10px}@media(max-width:760px){.inquiry-compose{display:block}.inquiry-selected{margin-bottom:30px;padding:18px}.inquiry-tray{font-size:15px}.inquiry-tray .button{padding:10px 12px;font-size:15px}}
